14 июн. 2000 г.

[FAQ] Часто используемые команды Linux (Unix)

Нижеследующий текст скопирован из темы ШПАРГАЛКА. Команды Unix - Linux и принадлежит пользователю jmur.

Очень полезные команды Linux на одном листе
Оригинал перевода — http://www.f-notes.info/?p=2&sp=2
Список на английском — http://www.linuxguide.it/commands_list.php?Choose_Language:English
При использовании Проверяйте комманды по первоисточникам! или используйте man

CDROM
cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -forceОтчистка перезаписываемых компакт-дисков
mkisofs /dev/cdrom > cd.isoсоздать ISO-образ компакт-диска
mkisofs /dev/cdrom | gzip > cd_iso.gzсоздать сжатый ISO-образ компакт-диска
mkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.iso data_cdсоздать ISO-образ из каталога
cdrecord -v dev=/dev/cdrom cd.isoзаписать образ ISO
gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom -записать сжатый образ ISO
mount -o loop cd.iso /mnt/isoсмонтировать образ ISO
cd-paranoia -Bизвлечь аудио-треки с CD в WAV файлы
cd-paranoia -- "-3"извлечь первые три аудио-трека с компакт-диска в WAV файл
cdrecord --scanbusсканирование шины для выявления каналов SCSI

Microsoft Windows networks(SAMBA)
nbtscan ip_addr
nmblookup -A ip_addr
разрешить netbios-имя nbtscan не во всех системах ставится 
smbclient -L ip_addr/hostnameотобразить ресурсы, предоставленные в общий доступ на windows-машине
smbget -Rr smb://ip_addr/shareподобно wget может получить файлы с windows-машин через smb-протокол
mount -t smbfs -o username=user,password=pass //winclient/share /mnt/shareсмонтировать smb-ресурс, предоставленный на windows-машине, в локальную файловую систему

IPTABLES (firewall)
iptables -t filter -nL
iptables -nL
отобразить все цепочки правил
iptables -t nat -Lотобразить все цепочки правил в NAT-таблице
iptables -t filter -F
iptables -F
очистить все цепочки правил в filter-таблице
iptables -t nat -Fочистить все цепочки правил в NAT-таблице
iptables -t filter -Xудалить все пользовательские цепочки правил в filter-таблице
iptables -t filter -A INPUT -p tcp --dport telnet -j ACCEPTпозволить входящее подключение telnet'ом
iptables -t filter -A OUTPUT -p tcp --dport http -j DROPблокировать исходящие HTTP-соединения
iptables -t filter -A FORWARD -p tcp --dport pop3 -j ACCEPTпозволить "прокидывать" (forward) POP3-соединения
iptables -t filter -A INPUT -j LOG --log-prefix "DROP INPUT"включить журналирование ядром пакетов, проходящих через цепочку INPUT, и добавлением к сообщению префикса "DROP INPUT"
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADEвключить NAT (Network Address Translate) исходящих пакетов на интерфейс eth0. Допустимо при использовании с динамически выделяемыми ip-адресами.
iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp --dport 22
-j DNAT --to-destination 10.0.0.2:22
перенаправление пакетов, адресованных одному хосту, на другой хост

Мониторинг и отладка
topотобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (с автоматическим обновлением данных)
ps -eafwотобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (единожды)
ps -e -o pid,args --forestвывести PID'ы и процессы в виде дерева
pstreeотобразить дерево процессов
kill -9 98989
kill -KILL 98989
"убить" процесс с PID 98989 "на смерть" (без соблюдения целостности данных)
kill -TERM 98989Корректно завершить процесс с PID 98989
kill -1 98989
kill -HUP 98989 
заставить процесс с PID 98989 перепрочитать файл конфигурации
lsof -p 98989отобразить список файлов, открытых процессом с PID 98989
lsof /home/user1отобразить список открытых файлов из директории /home/user1
strace -c ls > /dev/nullвывести список системных вызовов, созданных и полученных процессом ls
strace -f -e open ls > /dev/nullвывести вызовы бибилотек
watch -n1 'cat /proc/interrupts'отображать прерывания в режиме реального времени
last rebootотобразить историю перезагрузок системы
last user1отобразить историю регистрации пользователя user1 в системе и время его нахождения в ней
lsmodвывести загруженные модули ядра
free -mпоказать состояние оперативной памяти в мегабайтах
smartctl -A /dev/hdaконтроль состояния жёсткого диска /dev/hda через SMART
smartctl -i /dev/hdaпроверить доступность SMART на жёстком диске /dev/hda
tail /var/log/dmesgвывести десять последних записей из журнала загрузки ядра
tail /var/log/messagesвывести десять последних записей из системного журнала

Другие полезные команды
apropos …keywordвыводит список комманд, которые так или иначе относятся к ключевым словам. Полезно, когда вы знаете что делает программа, но не помните команду
man pingвызов руководства по работе с программой, в данном случае, - ping
whatis …keywordотображает описание действий указанной программы
mkbootdisk --device /dev/fd0 `uname -r`создаёт загрузочный флоппи-диск
gpg -c file1шифрует файл file1 с помощью GNU Privacy Guard
gpg file1.gpgдешифрует файл file1 с помощью GNU Privacy Guard
wget -r www.example.comзагружает рекурсивно содержимое сайта www.example.com
wget -cwww.example.com/file.isoзагрузить файл www.example.com/file.iso с возможностью останова и продолжения в последствии
echo 'wget -cwww.example.com/files.iso' | at 09:00начать закачку в указанное время
ldd /usr/bin/sshвывести список библиотек, необходимых для работы ssh
alias hh='history'назначить алиас hh команде history


Пользователь решил продолжить мысль 02 Декабрь 2010, 22:35:43:

dd

Базовые параметры
if=файлчитает данные из файла вместо стандартного ввода.
of=файлпишет данные в файл вместо стандартного вывода.
bs=nразмер блока.
ibs=nn и obs=nnзадаёт, сколько байтов нужно считывать или записывать за раз.
count=nсколько блоков скопировать.
seek=nсколько блоков пропустить от начала в результрующим файле.
skip=nсколько блоков от начала файла пропустить перед началом копирования.
conv=фильтр,фильтрприменить фильтры конвертациии.
asciiсконвертировать в ASCII из EBCDIC…
ebcdic…и наоборот.
blockвыравнивание блоков.
lcaseпреобразовать к нижнему регистру.
ucaseпреобразовать к верхнему регистру.
swapменять местами пары байт.
noerrorигнорировать ошибки ввода-вывода.

Работа с CD/DVD-дисками и образами
dd if=/dev/cdrom of=backup.iso bs=65535 conv=noerrorСоздать образ CD/DVD, используя большой размер блока. Игнорировать ошибки
dd if=image.iso of=/home/root/exISO/Распаковать ISO-образ «image.iso» в папку «/home/root/exISO»
dd if=image.iso of=/dev/sdb1Записать ISO-образ «image.iso» на раздел sdb1 вместе с его загрузочным сектором и форматированием раздела в файловую систему образа (как правило, ISO 9660 или UDF)

Работа с файлами
dd if=foo of=barСкопировать файл foo в файл bar
dd if=foo of=bar bs=1k skip=10Скопировать файл foo в файл bar, пропустив первые 10 КБ из файла foo
dd if=foo of=bar.0 bs=1M count=5
dd if=foo of=bar.1 bs=1M skip=5
Порезать 10-мегабайтный файл foo на 2 по 5 МБ
dd if=SMILE.001 of=SMILE  bs=1M seek=0
dd if=SMILE.002 of=SMILE  bs=1M seek=100
dd if=SMILE.003 of=SMILE  bs=1M seek=200
dd if=SMILE.004 of=SMILE  bs=1M seek=300
а можно и так:
dd if=SMILE.001 > SMILE
dd if=SMILE.002 >> SMILE
dd if=SMILE.003 >> SMILE
dd if=SMILE.004 >> SMILE
Склеить пять 100-мегабайтных файлов в один
dd if=foo of=/dev/stdout bs=128 count=2
или:
dd if=foo bs=128 count=2
Вывести на экран (в /dev/stdout) первые 256 байт файла foo
dd if=foo bs=1 count=10 2>/dev/null|hexdumpПредыдущая команда годится только для просмотра текстового файла. Содержимое бинарного файла рекомендуется смотреть так

Резервное копирование и удаление данных
dd if=/dev/sda1 of=/dev/sdb2 bs=4096 conv=noerrorСкопировать один раздел жёсткого диска на другой жёсткий диск, игнорируя ошибки ввода-вывода
dd if=/dev/hda of=bootloader.mbr bs=1 count=512Сделать копию главной загрузочной записи (MBR) первого жёсткого диска
(dd bs=4k skip=1 count=0 && dd bs=512k) <$disk >$tapeКопировать всё, кроме метки, с диска на магнитную ленту
(dd bs=4k seek=1 count=0 && dd bs=512k) <$tape >$diskКопировать всё, не перезаписывая метку, с магнитной ленты на диск
dd if=/dev/zero of=/dev/sdg bs=65535Уничтожить содержимое устройства /dev/sdg, заполнив его «нулями» из /dev/zero
killall -USR1 dd