Command for terminal linux
 
APT - средство управление пакетами (Debian, Ubuntu и тому подобное)
 
Команда                                Описание
 
apt-get install package_name    установить / обновить пакет
apt-cdrom install package_name    установить / обновить пакет с cdrom'а
apt-get update                    получить обновлённые списки пакетов
apt-get upgrade                    обновить пакеты, установленные в систему
apt-get remove package_name    удалить пакет, установленный в систему с сохранением файлов конфигурации
apt-get purge package_name    удалить пакет, установленный в систему с удалением файлов конфигурации
apt-get check                    проверить целостность зависимостей
apt-get clean                    удалить загруженные архивные файлы пакетов
apt-get autoclean            удалить старые загруженные архивные файлы пакетов
 
Просмотр содержимого файлов
 
Команда                              Описание
 
cat file1    вывести содержимое файла file1 на стандартное устройство вывода
tac file1    вывести содержимое файла file1 на стандартное устройство вывода в обратном порядке (последняя строка становиться первой и т.д.)
more file1    постраничный вывод содержимого файла file1 на стандартное устройство вывода
less file1    постраничный вывод содержимого файла file1 на стандартное устройство вывода, но с возможностью пролистывания в обе стороны
                (вверх-вниз), поиска по содержимому и т.п.
head -2 file1    вывести первые две строки файла file1 на стандартное устройство вывода. По-умолчанию выводится десять строк
tail -2 file1    вывести последние две строки файла file1 на стандартное устройство вывода. По-умолчанию выводится десять строк
tail -f /var/log/messages    выводить содержимое файла /var/log/messages на стандартное устройство вывода по мере появления в нём текста.
 
Манипуляции с текстом
 
Команда                                         Описание
 
cat file | grep -i "Criteria" > result.txt    общий синтаксис выполнения действий по обработке содержимого файла и вывода результата в новый
cat file | grep -i "Criteria" » result.txt    общий синтаксис выполнения действий по обработке содержимого файла и вывода результата в существующий файл. Если файл не существует, он будет создан
grep Aug /var/log/messages                 из файла '/var/log/messages' отобрать и вывести на стандартное устройство вывода строки, содержащие "Aug"
grep ^Aug /var/log/messages                 из файла '/var/log/messages' отобрать и вывести на стандартное устройство вывода строки, начинающиеся на "Aug"
grep [0-9] /var/log/messages                 из файла '/var/log/messages' отобрать и вывести на стандартное устройство вывода строки, содержащие цифры
grep Aug -R /var/log/*                         отобрать и вывести на стандартное устройство вывода строки, содержащие "Aug", во всех файлах, находящихся в
                                             директории /var/log и ниже
sed 's/stringa1/stringa2/g' example.txt         в файле example.txt заменить "string1" на "string2", результат вывести на стандартное устройство вывода.
sed '/^$/d' example.txt                         удалить пустые строки из файла example.txt
sed '/ *#/d; /^$/d' example.txt                 удалить пустые строки и комментарии из файла example.txt
echo 'test' | tr '[:lower:]' '[:upper:]'     преобразовать символы из нижнего регистра в верхний
sed -e '1d' result.txt                         удалить первую строку из файла example.txt
sed -n '/string1/p'                         отобразить только строки содержавшие "string1"
sed -e 's/ *$//' example.txt                 удалить пустые символы в в конце каждой строки
sed -e 's/string1//g' example.txt         удалить строку "string1" из текста не изменяя всего остального
sed -n '1,8p;5q' example.txt                 взять из файла с первой по восьмую строки и из них вывести первые пять
sed -n '5p;5q' example.txt                 вывести пятую строку
sed -e 's/0*/0/g' example.txt                 заменить последовательность из любого количества нулей одним нулём
cat -n file1    пронумеровать                строки при выводе содержимого файла
cat example.txt | awk 'NR%2==1'                 при выводе содержимого файла, не выводить чётные строки файла
echo a b c | awk '{print $1}'                 вывести первую колонку. Разделение, по-умолчанию, по проблему/пробелам или символу/символам табуляции
echo a b c | awk '{print $1,$3}'         вывести первую и третью колонки. Разделение, по-умолчанию, по проблему/пробелам или символу/символам табуляции
paste file1 file2                         объединить содержимое file1 и file2 в виде таблицы: строка 1 из file1 = строка 1 колонка 1-n, строка
                                                1 из file2 = строка 1 колонка n+1-m
paste -d '+' file1 file2                 объединить содержимое file1 и file2 в виде таблицы с разделителем "+"
sort file1 file2                         отсортировать содержимое двух файлов
sort file1 file2 | uniq                         отсортировать содержимое двух файлов, не отображая повторов
sort file1 file2 | uniq -u                 отсортировать содержимое двух файлов, отображая только уникальные строки (строки, встречающиеся в обоих файлах, не
                                                выводятся на стандартное устройство вывода)
sort file1 file2 | uniq -d                 отсортировать содержимое двух файлов, отображая только повторяющиеся строки
comm -1 file1 file2                         сравнить содержимое двух файлов, не отображая строки принадлежащие файлу 'file1'
comm -2 file1 file2                         сравнить содержимое двух файлов, не отображая строки принадлежащие файлу 'file2'
comm -3 file1 file2                         сравнить содержимое двух файлов, удаляя строки встречающиеся в обоих файлах
 
Преобразование наборов символов и файловых форматов
 
Команда                                   Описание
 
dos2unix filedos.txt fileunix.txt    конвертировать файл текстового формата из MSDOS в UNIX (разница в символах возврата каретки)
unix2dos fileunix.txt filedos.txt    конвертировать файл текстового формата из UNIX в MSDOS (разница в символах возврата каретки)
recode ..HTML < page.txt > page.html    конвертировать содержимое тестового файла page.txt в html-файл page.html
recode -l | more                    вывести список доступных форматов
 
Анализ файловых систем
 
Команда                    Описание
 
badblocks -v /dev/hda1    проверить раздел hda1 на наличие bad-блоков
fsck /dev/hda1            проверить/восстановить целостность linux-файловой системы раздела hda1
fsck.ext2 /dev/hda1    проверить/восстановить целостность файловой системы ext2 раздела hda1
e2fsck /dev/hda1
e2fsck -j /dev/hda1    проверить/восстановить целостность файловой системы ext3 раздела hda1 с указанием, что журнал расположен там же
fsck.ext3 /dev/hda1    проверить/восстановить целостность файловой системы ext3 раздела hda1
fsck.vfat /dev/hda1    проверить/восстановить целостность файловой системы fat раздела hda1
fsck.msdos /dev/hda1
dosfsck /dev/hda1
 
Форматирование файловых систем
 
Команда                 Описание
 
mkfs /dev/hda1            создать linux-файловую систему на разделе hda1
mke2fs /dev/hda1    создать файловую систему ext2 на разделе hda1
mke2fs -j /dev/hda1    создать журналирующую файловую систему ext3 на разделе hda1
mkfs -t vfat 32 -F /dev/hda1    создать файловую систему FAT32 на разделе hda1
fdformat -n /dev/fd0    форматирование флоппи-диска без проверки
mkswap /dev/hda3    создание swap-пространства на разделе hda3
 
swap-пространство
 
Команда                   Описание
 
mkswap /dev/hda3         создание swap-пространства на разделе hda3
swapon /dev/hda3         активировать swap-пространство, расположенное на разделе hda3
swapon /dev/hda2 /dev/hdb3   активировать swap-пространства, расположенные на разделах hda2 и hdb3
 
Создание резервных копий (backup)
 
Команда                                      Описание
 
dump -0aj -f /tmp/home0.bak /home    создать полную резервную копию директории /home в файл /tmp/home0.bak
dump -1aj -f /tmp/home0.bak /home    создать инкрементальную резервную копию директории /home в файл /tmp/home0.bak
restore -if /tmp/home0.bak            восстановить из резервной копии /tmp/home0.bak
rsync -rogpav --delete /home /tmp    синхронизировать /tmp с /home
rsync -rogpav -e ssh --delete /home ip_address:/tmp            синхронизировать через SSH-туннель
rsync -az -e ssh --delete ip_addr:/home/public /home/local    синхронизировать локальную директорию с удалённой директорией через ssh-туннель со сжатием
rsync -az -e ssh --delete /home/local ip_addr:/home/public    синхронизировать удалённую директорию с локальной директорией через ssh-туннель со сжатием
dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz'    сделать "слепок" локального диска в файл на удалённом компьютере через ssh-туннель
tar -Puf backup.tar /home/user                   создать инкрементальную резервную копию директории '/home/user' в файл backup.tar с сохранением полномочий
( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p'    копирование содержимого /tmp/local на удалённый компьютер через ssh-туннель в /home/share/
( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p'    копирование содержимого /home на удалённый компьютер через ssh-туннель в /home/backup-home
tar cf - . | (cd /tmp/backup ; tar xf - )                              копирование одной директории в другую с сохранением полномочий и линков
find /home/user1 -name '*.txt' |
xargs cp -av --target-directory=/home/backup/ --parents    поиск в /home/user1 всех файлов, имена которых оканчиваются на '.txt', и копирование их в другую директорию
find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2    поиск в /var/log всех файлов, имена которых оканчиваются на '.log', и создание bzip-архива из них
dd if=/dev/hda of=/dev/fd0 bs=512 count=1    создать копию MBR (Master Boot Record) с /dev/hda на флоппи-диск
dd if=/dev/fd0 of=/dev/hda bs=512 count=1    восстановить MBR с флоппи-диска на /dev/hda
 
CD и DVD ROM - мы
 
Команда                                     Описание
 
eject                                                                открыть привод CD или DVD
cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force        очистить перезаписываемый диск RW
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                                                        записать звуковые дорожки в WAV-файлы (rip)
cd-paranoia -- "-3"                                                записать первые 3 звуковые дорожки в WAV-файлы (rip)
cdrecord --scanbus                                                сканировать шину для идентификации устройства
 
Сеть (LAN и WiFi)
 
Команда                                    Описание
 
ifconfig eth0              показать конфигурацию сетевого интерфейса eth0
ifup eth0              активировать (поднять) интерфейс eth0
ifdown eth0              деактивировать (опустить) интерфейс eth0
ifconfig eth0 192.168.1.1 netmask 255.255.255.0    выставить интерфейсу eth0 ip-адрес и маску под сети
ifconfig eth0 promisc    перевести интерфейс eth0 в promiscuous-режим для "отлова" пакетов (sniffing)
ifconfig eth0 -promisc    отключить promiscuous-режим на интерфейсе eth0
dhclient eth0             активировать интерфейс eth0 в dhcp-режиме.
route -n             вывести локальную таблицу маршрутизации
netstat -rn
route add -net 0/0 gw IP_Gateway    задать ip-адрес шлюза по умолчанию (default gateway)
route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1    добавить статический маршрут в сеть 192.168.0.0/16 через шлюз с ip-адресом 192.168.1.1
route del 0/0 gw IP_gateway    удалить ip-адрес шлюза по умолчанию (default gateway)
echo "1" > /proc/sys/net/ipv4/ip_forward    разрешить пересылку пакетов (forwarding)
hostname            отобразить имя компьютера
host www.yandex.ru    разрешить имя www.yandex.ru хоста в ip-адрес и наоборот
host 93.158.134.3
ip link show            отобразить состояние всех интерфейсов
mii-tool eth0            отобразить статус и тип соединения для интерфейса eth0
ethtool eth0            отображает статистику интерфейса eth0 с выводом такой информации, как поддерживаемые и текущие режимы соединения
netstat -tupn            отображает все установленные сетевые соединения по протоколам TCP и UDP без разрешения имён в ip-адреса и PID'ы и
                         имена процессов, обеспечивающих эти соединения
netstat -tupln            отображает все сетевые соединения по протоколам TCP и UDP без разрешения имён в ip-адреса и PID'ы и имена процессов, слушающих порты
tcpdump tcp port 80    отобразить весь трафик на TCP-порт 80 (обычно - HTTP)
iwlist scan            просканировать эфир на предмет, доступности беспроводных точек доступа
iwconfig eth1            показать конфигурацию беспроводного сетевого интерфейса eth1
 
Microsoft Windows networks(SAMBA)
 
Команда                                      Описание
 
nbtscan ip_addr          разрешить netbios-имя nbtscan не во всех системах ставится по-умолчанию, возможно, придётся до устанавливать вручную.
                                nmblookup включен в пакет samba.
nmblookup -A ip_addr
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    очистить все цепочки правил в filter-таблице
iptables -F
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               "убить" процесс с PID 98989 "на смерть" (без соблюдения целостности данных)
kill -KILL 98989
kill -TERM 98989      Корректно завершить процесс с PID 98989
kill -1 98989              заставить процесс с PID 98989 перепрочитать файл конфигурации
kill -HUP 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 h='history | grep $1'       назначить алиас "h" фильтру вывода команды "history" по передаваемому параметру
 
Понравилась статья?
Первая часть APT - средство управление пакетами (Debian, Ubuntu и тому подобное) Команда Описание apt-get install package_name установить / обновить пакет apt-cdrom install package_name установить / обновить пакет с cdrom'а apt-get update получит...
Терминал
4628
Рейтинг: 5/3
При перепечатке материалов указание ссылки на linuxsoid.com обязательно.

Подпишитесь на рассылку

Здравствуй Гость, как Вы видите еще никто не оставил свой комментарий, будьте первым, поделитесь мнением о материале выше.

avatar