ЗаписиTOP 7 поисковых фраз (ответы на вопросы)

Всем привет!

Просматривая статистику по поисковым запросам, которые приводят на мой сайт, выявил популярные вопросы.

1 – shell du посчитать количество файлов

Вероятно, вас интересует, как посчитать количество файлов с помощью команды du (disk usage). Вообще, не очень понятен смысл считать количество файлов командой du, т.к. она показывает количество используемого места на диске. Обычно я считаю количество файлов с помощью команды find. Но раз вы так хотите, то и это осуществимо.

Для начала, чтобы посчитать количество файлов, нужно вывести все файлы в выбранном каталоге командой du. Для этого служит параметр -a или –all. Нижеприведенная команда показывает все файлы в каталоге /var

du -a /var
du --all /var

Потом нужно все эти файлы посчитать. Этим займется команда wc. Эта команда печатает количество строк, слов и байт в указанном файле, но в данном случае она будет брать не файл а входной поток. Т.е. вывод предыдущей команды она воспринимает как текстовый файл, и считает в нем строки, т.к. у нас каждый файл на новой строке. Чтобы команда wc считала исключительно строки, добавляем параметр -l (–lines). Выглядеть это будет так:

du -a /var | wc -l
du --all /var | wc --lines

У меня в /var получилось 24009 файлов. Кстати, если вы хотите подсчитать суммарный размер файлов, используйте команду du с флагом -s. И чтобы вывод был не в байтах, а в человечном виде (например в гигабайтах), нужно использовать еще флаг -h. Так можно узнать суммарный размер любого каталога.

du -sh /var
du --summarize --human-readable /var

2 – наложить патч на файл linux

Как это делается было объяснено в статье Создание и наложение патчей. Если что-то не понятно, пишите там в комментарии, я отвечу. Возможно вам придется поставить пакет patch чтобы установить недостающие компоненты, если что-то не работает.

3 – не запускается web клиент openerp

Здесь нужно смотреть, какие при этом он выдает ошибки в консоли терминала. Как правило не установлены нужные модули (зависимости). Посмотрите еще раз в документации по установке на сайте OpenERP (ссылка для версии 6.0.x, для 6.1 нужны другие зависимости)

4 – bash количество каталогов

Ну, это совсем просто. Нам потребуется использовать две команды в связке. Первая выводит все каталоги в нужной папке (type=directory), вторая, уже описанная в этом посте выше, считает количество строк в выводе и выводит результат.

find /var -type d | wc -l

5 – debian denwer

Извините, но зачем вам denwer на debian, когда полноценный веб-сервер ставится за одну минуту? Точно не уверен, но мне кажется что denwer под debian не существует, по крайней мере необходимости в нем на linux нет. Наберите команду:

aptitude update && aptitude install apache2 php5 mysql-server php5-mysql

можно еще добавить нужные вам библиотеки, например я обычно еще добавляю php5-gd для уменьшения изображений.

6 – linux bash shell команды

Постоянно обновляемый и пополняемый список полезных linux bash shell команд приведен на странице Полезные команды Linux

7 – кто работал с openerp

OpenERP сообщество в России еще не особо большое. Можно посмотреть в российской ветке форума OpenERP.

Еще есть arterp.ru – по ссылке имеется список клиентов с успешными внедрениями в России. Еще посетите wiki.arterp.ru, там есть инструкции со скриншотами и красивые схемы движения материалов :)

Блоги наших зарубежных коллег:
mohsinpage.wordpress.com
www.openerphell.com

С OpenERP также работаю я :)

  • мои записи по OpenERP можно посмотреть в этом блоге по тегу openerp.
  • написанные мной модули и патчи к OpenERP можно посмотреть на GitHub.

С OpenERP можешь начать работать и ты! Дерзай и все получится.

ЗаписиBash команда watch

Потребовалось в реальном времени видеть количество файлов в папке, чтобы видеть как они прибавляются и сколько еще ждать.

Нашел полезную команду watch, которая через заданный интервал повторяет нужную вам команду и отображает ее результат. Используется так:

watch -n количество_секунд "ваша команда"

В моем случае получилось так:

watch -n 1 "ls -1 | wc -l"

Посмотреть другие полезные команды Linux можно на странице Полезные команды Linux

ЗаписиПолезные команды Linux

Здесь я буду собирать нужные и полезные мне shell (bash) команды, потому что обычно со временем они забываются, и потом, когда они снова нужны, я уже не могу их вспомнить. Эта запись будет обновляться каждый раз, как я буду сталкиваться с полезными командами.

#Выводит (не рекурсивно) количество файлов и папок в текущей папке. Первая команда выводит по одному файлу
#в строку, а вторая считает количество этих строк. Здесь не учитываются скрытые файлы, начинающиеся с точки.
#Хотите их тоже учитывать - вместо ls -1 напишите ls -al, но не забудьте из результата вычесть 2, т.к. в выводе
#первые две строки займут текущий каталог и каталог-родитель (. и ..)
ls -1 | wc -l
 
#То же что и выше, только включая скрытые файлы и каталоги . и .., т.е. реальное количество всех файлов в папке
#будет на 2 меньше, чем выведет команда
ls -1a | wc -l
 
#Считаем, сколько места на диске занимает каталог. Выводим в человечном виде - не в байтах, а в Мб или Гб.
du -sh /var
 
#Кладем папку в архив .tar.gz, который создается в текущем каталоге
tar cvfz archive.tar.gz dir_name
 
#Распаковываем содержимое архив .tar.gz в текущий каталог
tar xvfz archive.tar.gz
 
#Просмотр файла с возможностью скроллинга вверх и вниз
less file.txt
 
#Просмотр последних записей в лог-файле
tail file.txt
 
#Просмотр скорости чтения диска
hdparm -t /dev/sda
 
#Создать патч
diff -uN file.orig file.new > file.patch
 
#Наложить патч
patch file.orig < file.patch
 
#Просмотр количества файлов в папке с обновлением в реальном времени
watch -n 1 "ls -1 | wc -l"
 
#Количество подкаталогов в указанном каталоге
find /var -type d | wc -l

ЗаписиМой боевой набор для веб-разработки на PHP

Конечно, в первую очередь мозги, глаза и руки :)

Но есть еще несколько вещей:

  • PC: стационарный, с операционной системой Debian Linux и монитором >= 17″
  • локально установленные Apache, MySQL, PHP, phpMyAdmin adminer.php для тестирования написанного кода
  • IDE: NetBeans
  • Git через SmartGit
  • частенько выручает терминал

 

Когда-то, лет 5 назад, у меня стояла WindowsXP, Denwer и Notepad++. Если сейчас ваш набор примерно такой – советую переосмыслить свои взгляды на удобную веб-разработку. Конечно, ничего ужасного нет и в этом варианте, но поработав в нормальной IDE и заточенной под веб операционной системе, как-то совсем не возникает желания хотя бы на секунду поменять все назад :)

ЗаписиBash скрипт для дампа MySQL баз

У каждого владельца веб-сервера с базами данных MySQL встает вопрос о резервном копировании. Конечно, это можно делать вручную, например через phpMyAdmin или утилиту mysqldump, но зачем, если можно поставить в Cron на автоматическое выполнение? :)

Ниже представляю мой вариант (его выдача гораздо человечней, чем у большинства простеньких bash скриптов).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/bin/sh
NAME=mysql
PERIOD=day
 
DIR=/var/backup/
 
BASES="base1
base2
base3
base4
base5"
 
USER=root
PASSWD="password"
 
 
##### BACKUP NOW #####
 
backupDB() {
        echo -n "Dumping $BASENOW..."
        ((mysqldump -u $USER -h localhost -p$PASSWD $BASENOW | gzip -c > $DIR$PERIOD.$NAME.$BASENOW.sql.gz) \
        && echo -n "ok "; du -h $DIR$PERIOD.$NAME.$BASENOW.sql.gz | awk '{print($1)}') \
        || echo "ERROR!!!"
 
}
 
echo -e "\n## Dumping MySQL Databases ##"
 
for BASENOW in $BASES
do
        backupDB
done