Шпаргалка часто используемых команд Linux | Часть 2

0
6

Продолжение первой части шпаргалки часто используемых команд Linux. В этой части приведены примеры использования команды для:

CDROM
SAMBA
IPTABLES
Мониторинг и отладка
Другие полезные команды
dd

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 -c www.example.com/file.iso загрузить файл www.example.com/file.iso с возможностью останова и продолжения в последствии
echo ‘wget -c www.example.com/files.iso’ | at 09:00 начать закачку в указанное время
ldd /usr/bin/ssh вывести список библиотек, необходимых для работы ssh
alias hh=’history’ назначить алиас hh команде history

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) $tape Копировать всё, кроме метки, с диска на магнитную ленту
(dd bs=4k seek=1 count=0 && dd bs=512k) $disk Копировать всё, не перезаписывая метку, с магнитной ленты на диск
dd if=/dev/zero of=/dev/sdg bs=65535 Уничтожить содержимое устройства /dev/sdg, заполнив его «нулями» из /dev/zero
killall -USR1 dd Узнать статус выполнения операции