Полезные команды Linux


Привет! Сегодня я хочу поведать о наиболее употребляемых и полезных командах linux, которые несомненно пригодятся в повседневной работе. Все, что будет описано ниже работает практически во всех дистрибутивах. И так товарищи, приступим.

Для начала необходимо узнать, что за shell у нас, делаем так:
superserver:~# echo $SHELL
/bin/bash

ну вот, видим, что у нас bash. Вообще говоря bash очень мощная оболочка, которая имеет много полезных "плюшек" - автодополнение например (tab).

Очень часто бывает, что я не могу вспомнить местонахождение того или иного файла и тут мне на помощь приходит команда locate. Она ищет файлы по имени, для поиска locate использует базу данных - заранее сформированную. Вот пример использования:
superserver:~# locate fstab
/etc/fstab
/lib/udev/fstab_import
/usr/include/fstab.h
/usr/share/doc/m4/examples/fstab.m4
/usr/share/doc/mount/examples/fstab
/usr/share/doc/util-linux/examples/fstab.example2
/usr/share/man/man5/fstab.5.gz


Мы видим, что в результате мы получили все файлы в имени которых встречается fstab. Перед применением рекомендуется обновить базу поиска locate при помощи команды "updatedb".

Я, как администратор очень часто использую команду tail, которая показывает последние десять строк указанного файла, например:

superserver:~# tail /var/log/dmesg
[ 16.248199] EXT3 FS on dm-1, internal journal
[ 16.901688] loop: module loaded
[ 17.174548] Adding 2650684k swap on /dev/mapper/ddf1_Mirror5. Priority:-1 extents:1 across:2650684k
[ 18.491253] NET: Registered protocol family 10
[ 18.491253] lo: Disabled Privacy Extensions
[ 18.491253] ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 18.491253] ADDRCONF(NETDEV_UP): eth1: link is not ready
[ 19.422378] tg3: eth0: Link is up at 100 Mbps, full duplex.
[ 19.422378] tg3: eth0: Flow control is on for TX and on for RX.
[ 19.422378] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready


очень удобно для просмотра последних событий, но она также позволяет просматривать их в реальном времени для этого используем ключ -f.
superserver:~# tail -f /var/log/squid/access.log


незаменимо при просмотре логов squid.

Ещё я очень часто использую cat совместно с grep - ну очень нужная конструкция получается, например:
superserver:~# cat /var/log/nginx/access.log | grep artcom-ufa.ru
95.24.165.184 - - [24/Aug/2011:17:12:30 +0600] "GET /public/themes/main/print.css HTTP/1.0" 200 0 "http://artcom-ufa.ru/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; MRA 4.3 (build 01218))"
176.14.228.42 - - [24/Aug/2011:17:12:31 +0600] "GET /public/themes/main/js/jquery-1.4.2.min.js HTTP/1.0" 200 72174 "http://artcom-ufa.ru/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; MRA 4.3 (build 01218))"
93.80.121.92 - - [24/Aug/2011:17:12:37 +0600] "GET /public/themes/main/js/colorbox/colorbox.css HTTP/1.0" 200 4686 "http://artcom-ufa.ru/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; MRA 4.3 (build 01218))"
95.28.5.128 - - [24/Aug/2011:17:12:37 +0600] "GET /public/themes/main/js/colorbox/jquery.colorbox-min.js HTTP/1.0" 200 9284 "http://artcom-ufa.ru/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; MRA 4.3 (build 01218))"


Здесь, результат работы cat, при помощи конвейера (pipe) передается на вход команде grep, которая отфильтровала файл и показала только необходимые нам записи содержащие искомый набор символов.

Приведенная ниже команда показывает всю информация о системе, такую, как: имя, версию ядра, дату компиляции, тип процессора.
superserver:~# uname -a
Linux superserver 2.6.26-1-686 #1 SMP Fri Mar 13 18:08:45 UTC 2009 i686 GNU/Linux


Для просмотра размеров файловых систем применяем команду df:
superserver:~# df
Файловая система 1K-блоков Исп Доступно Исп% смонтирована на
/dev/sda1 330215 165305 147861 53% /
tmpfs 3839092 0 3839092 0% /lib/init/rw
udev 3834352 196 3834156 1% /dev
tmpfs 3839092 0 3839092 0% /dev/shm
/dev/sda8 61378588 184944 58075772 1% /tmp
/dev/sda5 19223252 957576 17289192 6% /usr
/dev/sda6 432555864 887496 409695788 1% /var


без опций df покажет размер в килобайтах, для удобства используем опцию -h
superserver:~# df -h
Файловая система Разм Исп Дост Исп% смонтирована на
/dev/sda1 323M 162M 145M 53% /
tmpfs 3,7G 0 3,7G 0% /lib/init/rw
udev 3,7G 196K 3,7G 1% /dev
tmpfs 3,7G 0 3,7G 0% /dev/shm
/dev/sda8 59G 181M 56G 1% /tmp
/dev/sda5 19G 936M 17G 6% /usr
/dev/sda6 413G 867M 391G 1% /var
/dev/sda7 413G 36G 357G 9% /www
/dev/sdb1 493G 277G 191G 60% /bu1


Чтобы узнать сколько места на диске занимает определенный файл используйте команду du:
superserver:~# du -h /home/
2,0K /home/ftp
7,0K /home/artur
2,0K /home/rinat/.ssh
11K /home/


для вывода суммарной информации существует опция -s
superserver:~# du -hs /home/
11K /home/


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

http://www.artcom-ufa.ru/posts/2011/08/25/poleznie-komandi-linux

Обновлено: 13.03.2015