Linux

Команды Linux. Шпаргалка

Lorem ipsum dolor

Я часто забываю команды терминала и обычно сохраняю их себе на компьютер в качестве шпаргалки.
Но очень часто мне приходится переустанавливать систему, иногда просто хочется чего-то нового попробовать, а иногда по какой-нибудь необходимости, что приводит к потере файлов.
Так вот, решил запилить эту шпаргалку здесь. Чтобы больше не терять, да и может кому ещё пригодится.
Совершенно не помню откуда я скопипастил данный гайд, так что авторы без обид, ну или отпишитесь на почту.

Команды повышающие привилегии:

sudo
запустить команду с правами root

sudo su

открыть командную строку с правами root
 

sudo su user

открыть командную строку с правами user
 

sudo -k

забыть пароль sudo
 

gksudo

графический диалог sudo (GNOME)
 

kdesudo

графический диалог sudo (KDE)
 

sudo visudo

редактировать /etc/sudoers
 

gksudo nautilus

файловый менеджер с правами root (GNOME)
 

kdesudo konqueror

файловый менеджер с правами root (KDE)
 

passwd

сменить Ваш пароль
 

Команды для работы с файлами и директориями:

cd /home

- перейти в директорию '/home'
 

cd ..

- перейти в директорию уровнем выше
 

cd ../..

- перейти в директорию двумя уровнями выше
 

cd

- перейти в домашнюю директорию
 

cd ~user

- перейти в домашнюю директорию пользователя user
 

cd -

- перейти в директорию, в которой находились до перехода в текущую директорию
 

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 в файл file2
 

cp dir/* .

- копировать все файлы директории dir в текущую директорию
 

cp -a /tmp/dir1 .

- копировать директорию dir1 со всем содержимым в текущую директорию
 

cp -a dir1 dir2

- копировать директорию dir1 в директорию dir2
 

ln -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'

Команды для монтирования файловых систем:

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 или DVD
 

mount /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 FAT32
 

mount -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_name
 

groupdel group_name

- удалить группу group_name
 

groupmod -n new_group_name old_group_name

- переименовать группу old_group_name в new_group_name
 

useradd -c "Nome Cognome" -g admin -d /home/user1 -s /bin/bash user1

- создать пользователя user1, назначить ему в качестве домашнего каталога /home/user1, в качестве shell'а /bin/bash, включить его в группу admin и добавить комментарий Nome Cognome
 

useradd user1

- создать пользователя user1
 

userdel -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

- установить дату окончания действия учётной записи пользователя user1
 

pwck

- проверить корректность системных файлов учётных записей. Проверяются файлы /etc/passwd и /etc/shadow
 

grpck

- проверяет корректность системных файлов учётных записей. Проверяется файл/etc/group
 

newgrp [-] group_name

- изменяет первичную группу текущего пользователя. Если указать "-", ситуация будет идентичной той, в которой пользователь вышил из системы и снова вошёл. Если не указывать группу, первичная группа будет назначена из /etc/passwd
 

Команды для изменения полномочий на файлы:

ls -lh

- просмотр полномочий на файлы и директории в текущей директории
 

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 пользователя user1
 

chown -R user1 directory1

- назначить рекурсивно владельцем директории directory1 пользователя user1
 

chgrp group1 file1

- сменить группу-владельца файла file1 на group1
 

chown user1:group1 file1

- сменить владельца и группу владельца файла file1
 

find / -perm -u+s

- найти, начиная от корня, все файлы с выставленным SUID
 

chmod 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

- указывает, что, при сохранении изменений, будет произведена синхронизация, как при выполнении команды sync
 

chattr +u file1

- данный атрибут указывает, что при удалении файла содержимое его будет сохранено и при необходимости пользователь сможет его восстановить
 

lsattr

- показать атрибуты файлов
 

Команды для архивирования файлов:

bunzip2 file1.bz2

- разжимает файл 'file1.gz'
 

gunzip file1.gz

- другой вариант
 

gzip file1

- сжимает файл 'file1'
 

bzip2 file1

- другой вариант
 

gzip -9 file1

- сжать файл file1 с максимальным сжатием
 

rar a file1.rar test_file

- создать rar-архив 'file1.rar' и включить в него файл test_file
 

rar a file1.rar file1 file2 dir1

- создать rar-архив 'file1.rar' и включить в него file1, file2 и dir1
 

rar x file1.rar

- распаковать rar-архив
 

unrar x file1.rar

- другой вариант
 

tar -cvf archive.tar file1

- создать tar-архив archive.tar, содержащий файл file1
 

tar -cvf archive.tar file1 file2 dir1

- создать tar-архив archive.tar, содержащий файл file1, file2 и dir1
 

tar -tf archive.tar

- показать содержимое архива
 

tar -xvf archive.tar

- распаковать архив
 

tar -xvf archive.tar -C /tmp

- распаковать архив в /tmp
 

tar -cvfj archive.tar.bz2 dir1

- создать архив и сжать его с помощью bzip2(Прим.переводчика. ключ -j работает не во всех *nix системах)
 

tar -xvfj archive.tar.bz2

- разжать архив и распаковать его(Прим.переводчика. ключ -j работает не во всех *nix системах)
 

tar -cvfz archive.tar.gz dir1

- создать архив и сжать его с помощью gzip
 

tar -xvfz archive.tar.gz

- разжать архив и распаковать его
 

zip file1.zip file1

- создать сжатый zip-архив
 

zip -r file1.zip file1 file2 dir1

- создать сжатый zip-архив и со включением в него нескольких файлов и/или директорий
 

unzip file1.zip

- разжать и распаковать zip-архив
 

Команды для проверки системной информации:

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 2013

- вывести таблицу-календарь 2013-го года

 

date 041217002013.00

- установить системные дату и время ММДДЧЧммГГГГ.СС (МесяцДеньЧасМинутыГод.Секунды)

 

clock -w

- сохранить системное время в BIOS
 

Команды для остановки системы:

shutdown -h now

- остановить систему
 

init 0

- остановить систему
 

telinit 0

- остановить систему
 

shutdown -h hours:minutes &

- запланировать остановку системы на указанное время
 

shutdown -c

- отменить запланированную по расписанию остановку системы
 

shutdown -r now

- перегрузить систему
 

reboot

- перегрузить систему
 

logout

- выйти из системы
 

Команды для работы X-сервером:

sudo /etc/init.d/gdm restart

– перезапустить X (GNOME)
 

sudo /etc/init.d/kdm restart

– перезапустить X (KDE)
 

(file) /etc/X11/xorg.conf

– конфигурация X
 

sudo dpkg-reconfigure -phigh xserver-xorg

– сбросить конфигурацию X
 

Ctrl+Alt+Bksp

– перезапустить X-сервер
 

Ctrl+Alt+FN

– переключиться на консоль №N
 

Ctrl+Alt+F7

– вернуться к X
 

Команды для работы с сервисами:

start service

– запустить service (Upstart)

 

stop service

– остановить service (Upstart)

 

status service

– проверить, запущен ли service (Upstart)

 

/etc/init.d/service start

– запустить service (SysV)

 

/etc/init.d/service stop

– остановить service (SysV)
 

/etc/init.d/service status

– проверить service (SysV)
 

/etc/init.d/service restart

– перезапустить service (SysV)
 

runlevel

– посмотреть текущий runlevel
 

Команды для управления пакетами:

apt-get update

– обновить базу пакетов
 

apt-get upgrade

– обновить все пакеты
 

apt-get dist-upgrade

– обновить версию Ubuntu
 

apt-get install pkg

– установить pkg
 

apt-get remove pkg

– удалить pkg
 

apt-get autoremove

– удалить устаревшие пакеты
 

apt-get -f install

– попытаться исправить сломанные пакеты(зависимости)
 

dpkg --configure -a

– попытаться исправить сломанные пакеты(зависимости)
 

dpkg -i pkg.deb

– установить пакет из файла pkg.deb
 

(file) /etc/apt/sources.list

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 --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*

- извлечь из пакета файлы содержащие в своём имени bin

rpm -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 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_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/*

- отобрать и вывести на стандартное устройство вывода строки, содержащие "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 'esempio' | 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

- сравнить содержимое двух файлов, удаляя строки встречающиеся в обоих файлах
 

Команды для проверки файловых систем:

badblocks -v /dev/hda1

- проверить раздел hda1 на наличие bad-блоков
 

fsck /dev/hda1

- проверить/восстановить целостность linux-файловой системы раздела hda1
 

fsck.ext2 /dev/hda1

- проверить/восстановить целостность файловой системы ext2 раздела hda1
 

e2fsck /dev/hda1

- проверить/восстановить целостность файловой системы ext2 раздела hda1
 

e2fsck -j /dev/hda1

- проверить/восстановить целостность файловой системы ext3 раздела hda1 с указанием, что журнал расположен там же
 

fsck.ext3 /dev/hda1

- проверить/восстановить целостность файловой системы ext3 раздела hda1
 

fsck.vfat /dev/hda1

- проверить/восстановить целостность файловой системы fat раздела hda1
 

fsck.msdos /dev/hda1

- проверить/восстановить целостность файловой системы fat раздела 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
 

Команды для создания резервных копий:

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 на флоппи-диск
 

d if=/dev/fd0 of=/dev/hda bs=512 count=1

- восстановить MBR с флоппи-диска на /dev/hda
 

Команды для работы с сетью:

ifconfig

– просмотр сетевой информации
 

iwconfig

– просмотр информации беспроводных устройств
 

sudo iwlist scan

– сканировать беспроводные сети
 

sudo /etc/init.d/networking restart

– перезапустить сеть
 

(file) /etc/network/interfaces

– файл для ручной настройки сети
 

ifup interface

– поднять interface
 

ifdown interface

– положить interface
 

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.linuxguide.it

- разрешить имя www.linuxguide.it хоста в ip-адрес и наоборот host 62.149.140.85
 

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
 

Команды для мониторинга и отладки:

top

- отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (с автоматическим обновлением данных)
 

ps -eafw

- отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (единожды)
 

ps -e -o pid,args --forest

- вывести PID'ы и процессы в виде дерева
 

pstree

- отобразить дерево процессов
 

kill -9 98989

- "убить" процесс с PID 98989 "на смерть" (без соблюдения целостности данных)
 

kill -TERM 98989

- Корректно завершить процесс с PID 98989
 

kill -1 98989

- заставить процесс с PID 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

- вывести десять последних записей из системного журнала
 

Команды для работы с фаерволом:

ufw enable

– включить фаервол
 

ufw disable

– выключить фаервол
 

ufw default allow

– разрешить все подключения
 

ufw default deny

– запретить все подключения
 

ufw status

– текущий статус и правила
 

ufw allow port

– разрешить соединения по порту port
 

ufw deny port

– закрыть port
 

ufw deny from ip

– заблокировать ip адрес
 

Команды для работы с ядром:

При зависании – Наберите фразу “REISUB” зажав клавиши Alt и SysRq (PrintScrn) с 1 секундной паузой между каждой буквой. Компьютер перезагрузится.

lsb_release -a

– получить версию Ubuntu
 

uname -r

– получить версию ядра
 

uname -a

– получить больше информации о ядре

Схожие статьи

Для чего нужны открытые CAD программы для Linux, какие они бывают
Linux

Для чего нужны открытые CAD программы для Linux, какие они бывают

Linux

Как запустить сценарий оболочки при запуске системы

Linux

Безопасный стандартный набор правил iptables для базового веб-сервера HTTP(s)

Linux

Существующие решения, позволяющие использовать контроль версий для файлов конфигурации сервера

×