Мини-справочник по командам UNIX Печать
Добавил(а) microsin   

Как и большинство информации на этом сайте, этот справочник был создан для собственного удобства - чтобы быстро вспомнить, как называется команда, а потом при необходимости обратиться к справке man. Подавляющее больщинство команд подойдет и для других систем семейства Unix. Надеюсь, справочник пригодится и Вам.

adduser добавление нового пользователя в систему.

apache2 -k start запуск веб-сервера Apache.

bash более удобный командный интерпретатор, чем использующийся по умолчанию, стандартный sh.

boot0cfg конфигуратор начального загрузчика FBSD.

cat мощная команда как для вывода файлов на экран (альтернатива more), так и для создания новых файлов. Намного удобнее, чем паленый текстовый редактор vi. Команда cat /etc/issue выдает информацию о системе.

Например, так можно узнать количество ядер в системе:

~$ cat /proc/cpuinfo | grep 'cpu cores'
cpu cores	: 4

cd меняет текущую директорию. Синтаксис cd каталог. В качестве каталога может быть также / (корневой каталог), .. (родительский каталог), . (текущий каталог, хотя его указывать для команды cd нет смысла).

chgrp chown chmod три команды, меняющие у файлового объекта (файла, папки, вложенных папок и файлов) соответственно группу (group), владельца (owner), прав доступа (mode). Для того, чтобы команда применялась на вложенные файлы и папки, нужно вызывать команды с опцией -R. Пример смены группы: chgrp -R < группа >. Напомню, что права, группу и владельца на файлы и каталоги можно посмотреть командой ls -l.

chmod изменение прав на файлы.

clear очищает экран консоли.

cmp сравнение файлов. См. также diff.

cp копирование, mv - перемещение файла, rm - удаление файла, папки или группы файлов и папок, rmdir - удаление пустого каталога (-p с подкаталогами).

cut вывод частей строк из текстовых файлов. Пример вырезания только второго поля из строки, разделитель полей - пробел: cut -f2 --delimiter=" " file1.txt > file2.txt.

date получение текущей даты и/или времени. Часто используется в скриптах для генерации уникального имени файла, или имени, содерщего информации о дате.

dd клонирование дисков.

df просмотр смонтированных дисков. Пример просмотра сколько осталось свободного места: df -m. См. также du.

dhclient DHCP клиент. Его вызов без параметров пытается переконфигурировать все сетевые интерфейсы. Чтобы не поломать систему, в качестве параметра нужно как минимум указывать имя сетевого интерфейса (их узнать можно командой ifconfig без параметров).

dmesg выдаёт список сообщений загрузки. Очень полезно для просмотра в консоли ssh тех сообщений, которые вываливаются по умолчанию на tty при подключении новых устройств (например USB).

du просмотр статистики по использованию диска. Например (-h показать в человеческом формате с глубиной подпапок 2): du -h -d2 | more.

echo вывод содержимого переменной или сообщения. Частый гость в скриптах.

fdformat форматирование floppy-дисков.

find программа поиска файла. Пример поиска файла crontab рекурсивно по всем директориям, начиная с корневого каталога: find / -name crontab.

fmt простое форматирование и обработка текста. Более сложная обработка текста - sed и awk.

fsck проверка дисков.

ftp ftp-клиент.

grep фильтр для отображения текста и результатов вывода другой программы. Может использовать регулярные выражения. См. также fgrep и egrep.

gzip архиватор, см. также bzip2.

halt команда для остановки системы. Команда halt -n подавляет системный вызов sync при останове.

head вывод первых строк файла.

history просмотр листинга ранее введённых в консоли команд.

host несет в себе функции nslookup от Windows.

hostname позволяет узнать имя текущей машины.

iconv мощный перекодировщик (из одной кодировки в другую) текстовых файлов.

ifconfig конфигурирование параметров сетевого интерфейса, получение параметров сетевых интерфейсов (имени, состояния, MAC-адреса).

ipnat утилита, реализующая подсистему NAT.

killall посылка сигналов демонам и программам. См. также kill.

ldd full_path_to_binary_program_file показывает зависимости для программы - какие библиотеки или модули использует программа, и где они находятся.

ln делает жесткие ссылки (hard link), а также мягкие (с опцией -s) ссылки. См. также команду ls.

locate быстрый поиск файла по предварительно сформированной базе данных. См. также updatedb.

logger средство для занесения записей в syslog с командной строки.

ls показывает список содержимого директории (каталога). Позволяет просматривать права и владельцев, делать мягкие ссылки (soft или symbolic link) на файлы и папки. Синтаксис ls [-опции] [каталог]. Примеры опций: -F, -laF, -s, -l. См. также команду ln.

lsof утилита, которая позволяет вывести подробную информацию о работающем процессе, какие файлы им открыты и используются. Часто применяется для анализирования подозрительных действий в системе. Пример (подозрительный процесс test имеет идентификатор 19378):

myhost:/# lsof -p 19387
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
test 19387 www-data cwd DIR 182,877873 4096 2 /
test 19387 www-data rtd DIR 182,877873 4096 2 /
test 19387 www-data txt REG 182,877873 282008 652815 (deleted)/tmp/test
test 19387 www-data 0u CHR 1,3 1050121 /dev/null
test 19387 www-data 1u CHR 1,3 1050121 /dev/null
test 19387 www-data 2u CHR 1,3 1050121 /dev/null
test 19387 www-data 3r REG 182,877873 5630672 927496 /usr/lib/cgi-bin/php5
test 19387 www-data 4r REG 247,195 0 4026532091 /proc/stat
test 19387 www-data 5u sock 0,6 2140320115 can't identify protocol

mail консольный почтовый клиент. Часто используется для чтения системной почты с разными предупреждающими сообщениями, которую FreeBSD отправляет пользователю root.

make программа для сборки и установки пакетов.

man система справки по командам. Синтаксис man [раздел] команда или man команда. Раздел указывается в виде номера.

mc Midnight Commander - аналог файлового менеджера Norton Commander. Для новичка - это первейшая программа, которую следует установить.

mcedit удобный текстовый редактор, который устанавливается вместе с Midnight Commander.

mkdir создает папку.

more основное средство для постраничного вывода на экран текста (содержимое файла или вывода команды). Синтаксис more файл. См. также less и cat.

mount монтирование файла устройства в нужную папку. См. также mount_cd9660.

mpd демон, обслуживающий PPP-соединения. Позволяет устанавливать VPN-соединения, например, с провайдерами Интернет.

netstat просмотр информации по сетевой подсистеме. Часто используется для просмотра маршрутов и состояния сетевых интерфейсов. Например, netstat -a показывает статистику сетевых соединений, с адресами и портами. С опцией netstat -na без символьных имен (работает намного быстрее). Просмотр маршрутов netstat -rn.

nmap сканер портов и хостов. Это вторая программа, которую стоит поставить.

nslookup проверка работы серверов DNS - можно посылать DNS запросы в интерактивном режиме.

passwd смена пароля. Команда chpass запускает vi с открытым файлом информации для root.

perl запуск скриптов на выполнение на языке Perl (расширение .pl).

php -v можно узнать версию установленной подсистемы php:

PHP 5.2.6-1+lenny9 with Suhosin-Patch 0.9.6.2 (cli) (built: Aug 4 2010 06:06:53)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies

ping определение доступности хоста по IP.

pkg_add установка пакета. См. также pkg_info, pkg_delete.

ps просмотр запущенных процессов. Опция -ax выводит также список запущенных демонов. Команду ps -ax удобно использовать совместно с grep или more.

pwd показывает текущую директорию (каталог).

quit и exit используются для выхода из программы. Можно также использовать Ctrl+C или Ctrl+Break.

reboot команда для перезагрузки. Аналог shutdown -h now.

rmuser удаление пользователя из системы.

route управление маршрутами.

scp secure copy program - утилита для защищенного копирования файлов по протоколу SSH. Как пользоваться - см. статью [1].

script сохранить в файл работу в консоли.

service скрипт в Red Hat Linux, который позволяет посмотреть статус сервисов (service --status-all), а также остановить, запустить и перезапустить их (например service smb restart). Под сервисами понимаются демоны.

shutdown команда для остановки системы. Примеры: shutdown -h now (выключить компьютер сейчас), shutdown -r 09:30 "Reboot for maintenance" (перегрузить в 9.30 и разослать сообщение пользователям).

smbclient подключение к общим сетевым папкам Windows (Samba-клиент).

sockstat -4 показывает открытые TCP сокеты.

sort сортировка текстового файла.

ssh ssh-клиент.

su средство смены логина. Обычно используется для перехода к выполнению административных функций.

sysctl нужна для просмотра и установки переменных системы.

tail вывод хвоста файла. Чрезвычайно удобно следить за изменениями файла, например, логами. Пример: tail -f файл. См. также head.

tar объединение файлов и каталогов в один файл (обычно для архивирования или записи на ленту).

tcpdump снифер. См. также tethereal.

tee перенаправление клавиатурного ввода в файл. Удобная замена текстовому редактору в том случае, когда нужно в putty что-то скопировать из буфера обмена Windows в файл на *nix. Пример: tee имя_файла.txt, после чего жмем Ctl+V (вставка из буфера обмена в консоль putty) и потом Ctrl+C (окончание работы для tee). В результате получаем в текущем каталоге файл имя_файла.txt с содержимым буфера обмена.

telnet telnet-клиент.

time позволяет измерить время работы скрипта или программы.

top просмотр запущенных процессов, а также сколько они занимают места в памяти. Программа top после выполнения остается загруженной, и постоянно обновляет список процессов. Кроме того, программа показывает загруженность процессора, использование памяти, использование swap-файла.

touch создание пустого нового файла, или изменение даты/времени последнего доступа для существующего файла, или модификация существующего файла.

tr замена/удаление символов в файле (строки, к сожалению, менять нельзя).

traceroute построение маршрута до хоста по IP.

uname -a выводит версию операционной системы.

uniq -c file1 подсчёт в файле file1 одинаковых строк и вывод только разных строк с количеством их вхождений.

uniq nouniq.txt > uniq.txt оставляет в файле uniq.txt только уникальные строки (только при условии, если он предварительно отсортирован, например командой sort).

updatedb обновляет базу данных о файлах для работы команды locate. В новой версии FreeBSD 7.2 для обновления базы данных служит скрипт /usr/libexec/locate.updatedb.

uptime позволяет узнать время непрерывной работы, количество активных пользователей и коэффициент загрузки системы за 1, 5 и 15 минут. Пример:

~$ uptime
 09:14:44 up  1:20,  5 users,  load average: 0,35, 0,32, 0,41

Коэффициент загрузки 0.02 означает, что система не загружена, 1.00 означает, что загружена на 100%. Если коэффициент загрузки больше 1.00, то это означает, что есть некое количество ожидающих процессов в очереди, которые процессор не успевает обработать. Обычно бить тревогу нужно, когда число превышает 0.7 для длительного промежутка времени (5 или 15 минут) - это означает, что нет запаса по производительности.

Все вышесказанное справедливо, когда в системе 1 ядро. Если у системы несколько ядер, то допустимый коэффициент загрузки следует умножить на количество ядер. К примеру, если в системе 4 ядра, то загрузка 3.00 является вполне допустимой, система загружена только на 75%.

vi де-факто текстовый редактор. Не для простых пользователей, только для фанатов. Намного приятнее использовать mcedit или на худой конец cat. См. также ee и touch.

w посмотреть, кто залогинен, когда, с какого IP, какая программа выполняется в консоли.

wc подсчёт в файле строк, слов и символов.

whereis поиск пакетов и приложений. См. также which и locate.

which показывает, прописана ли программа в переменной среды PATH.

who посмотреть, кто работает и за какими консолями.

whoami посмотреть, под каким именем я залогинен.

[Ссылки]

1. pscp: как передавать файлы по протоколу ssh.
2. Linux: как посмотреть версию системы и ядра.