Шпаргалка по командам для linux-терминала. Если чего-то не хватает или указано неверно, прошу сообщить в комментариях.
arch
или uname -m
— отобразить архитектуру компьютераuname -r
— отобразить используемую версию ядраdmidecode -q
— показать аппаратные системные компоненты — (SMBIOS / DMI)hdparm -i /dev/hda
— вывести характеристики жёсткого дискаhdparm -tT /dev/sda
— протестировать производительность чтения данных с жёсткого дискаcat /proc/cpuinfo
— отобразить информацию о процессореcat /proc/interrupts
— показать прерыванияcat /proc/meminfo
— проверить использование памятиcat /proc/swaps
— показать файл(ы) подкачкиcat /proc/version
— вывести версию ядраcat /proc/net/dev
— показать сетевые интерфейсы и статистику по нимcat /proc/mounts
— отобразить смонтированные файловые системыlspci -tv
— показать в виде дерева PCI устройстваlsusb -tv
— показать в виде дерева USB устройстваdate
— вывести системную датуcal 2007
— вывести таблицу-календарь 2007-го годаdate 041217002007.00*
— установить системные дату и время ММДДЧЧммГГГГ.СС (МесяцДеньЧасМинутыГод.Секунды)clock -w
— сохранить системное время в BIOS
shutdown -h now
или init 0
или telinit 0
— остановить системуshutdown -h hours:minutes &
— запланировать остановку системы на указанное времяshutdown -c
— отменить запланированную по расписанию остановку системыshutdown -r now
или reboot
— перегрузить системуlogout
— выйти из системы
cd /home
— перейти в директорию '/home'cd ..
— перейти в директорию уровнем вышеcd ../..
— перейти в директорию двумя уровнями вышеcd
— перейти в домашнюю директориюcd ~user
— перейти в домашнюю директорию пользователя usercd -
— перейти в директорию, в которой находились до перехода в текущую директориюpwd
— показать текущую директориюls
— отобразить содержимое текущей директорииls -F
— отобразить содержимое текущей директории с добавлением к именам символов, характеризующих типls -l
— показать детализированное представление файлов и директорий в текущей директорииls -a
— показать скрытые файлы и директории в текущей директорииls *[0-9]*
— показать файлы и директории содержащие в имени цифрыtree
или lstree
— показать дерево файлов и директорий, начиная от корня (/)mkdir dir1
— создать директорию с именем 'dir1'mkdir dir1 dir2
— создать две директории одновременноmkdir -p /tmp/dir1/dir2
— создать дерево директорийrm -f file1
— удалить файл с именем 'file1'rmdir dir1
— удалить директорию с именем 'dir1'rm -rf dir1
— удалить директорию с именем 'dir1' и рекурсивно всё её содержимоеrm -rf dir1 dir2
— удалить две директории и рекурсивно их содержимоеmv dir1 new_dir
— переименовать или переместить файл или директориюcp file1 file2
— скопировать файл file1 в файл file2cp dir/* .
— копировать все файлы директории dir в текущую директориюcp -a /tmp/dir1 .
— копировать директорию dir1 со всем содержимым в текущую директориюcp -a dir1 dir2
— копировать директорию dir1 в директорию dir2ln -s file1 lnk1*
— создать символическую ссылку на файл или директориюln file1 lnk1
— создать «жёсткую» (физическую) ссылку на файл или директориюtouch -t 0712250000 fileditest
— модифицировать дату и время создания файла, при его отсутствии создать файл с указанными датой и временем (YYMMDDhhmm)
find / -name file1
— найти файлы и директории с именем file1. Поиск начать с корня (/)find / -user user1
— найти файл и директорию принадлежащие пользователю user1. Поиск начать с корня (/)find /home/user1 -name "*.bin"
— найти все файлы и директории, имена которых оканчиваются на '. bin'. Поиск начать с '/ home/user1'*find /usr/bin -type f -atime +100
— найти все файлы в '/usr/bin', время последнего обращения к которым более 100 днейfind /usr/bin -type f -mtime -10
— найти все файлы в '/usr/bin', созданные или изменённые в течении последних 10 днейfind / -name *.rpm -exec chmod 755 '{}' \;
— найти все фалы и директории, имена которых оканчиваются на '.rpm', и изменить права доступа к нимfind / -xdev -name "*.rpm"
— найти все файлы и директории, имена которых оканчиваются на '.rpm', игнорируя съёмные носители, такие как cdrom, floppy и т.п.locate "*.ps"
— найти все файлы, содержащие в имени '.ps'. Предварительно рекомендуется выполнить команду 'updatedb'whereis halt
— показывает размещение бинарных файлов, исходных кодов и руководств, относящихся к файлу 'halt'which halt
— отображает полный путь к файлу 'halt'
export DISPLAY=localhost:0
— перевод вывода графики на "родной" монитор системы
export DISPLAY=<user>@<host>:0
— перевод вывода графики на монитор пользователя <user> по ip-адресу <host>
mount /dev/hda2 /mnt/hda2
— монтирует раздел 'hda2' в точку монтирования '/mnt/hda2'. Убедитесь в наличии директории-точки монтирования '/mnt/hda2'umount /dev/hda2
— размонтирует раздел 'hda2'. Перед выполнением, покиньте '/mnt/hda2'fuser -km /mnt/hda2
— принудительное размонтирование раздела. Применяется в случае, когда раздел занят каким-либо пользователемumount -n /mnt/hda2
— выполнить размонтирование без занесения информации в /etc/mtab. Полезно когда файл имеет атрибуты «только чтение» или недостаточно места на дискеmount /dev/fd0 /mnt/floppy
— монтировать флоппи-дискmount /dev/cdrom /mnt/cdrom
— монтировать CD или DVDmount /dev/hdc /mnt/cdrecorder
— монтировать CD-R/CD-RW или DVD-R/DVD-RW(+-)mount -o loop file.iso /mnt/cdrom
— смонтировать ISO-образmount -t vfat /dev/hda5 /mnt/hda5
— монтировать файловую систему Windows FAT32mount -t smbfs -o username=user,password=pass //winclient/share /mnt/share
— монтировать сетевую файловую систему Windows (SMB/CIFS)mount -o bind /home/user/prg /var/ftp/user
— «монтирует» директорию в директорию (binding). Доступна с версии ядра 2.4.0. Полезна, например, для предоставления содержимого пользовательской директории через ftp при работе ftp-сервера в «песочнице» (chroot), когда симлинки сделать невозможно. Выполнение данной команды сделает копию содержимого /home/user/prg в /var/ftp/user
df -h
— отображает информацию о смонтированных разделах с отображением общего, доступного и используемого пространства (Прим. переводчика. ключ -h работает не во всех *nix системах)ls -lSr |more
— выдаёт список файлов и директорий рекурсивно с сортировкой по возрастанию размера и позволяет осуществлять постраничный просмотрdu -sh dir1
— подсчитывает и выводит размер, занимаемый директорией 'dir1' (Прим. переводчика. ключ -h работает не во всех *nix системах)du -sk * | sort -rn
— отображает размер и имена файлов и директорий, с сортировкой по размеруrpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n
— показывает размер используемого дискового пространства, занимаемое файлами rpm-пакета, с сортировкой по размеру (fedora, redhat и т.п.)dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n
— показывает размер используемого дискового пространства, занимаемое файлами deb-пакета, с сортировкой по размеру (ubuntu, debian т.п.)
groupadd group_name
— создать новую группу с именем group_namegroupdel group_name
— удалить группу group_namegroupmod -n new_group_name old_group_name
— переименовать группу old_group_name в new_group_nameuseradd -c "Nome Cognome" -g admin -d /home/user1 -s /bin/bash user1
— создать пользователя user1, назначить ему в качестве домашнего каталога /home/user1, в качестве shell'а /bin/bash, включить его в группу admin и добавить комментарий Nome Cognomeuseradd user1
— создать пользователя user1userdel -r user1
— удалить пользователя user1 и его домашний каталогusermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1
— изменить атрибуты пользователяpasswd
— сменить парольpasswd user1
— сменить пароль пользователя user1 (только root)chage -E 2005-12-31 user1
— установить дату окончания действия учётной записи пользователя user1pwck
— проверить корректность системных файлов учётных записей. Проверяются файлы /etc/passwd и /etc/shadowgrpck
— проверяет корректность системных файлов учётных записей. Проверяется файл/etc/groupnewgrp [-] group_name
— изменяет первичную группу текущего пользователя. Если указать «-», ситуация будет идентичной той, в которой пользователь вышел из системы и снова вошёл. Если не указывать группу, первичная группа будет назначена из /etc/passwd
Выставление/изменение полномочий на файлы:
ls -lh
— просмотр полномочий на файлы и директории в текущей директорииchmod -R 755 $(find . -type d)
— рекурсивное изменение полномочий директорийchmod -R 644 $(find . -type f)
— рекурсивное изменение полномочий файловls /tmp | pr -T5 -W$COLUMNS
— вывести содержимое директории /tmp и разделить вывод на пять колонокchmod ugo+rwx directory1
— добавить полномочия на директорию directory1 ugo(User Group Other)+rwx(Read Write eXecute) — всем полные права. Аналогичное можно сделать таким образом chmod 777 directory1
chmod go-rwx directory1
— отобрать у группы и всех остальных все полномочия на директорию directory1.chown user1 file1
— назначить владельцем файла file1 пользователя user1chown -R user1 directory1
— назначить рекурсивно владельцем директории directory1 пользователя user1chgrp group1 file1
— сменить группу-владельца файла file1 на group1chown user1:group1 file1
— сменить владельца и группу владельца файла file1find / -perm -u+s
— найти, начиная от корня, все файлы с выставленным SUIDchmod u+s /bin/binary_file
— назначить SUID-бит файлу /bin/binary_file. Это даёт возможность любому пользователю запускать на выполнение файл с полномочиями владельца файла.chmod u-s /bin/binary_file
— снять SUID-бит с файла /bin/binary_file.chmod g+s /home/public
— назначить SGID-бит директории /home/public.chmod g-s /home/public
— снять SGID-бит с директории /home/public.chmod o+t /home/public
— назначить STIKY-бит директории /home/public. Позволяет удалять файлы только владельцамchmod o-t /home/public
— снять STIKY-бит с директории /home/public
chattr +a file1
— позволить открывать файл на запись только в режиме добавленияchattr +c file1
— позволяет ядру автоматически сжимать/разжимать содержимое файла.chattr +d file1
— указывает утилите dump игнорировать данный файл во время выполнения backup'аchattr +i file1
— делает файл недоступным для любых изменений: редактирование, удаление, перемещение, создание линков на него.chattr +s file1
— позволяет сделать удаление файла безопасным, т.е. выставленный атрибут s говорит о том, что при удалении файла, место, занимаемое файлом на диске заполняется нулями, что предотвращает возможность восстановления данных.chattr +S file1
— указывает, что, при сохранении изменений, будет произведена синхронизация, как при выполнении команды syncchattr +u file1
— данный атрибут указывает, что при удалении файла содержимое его будет сохранено и при необходимости пользователь сможет его восстановитьlsattr
— показать атрибуты файлов
Архивирование и сжатие файлов:
bunzip2 file1.bz2
— разжимает файл 'file1.bz2'gunzip file1.gz
— разжимает файл 'file1.gz'gzip file1
или bzip2 file1
— сжимает файл 'file1'gzip -9 file1
— сжать файл file1 с максимальным сжатиемrar a file1.rar test_file
— создать rar-архив 'file1.rar' и включить в него файл test_filerar a file1.rar file1 file2 dir1
— создать rar-архив 'file1.rar' и включить в него file1, file2 и dir1rar x file1.rar
— распаковать rar-архивunrar x file1.rar
— распаковать rar-архивtar -cvf archive.tar file1
— создать tar-архив archive.tar, содержащий файл file1tar -cvf archive.tar file1 file2 dir1
— создать tar-архив archive.tar, содержащий файл file1, file2 и dir1tar -tf archive.tar
— показать содержимое архиваtar -xvf archive.tar
— распаковать архивtar -xvf archive.tar -C /tmp
— распаковать архив в /tmptar -cvfj archive.tar.bz2 dir1
— создать архив и сжать его с помощью bzip2(Прим. переводчика. ключ -j работает не во всех *nix системах)tar -xvfj archive.tar.bz2
— разжать архив и распаковать его(Прим. переводчика. ключ -j работает не во всех *nix системах)tar -cvfz archive.tar.gz dir1
— создать архив и сжать его с помощью gziptar -xvfz archive.tar.gz
— разжать архив и распаковать егоzip file1.zip file1
— создать сжатый zip-архивzip -r file1.zip file1 file2 dir1
— создать сжатый zip-архив и со включением в него нескольких файлов и/или директорийunzip file1.zip
— разжать и распаковать zip-архив
RPM пакеты (Fedora, Red Hat и тому подобное):
rpm -ivh package.rpm
— установить пакет с выводом сообщений и прогресс-бараrpm -ivh --nodeps package.rpm
— установить пакет с выводом сообщений и прогресс-бара без контроля зависимостейrpm -U package.rpm
— обновить пакет без изменений конфигурационных файлов, в случае отсутствия пакета, он будет установленrpm -F package.rpm
— обновить пакет только если он установленrpm -e package_name.rpm
— удалить пакетrpm -qa
— отобразить список всех пакетов, установленных в системеrpm -qa | grep httpd
— среди всех пакетов, установленных в системе, найти пакет содержащий в своём имени «httpd»rpm -qi package_name
— вывести информацию о конкретном пакетеrpm -qg "System Environment/Daemons"
— отобразить пакеты входящие в группу пакетовrpm -ql package_name
— вывести список файлов, входящих в пакетrpm -qc package_name
— вывести список конфигурационных файлов, входящих в пакетrpm -q package_name --whatrequires
— вывести список пакетов, необходимых для установки конкретного пакета по зависимостямrpm -q package_name --whatprovides
— показать возможности, предоставляемые пакетомrpm -q package_name --scripts
— отобразит скрипты, запускаемые при установке/удалении пакетаrpm -q package_name --changelog
— вывести историю ревизий пакетаrpm -qf /etc/httpd/conf/httpd.conf
— проверить какому пакету принадлежит указанный файл. Указывать следует полный путь и имя файла.rpm -qp package.rpm -l
— отображает список файлов, входящих в пакет, но ещё не установленных в системуrpm --import /media/cdrom/RPM-GPG-KEY
— импортировать публичный ключ цифровой подписиrpm --checksig package.rpm
— проверит подпись пакетаrpm -qa gpg-pubkey
— проверить целостность установленного содержимого пакетаrpm -V package_name
— проверить размер, полномочия, тип, владельца, группу, MD5-сумму и дату последнего изменеия пакетаrpm -Va
— проверить содержимое всех пакеты установленные в систему. Выполняйте с осторожностью!rpm -Vp package.rpm
— проверить пакет, который ещё не установлен в системуrpm2cpio package.rpm | cpio --extract --make-directories *bin*
— извлечь из пакета файлы содержащие в своём имени binrpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm
— установить пакет, собранный из исходных кодовrpmbuild --rebuild package_name.src.rpm
— собрать пакет из исходных кодов
YUM — средство обновления пакетов (Fedora, RedHat и тому подобное):
yum install package_name
— закачать и установить пакетyum update
— обновить все пакеты, установленные в системуyum update package_name
— обновить пакетyum remove package_name
— удалить пакетyum list
— вывести список всех пакетов, установленных в системуyum search package_name
— найти пакет в репозиторияхyum clean packages
— очисть rpm-кэш, удалив закачанные пакетыyum clean headers
— удалить все заголовки файлов, которые система использует для разрешения зависимостейyum clean all
— очисть rpm-кэш, удалив закачанные пакеты и заголовки
DEB пакеты (Debian, Ubuntu и тому подобное):
dpkg -i package.deb
— установить / обновить пакетdpkg -r package_name
— удалить пакет из системыdpkg -l
— показать все пакеты, установленные в системуdpkg -l | grep httpd
— среди всех пакетов, установленных в системе, найти пакет содержащий в своём имени «httpd»dpkg -s package_name
— отобразить информацию о конкретном пакетеdpkg -L package_name
— вывести список файлов, входящих в пакет, установленный в системуdpkg --contents package.deb
— отобразить список файлов, входящих в пакет, который ещё не установлен в системуdpkg -S /bin/ping
— найти пакет, в который входит указанный файл.
APT — средство управление пакетами (Debian, Ubuntu и тому подобное):
apt-get update
— получить обновлённые списки пакетовapt-get upgrade
— обновить пакеты, установленные в системуapt-get install package_name
— установить / обновить пакетapt-cdrom install package_name
— установить / обновить пакет с cdrom'аapt-get remove package_name
— удалить пакет, установленный в систему с сохранением файлов конфигурацииapt-get purge package_name
— удалить пакет, установленный в систему с удалением файлов конфигурацииapt-get check
— проверить целостность зависимостейapt-get clean
— удалить загруженные архивные файлы пакетовapt-get autoclean
— удалить старые загруженные архивные файлы пакетов
Pacman — средство управление пакетами (Arch, Frugalware и alike):
pacman -S name
— установить пакет с зависимостямиpacman -R name
— удалить пакет и все файлы из него
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 на стандартное устройство вывода по мере появления в нём текста.
grep -HR OLDTEXT ./ | awk '{print $1}' | sed 's/:.*$//' | grep -v '~' | sort | uniq | xargs perl -i -pe "s/OLD_TEXT/NEW_TEXT/g;"
— Поиск и замена текста OLDTEXT на NEW_TEXT во многих файлах одновременно с рекурсивным обходом директорий.cat file_originale | [operation: sed, grep, awk, grep и т.п.] > result.txt
— общий синтаксис выполнения действий по обработке содержимого файла и вывода результата в новыйcat file_originale | [operazione: sed, grep, awk, grepи т.п.] >> 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/*
— отобрать и вывести на стандартное устройство вывода строки, содержащие «Augr», во всех файлах, находящихся в директории /var/log и нижеsed 's/stringa1/stringa2/g' example.txt
— в файле example.txt заменить «string1» на «string2», результат вывести на стандартное устройство вывода.sed '/^$/d' example.txt
— удалить пустые строки из файла example.txtsed '/ *#/d; /^$/d' example.txt
— удалить пустые строки и комментарии из файла example.txtecho 'esempio' | tr '[:lower:]' '[:upper:]'
— преобразовать символы из нижнего регистра в верхнийsed -e '1d' result.txt
— удалить первую строку из файла example.txtsed -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-mpaste -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.htmlrecode -l | more
— вывести список доступных форматов
badblocks -v /dev/hda1
— проверить раздел hda1 на наличие bad-блоковfsck /dev/hda1
— проверить/восстановить целостность linux-файловой системы раздела hda1fsck.ext2 /dev/hda1
или e2fsck /dev/hda1
— проверить/восстановить целостность файловой системы ext2 раздела hda1e2fsck -j /dev/hda1
— проверить/восстановить целостность файловой системы ext3 раздела hda1 с указанием, что журнал расположен там жеfsck.ext3 /dev/hda1
— проверить/восстановить целостность файловой системы ext3 раздела hda1fsck.vfat /dev/hda1
или fsck.msdos /dev/hda1
или dosfsck /dev/hda1
— проверить/восстановить целостность файловой системы fat раздела hda11
Форматирование файловых систем:
mkfs /dev/hda1
— создать linux-файловую систему на разделе hda1mke2fs /dev/hda1
— создать файловую систему ext2 на разделе hda1mke2fs -j /dev/hda1
— создать журналирующую файловую систему ext3 на разделе hda1mkfs -t vfat 32 -F /dev/hda1
— создать файловую систему FAT32 на разделе hda1fdformat -n /dev/fd0
— форматирование флоппи-диска без проверки
mkswap /dev/hda3
— создание swap-пространства на разделе hda3swapon /dev/hda3
— активировать swap-пространство, расположенное на разделе hda3swapon /dev/hda2 /dev/hdb3
— активировать swap-пространства, расположенные на разделах hda2 и hdb3
Создание резервных копий (backup):
dump -0aj -f /tmp/home0.bak /home
— создать полную резервную копию директории /home в файл /tmp/home0.bakdump -1aj -f /tmp/home0.bak /home
— создать инкрементальную резервную копию директории /home в файл /tmp/home0.bakrestore -if /tmp/home0.bak
— восстановить из резервной копии /tmp/home0.bakrsync -rogpav --delete /home /tmp
— синхронизировать /tmp с /homersync -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-hometar 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
cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force
— стирание перезаписываемого дискаmkisofs /dev/cdrom > cd.iso
— создание iso-образа на CDROM-приводеmkisofs /dev/cdrom | gzip > cd_iso.gz
— создание сжатого iso-образа на CDROM-приводеmkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.iso data_cd
— создание iso-образа в определённой директорииdrecord -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"
— запись первых 3 треков с аудиоCD в wav-файлы.cdrecord --scanbus
— сканировать системную шину, чтобы найти идентификаторы каналов SCSI.
ifconfig eth0
— показать конфигурацию сетевого интерфейса eth0ifup eth0
— активировать (поднять) интерфейс eth0ifdown eth0
— деактивировать (опустить) интерфейс eth0ifconfig eth0 192.168.1.1 netmask 255.255.255.0
— выставить интерфейсу eth0 IP-адрес и маску подсетиifconfig eth0 promisc
— перевести интерфейс eth0 в promiscuous-режим для «отлова» пакетов (sniffing)ifconfig eth0 -promisc
— отключить promiscuous-режим на интерфейсе eth0dhclient 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.1route del 0/0 gw IP_gateway
— удалить IP-адрес шлюза по умолчанию (default gateway)echo "1" > /proc/sys/net/ipv4/ip_forward
— разрешить пересылку пакетов (forwarding)hostname
— отобразить имя компьютераhost www.example.com
или host 192.0.43.10
— разрешить имя www.example.com хоста в IP-адрес и наоборотip link show
— отобразить состояние всех интерфейсовmii-tool eth0
— отобразить статус и тип соединения для интерфейса eth0ethtool 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
nmblookup -A ip_addr
— разрешить netbios-имя nbtscan не во всех системах ставится по умолчанию, возможно, придётся доустанавливать вручную. nmblookup включён в пакет samba.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 -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 98989kill -1 98989
или kill -HUP 98989
— заставить процесс с PID 98989 перепрочитать файл конфигурацииlsof -p 98989
— отобразить список файлов, открытых процессом с PID 98989lsof /home/user1
— отобразить список открытых файлов из директории /home/user1strace -c ls >/dev/null
— вывести список системных вызовов, созданных и полученных процессом lsstrace -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 через SMARTsmartctl -i /dev/hda
— проверить доступность SMART на жёстком диске /dev/hdatail /var/log/dmesg
— вывести десять последних записей из журнала загрузки ядраtail /var/log/messages
— вывести десять последних записей из системного журнала
apropos …keyword
— выводит список команд, которые так или иначе относятся к ключевым словам. Полезно, когда вы знаете что делает программа, но не помните командуman ping
— вызов руководства по работе с программой, в данном случае, — pingwhatis …keyword
— отображает описание действий указанной программыmkbootdisk --device /dev/fd0 `uname -r`
— создаёт загрузочный флоппи-дискgpg -c file1
— шифрует файл file1 с помощью GNU Privacy Guardgpg file1.gpg
— дешифрует файл file1 с помощью GNU Privacy Guardwget -r http://www.example.com
— загружает рекурсивно содержимое сайта http://www.example.comwget -c http://www.example.com/file.iso
— загрузить файл http://www.example.com/file.iso с возможностью останова и продолжения в последствииecho 'wget -c http://www.example.com/files.iso' | at 09:00
— начать закачку в указанное времяldd /usr/bin/ssh
— вывести список библиотек, необходимых для работы sshalias hh='history'
— назначить алиас hh команде history