Данный список команд был взят отсюда
http://vds-admin.ru/unix-linux/poleznye-komandy-linux
http://www.linuxguide.it/command_line/linux_commands_ru.html
Использование rpm, yum, dpkg, apt-get я удалил с этого списка и вынес их в отдельные статьи с более подробным описанием.
В конце статьи буду добавлять полезные на мой взгляд с практической точки зрения команды
Корректные: выключение, перезагрузка, выход из системы
1 |
# init 0 |
Выключить систему
1 |
# logout |
Завершить текущую сессию
1 |
# reboot |
Перезагрузка
1 |
# shutdown -h now |
Еще один вариант корректного выключения
1 |
# shutdown -h 22:15 & |
Запланировать выключение системы на 22 часа 15 минут
1 |
# shutdown -c |
Отменить запланированное выключения системы
1 |
# shutdown -r now |
Еще один вариант перезагрузки
1 |
# telinit 0 |
Тоже способ выключения системы
Получение различной информации о системе
1 |
# arch |
Вывести на экран архитектуру компьютера
1 |
# uname -m |
Так-же выводит архитектуру компьютера
1 |
# cal 2010 |
Печатает календарь на 2010 год. Без аргументов выводит календарь на текущий месяц
1 |
# cat /proc/cpuinfo |
Вывести подробную информацию о процессоре
1 |
# cat /proc/interrupts |
Вывести информацию о прерываниях
1 |
# cat /proc/meminfo |
Выводит статистику использования памяти
1 |
# cat /proc/swaps |
Вывести информацию о swap файле(ах) ( файл подкачки )
1 |
# cat /proc/version |
Вывести информацию о версии текущего ядра
1 |
# cat /proc/net/dev |
Вывести информацию и статистику по сетевым устройствам
1 |
# cat /proc/mounts |
Показать смонтированные файловые системы
1 |
# clock -w |
Записать текущую системную дату в BIOS
1 |
# date |
Вывести текущую системную дату и время
1 |
# date 041217002007.00 |
Установить дату и время в значение МесяцДеньЧасМинутаГод.Секунда
1 |
# dmidecode -q |
Вывести в читабельном виде информацию по аппаратному оборудованию системы (SMBIOS / DMI)
1 |
# hdparm -i /dev/hda |
Вывести характеристики жесткого диска
1 |
# hdparm -tT /dev/sda |
Измерять скорость чтения данных с жесткого диска
1 |
# lspci -tv |
Вывести список устройств на шине PCI
1 |
# lsusb -tv |
Вывести список устройств на USB шине
1 |
# uname -r |
Вывести версию используемого ядра
Дисковое пространство
1 |
# df -h |
Вывод информации о свободном и занятом дисковом пространстве на смонтированных разделах, в формате, удобном для чтения
1 |
# dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n |
Выводит объем используемого дискового пространства, занятого файлами deb-пакета, с сортировкой по размеру (ubuntu, debian т.п.)
1 |
# du -sh dir |
Выводит объем дискового пространства, занимаемый директорией dir
1 |
# du -sk * | sort -rn |
Выводит листинг файлов и директорий с размером, сортируя его по размеру
1 |
# ls -lSr | more |
Выводит листинг файлов и директорий, сортируя по возрастанию размера и перенаправляет его в программу more для постраничного просмотра
1 |
# rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n |
Выводит объем дискового пространства, занимаемого файлами rpm-пакета, с сортировкой по размеру ( fedora, redhat и т.п. )
Работа с файлами и папками
1 |
# pwd |
Вывести текущую директорию
1 |
# cd /home |
Перейти в директорию /home
1 |
# cd .. |
Перейти в родительский каталог, то есть подняться на уровень выше
1 |
# cd ../.. |
Подняться в дереве каталогов на два уровня
1 |
# cd |
Перейти в домашний каталог
1 |
# cd ~user |
Перейти в домашний каталог пользователя user
1 |
# cd - |
Перейти в предыдущую директорию, из которой был сделан переход в текущую директорию
1 |
# cp -a test_1 test_2 |
Копировать директорию test_1 в директорию test_2
1 |
# cp file_1 file_2 |
Копировать файл file_1 в файл file_2
1 |
# cp -a /tmp/test . |
Rопировать директорию test и все ее содержимое в текущую директорию
1 |
# cp test/* . |
Копировать все файлы содержащиеся в директории test в текущую директорию
1 |
# iconv -l |
Выводит список доступных для использования кодировок
1 |
# iconv -c -f windows-1251 -t utf-8 inputFile > outputFile |
Конвертировать файл из кодировки windows-1251 в кодировку utf-8
1 |
# ln -s /path/to/filedir ./link |
Создать в текущей директории символическую ссылку link на директорию или файл filedir
1 |
# ln /path/to/filedir ./link |
Создать в текущей директории жесткую ссылку link на директорию или файл filedir
1 |
# ls |
Вывести листинг содержимого текущей директории
1 |
# ls -F |
Листинг текущей директории с добавлением к именам символов, обозначающих тип объекта
1 |
# ls -l |
Листинг текущей директории с подробностями по каждому объекту ( права доступа, владелец, группа, дата, размер )
1 |
# ls -a |
Кроме обычных объектов, вывести в листинге, скрытые файлы и директории, текущего каталога
1 |
# ls /tmp | pr -T5 -W$COLUMNS |
Листинг директории /tmp в 5 колонок
1 |
# ls *[0-9]* |
Вывести в листинг файлов и директорий текущего каталога, содержащие в имени цифровые символы
1 |
# lstree |
Листинг иерархии директорий и файлов, начиная с корневого каталога (/)
1 |
# mkdir dir |
Создать в текущем каталоге, директорию с именем dir
1 |
# mkdir dir_1 dir_2 |
Создать в текущем каталоге две директории, с именами dir_1 и dir_2
1 |
# mkdir -p /path/to/dir |
Создать иерархию директорий. Кроме самой директории dir будут созданы все промежуточные директории
1 |
# mv filedir new_filedir |
Переместить ( переименовать ) файл или директорию из filedir в new_filedir
1 |
# rm -rf /dir |
Рекурсивно удалить директорию dir и всё её содержимое, без запроса подтверждения на удаление
1 |
# rm -f file |
Удалить файл file, без запроса подтверждения
1 |
# rm -rf /dir_1 /dir_2 |
Удалить директории /dir_1 и /dir_2 вместе с содержимым, без запроса подтверждения
1 |
# rmdir /dir |
Удалить директорию /dir
1 |
# tree |
Вывести иерархию директорий и файлов, начиная с корневой (/)
1 |
# touch -t 0712250000 file1 |
Изменить дату и время создания файла, если указанный файл не существует, создать его с указанными датой и временем (YYMMDDhhmm)
Поиск нужного файла
1 |
# find / -user vasya |
Найти все директории и файлы принадлежащие пользователю vasya. Поиск будет производиться, начиная с корневой директории (/)
1 |
# find / -name filedir |
Найти директории и файлы с именем filedir. Поиск будет производиться, начиная с корневой директории (/)
1 |
# find /usr/bin -type f -atime +20 |
Найти все файлы в директории /usr/bin, время последнего обращения к которым более 20 дней
1 |
# find /usr/bin -type f -mtime -10 |
Найти все файлы в директории /usr/bin, которые были созданы или модифицированы в течении последних 10 дней
1 |
# find / -xdev -name \*.rpm |
Искать директории и файлы, имена которых оканчиваются на «.rpm», но игнорируя съёмные накопители, cdrom, usb и т.п.
1 |
# find . -maxdepth 1 -name *.jpg -print -exec convert |
Найти в текущей директории все файлы с расширением jpg и выполнить для каждого команду convert ( Imagemagick )
1 |
# find /path/to/dir -name \*.c |
Найти все директории и файлы, имена которых оканчиваются на «.с». Поиск будет производиться, начиная с директории /path/to/dir
1 |
# find / -name *.rpm -exec chmod 755 '{}' \; |
Начиная с корня, найти все фалы и директории, имена которых оканчиваются на «.rpm», и для каждого изменить права доступа
1 |
# whereis ls |
Вывод полных путей к бинарным файлам, файлом исходных кодов и руководств, имеющих отношение к файлу ls
1 |
# locate \*.ps |
Поиск всех файлов, содержащих в имени «.ps» по специальной базе данных, предварительно сформированной командой updatedb
1 |
# which ls |
Вывести полный путь до файла ls
Монтирование файловых систем
1 |
# mount /dev/hda1 /mnt/disk |
Монтировать устройство /dev/hda1 в папку с именем /mnt/disk. точка монтирования, папка /mnt/disk, должна существовать
1 |
# fuser -km /mnt/hda1 |
Размонтировать устройство hda1 если оно заблокировано каким либо процессом
1 |
# mount -o loop file.iso /mnt/cdrom |
Смонтировать фаил или образ ISO в директорию /mnt/cdrom
1 |
# mount /dev/hdb /mnt/cdrecorder |
Монтировать cdrw или dvdrom
1 |
# mount -t vfat /dev/hda5 /mnt/hda5 |
Смонтировать раздел с файловой системой FAT32
1 |
# mount /dev/cdrom /mnt/cdrom |
Монтировать cdrom или dvdrom
1 |
# mount /dev/fd0 /mnt/floppy |
Монтировать floppy disk ( дисковод мягких дисков )
1 |
# mount /dev/hdc /mnt/cdrecorder |
Монтировать cdrw или dvdrom
1 |
# mount /dev/sda1 /mnt/usbdisk |
Монтировать USB устройство
1 |
# mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share |
Монтировать сетевую файловую систему Windows (SMB/CIFS)
1 |
# umount -n /mnt/hda2 |
Размонтировать без записи в файл /etc/mtab, используется в ситуациях, когда файл находится в режиме только чтение или жесткий диск переполнен
1 |
# umount /dev/hda2 |
Размонтировать диск hda2, предварительно необходимо выйти из точки монтирования /mnt/hda2
Пользователи и группы
1 |
# useradd -c "User Vasya" -g admin -d /home/vasya -s /bin/bash vasya |
Создать пользователя vasya, домашним каталогом будет создана директория /home/vasya, в качестве системной оболочки будет назначен /bin/bash, пользователь будет включен в группу admin, кроме того для учетной записи будет создан комментарий «User Vasya»
1 |
# useradd vasya |
Создать пользователя vasya
1 |
# usermod -c "User FTP" -g system -d /ftp/ftpuser -s /bin/nologin ftpuser |
Изменение пользователя
1 |
# userdel -r vasya |
Удалить пользователя с именем vasya и его домашнюю директорию
1 |
# groupadd [ group_name ] |
Создать группу с именем group_name
1 |
# chage -E 2005-12-31 vasya |
Установить дату окончания действия учётной записи пользователя vasya
1 |
# groupdel [ group_name ] |
Удалить группу group_name
1 |
# groupmod -n test new_test |
Переименовать группу test в new_test
1 |
# newgrp - [group] |
Изменяет основную группу текущего пользователя. При указании «-«, ситуация будет идентичной той, в которой пользователь вышил из системы и снова вошёл. Если не указывать группу, основная группа будет назначена из файла /etc/passwd
1 |
# grpck |
Проверка корректности системных файлов учётных записей. Проверяется файл/etc/group
1 |
# pwck |
Проверка корректности системных файлов учётных записей. Проверяются файлы /etc/passwd и /etc/shadow
1 |
# passwd |
Изменить пароль текущего пользователя
1 |
# passwd vasya |
Изменить пароль пользователя vasya ( может выполнять только root )
Атрибуты файлов
1 |
# chattr +a file |
Разрешает только добавление данных в файл
1 |
# chattr +d file |
Игнорировать данный файл при создании резервной копии с помощью программы dump
1 |
# chattr +c file |
Разрешить ядру автоматически сжимать/разжимать содержимое файла
1 |
# chattr +i file1 |
Защита файла от каких либо изменений или манипуляций: редактирование, перемещение, удаление, создание ссылок на него
1 |
# chattr +S file1 |
Определяет, будет-ли при сохранении изменений, произведена синхронизация, как при использовании команды sync
1 |
# chattr +u file1 |
При удалении файла с данным атрибутом, его будет сохранено, что-бы оставить пользователю возможность восстановить данные в случае необходимости
1 |
# chattr +s file1 |
Позволяет безвозвратное удаление данного файла. При удалении файла с этим атрибутом, место на диске, занимаемое файлом, перезаписывается нулями, после чего файл уже не подлежит восстановлению
1 |
# lsattr |
Листинг файлов с атрибутами
Работа с правами доступа файлов и директорий
1 |
# chown vasya /file |
Назначить пользователя vasya владельцем файла file
1 |
# chown -R vasya directory |
Рекурсивно обойти директорию directory и назначить пользователя vasya владельцем всех вложенных файлов и директорий
1 |
# chown vasya:group /file |
Назначить владельца и группу для файла /file
1 |
# chmod ugo+rwx /directory |
Установить полные права доступа rwx ( Read Write eXecute ) для всех ugo ( User Group Other ) на директорию /directory. То-же самое можно сделать, используя числовой представление chmod 777 directory
1 |
# chmod go-rwx /directory |
Удалить все права на директорию /directory для группы и остальных
1 |
# chgrp new_group file |
Изменить группу-владельца для file на new_group
1 |
# chmod o+t /home/public |
Установить так называемый STIKY-бит на директорию /home/public. Удалить файл в такой директории может только владелец данного файла
1 |
# chmod o-t /home/public |
Удалить STIKY-бит с директории /home/public
1 |
# chmod u+s /bin/binary_file |
Установить SUID-бит на файл /bin/binary_file. Это позволяет любому пользователю системы, запускать данный файл с правами владельца файла
1 |
# chmod u-s /bin/binary_file |
Удалить SUID-бит с файла /bin/binary_file
1 |
# chmod g+s /home/public |
Установить SGID-бит на директории /home/public
1 |
# chmod g-s /home/public |
Удалить SGID-бит с директории /home/public
1 |
# find / -perm -u+s |
Поиск всех файлов с установленным SUID битом, начиная с корня файловой системы
1 |
# ls -lh |
Листинг текущего каталога с правами доступа
Архивация и сжатие файлов
1 |
# gzip -9 file1 |
Поместить файл file1 в архив gzip с максимальной степенью сжатия
1 |
# rar a file1.rar file1 file2 dir1 |
Создать rar архив file1.rar, заархивировав файлы: file1, file2 и директорию: dir1
1 |
# rar a file1.rar test_file |
Упаковать в rar архив file1.rar файл test_file
1 |
# rar x file.rar |
Разархивировать rar архив file.rar
1 |
# bzip2 file1 |
Сжимает файл file1
1 |
# bunzip2 file1.bz2 |
Разжимает файл file1.bz2
1 |
# gzip file1 |
Сжимает файл file1
1 |
# gunzip file1.gz |
Разжимает файл file1.gz
1 |
# tar -cvf archive.tar file1 file2 dir1 |
Создать tar архив archive.tar, упаковав в него файлы file1, file2 и директорию dir1
1 |
# tar -cvf archive.tar file |
Упаковать в tar-архив archive.tar, файл file
1 |
# tar -tf archive.tar |
Вывести содержимое tar архива
1 |
# tar -xvf archive.tar |
Распаковать tar архив
1 |
# tar -xvf archive.tar -C /tmp |
Распаковать архив в /tmp
1 |
# tar -cvfz archive.tar.gz dir1 |
Создать tar архив и сжать его с помощью программы gzip
1 |
# tar -xvfz archive.tar.gz |
Разжать tar архив и распаковать его
1 |
# tar -cvfj archive.tar.bz2 dir1 |
Создать архив и сжать его с помощью bzip2 ( ключ -j работает не во всех *nix системах )
1 |
# tar -xvfj archive.tar.bz2 |
Разжать архив и распаковать его ( ключ -j работает не во всех *nix системах )
1 |
# zip file1.zip file1 |
Создать сжатый zip-архив
1 |
# zip -r file1.zip file1 file2 dir1 |
Запаковать в архив несколько файлов и/или директорий
1 |
# unzip file1.zip |
Разжать и распаковать zip-архив
1 |
# unrar x file1.rar |
Распаковать rar-архив
Работа с RPM пакетами ( Fedora, Red Hat и им подобные дистрибутивы )
https://kamaok.org.ua/?p=148
Средство управления пакетами — YUM ( Fedora, RedHat и т.д. )
https://kamaok.org.ua/?p=146
Средства управления DEB пакетами ( Debian, Ubuntu и т.д. )
Средство управление пакетами — APT ( Debian, Ubuntu и т.д. )
https://kamaok.org.ua/?p=409
Анализ файловой системы
1 |
# badblocks -v /dev/hda1 |
Проверить раздел hda1 на наличие bad-блоков
1 |
# fsck /dev/hda1 |
Проверить и при необходимости попробовать восстановить целостность linux-файловой системы раздела hda1
1 |
# fsck.ext2 /dev/hda1 |
Проверить и при необходимости попробовать восстановить целостность файловой системы ext2 раздела hda1
1 |
# fsck.msdos /dev/hda1 |
Проверить и при необходимости попробовать восстановить целостность файловой системы fat раздела hda1
1 |
# fsck.vfat /dev/hda1 |
Проверить и при необходимости попробовать восстановить целостность файловой системы fat раздела hda1
1 |
# fsck.ext3 /dev/hda1 |
Проверить и при необходимости попробовать восстановить целостность файловой системы ext3 раздела hda1
1 |
# dosfsck /dev/hda1 |
Проверить и при необходимости попробовать восстановить целостность файловой системы fat, раздела hda1
1 |
# e2fsck /dev/hda1 |
Проверить и при необходимости попробовать восстановить целостность файловой системы ext2 раздела hda1
1 |
# e2fsck -j /dev/hda1 |
Проверить и при необходимости попробовать восстановить целостность файловой системы ext3 раздела hda1, журнал файловой системы расположен там же
Просмотр содержимого файлов
1 |
# cat file1 |
Вывести все содержимое файла начиная с первой строки
1 |
# head -2 file1 |
Отобразить две первые строки файла
1 |
# tac file1 |
Отобразить содержимое файла начиная с последней строки
1 |
# tail -f /var/log/messages |
В реальном времени выводить все, что добавляется в файл
1 |
# tail -2 file1 |
Вывести две последние строки файла
1 |
# more file1 |
Отобразить содержимое файла постранично
1 |
# less file1 |
Аналогична команде more но позволяет перемещаться по содержимому вперед и назад
Манипуляции с текстом
1 |
# cat -n file1 |
Вывести содержимое файла, нумеруя выводимые строки
1 |
# cat example.txt | awk 'NR%2==1' |
Вывести только не четные строки файла
1 |
# echo a b c | awk '{print $1,$3}' |
Вывести первую и третью колонки. Разделение, по-умолчанию, по пробельным символам или символу табуляции
1 |
# echo a b c | awk '{print $1}' |
Вывести первую колонку содержимого файла. Разделение, по-умолчанию, по пробельным символам или символу табуляции
1 |
# comm -3 file1 file2 |
Сравнить содержимое двух файлов, удаляя строки встречающиеся в обоих файлах
1 |
# comm -1 file1 file2 |
Сравнить содержимое двух файлов, не отображая строки принадлежащие файлу file1
1 |
# comm -2 file1 file2 |
Сравнить содержимое двух файлов, не отображая строки принадлежащие файлу file2
1 |
# grep [0-9] /var/log/messages |
Отобрать и вывести строки содержащие цифровые символы из файла /var/log/messages
1 |
# grep ^Aug /var/log/messages |
Отобрать и вывести строки, начинающиеся с сочетания символов «Aug», из файла /var/log/messages
1 |
# grep Aug /var/log/messages |
Отобрать и вывести строки, содержащие сочетание символов «Aug» из файла /var/log/messages
1 |
# grep Aug -R /var/log/* |
Отобрать и вывести строки, содержащие сочетание символов «Aug», из всех файлов, расположенных в директории /var/log и ниже
1 |
# paste -d '+' file1 file2 |
Объединить содержимое file1 и file2 в виде таблицы с разделителем «+»
1 |
# paste file1 file2 |
Объединить содержимое file1 и file2 в виде таблицы: строка 1 из file1 = строка 1 колонка 1-n, строка 1 из file2 = строка 1 колонка n+1-m
1 |
# sdiff file1 file2 |
Сравнить содержимое двух файлов
1 |
# sed 's/string1/string2/g' example.txt |
Заменить string1 на string2 в файле example.txt и вывести содержимое
1 |
# sed '/ *#/d; /^$/d' example.txt |
Удалить пустые строки и комментарии из файла example.txt
1 |
# sed '/^$/d' example.txt |
Удалить пустые строки и комментарии из файла example.txt
1 |
# sed -e '1d' exampe.txt |
Удалить первую строку из файла example.txt
1 |
# sed -n '/string1/p' |
Отобразить только строки содержащие string1
1 |
# sed -e 's/string//g' example.txt |
Удалить строку string1 из текста файла example.txt не изменяя всего остального
1 |
# sed -e 's/ *$//' example.txt |
Удалить пустые символы в конце каждой строки файла example.txt
1 |
# sed -n '5p;5q' example.txt |
Вывести пятую строку
1 |
# sed -n '2,5p' example.txt |
Вывести строки со второй по пятую
1 |
# sed -e 's/00*/0/g' example.txt |
Заменить последовательность из любого количества нулей одним нулём
1 |
# sort file1 file2 |
Вывести отсортированное содержимое двух файлов
1 |
# sort file1 file2 | uniq |
Вывести отсортированное содержимое двух файлов исключая повторные значения
1 |
# sort file1 file2 | uniq -u |
Вывести уникальные значения из отсортированного содержимого двух файлов
1 |
# sort file1 file2 | uniq -d |
Вывести только повторяющиеся значения из отсортированного содержимого двух файлов
1 |
# echo 'word' | tr '[:lower:]' '[:upper:]' |
Перевести символы нижнего регистра в верхний
Конвертирование соодержимого текстовых файлов
1 |
# dos2unix filedos.txt fileunix.txt |
Конвертировать содержимое текстового файла из MSDOS кодировки в UNIX кодировку (разница в символах возврата коретки)
1 |
# unix2dos fileunix.txt filedos.txt |
Конвертировать содержимое текстового файла из UNIX кодировки в MSDOS кодировку (разница в символах возврата коретки)
1 |
# recode ..HTML < page.txt > page.html |
Конвертировать содержимое тестового файла page.txt в html-файл page.html
1 |
# recode -l | more |
Вывести список доступных форматов
Файловая система SWAP ( файл подкачки )
1 |
# mkswap /dev/hda3 |
Создание swap-пространство на разделе hda3
1 |
# swapon /dev/hda3 |
Включить swap-пространство, расположенное на разделе hda3
1 |
# swapon /dev/hda2 /dev/hdb3 |
Активировать swap-пространства, расположенные на разделах hda2 и hdb3
Форматирование файловой системы
1 |
# fdformat -n /dev/fd0 |
Форматирование флоппи-диска без проверки
1 |
# mkfs /dev/hda1 |
Создать файловую систему linux на разделе hda1
1 |
# mke2fs -j /dev/hda1 |
Создать журналируемую файловую систему ext3 на разделе hda1
1 |
# mke2fs /dev/hda1 |
Создание файловой системы ext2 на разделе hda1
1 |
# mkfs -t vfat 32 -F /dev/hda1 |
Создать файловую систему FAT32 на разделе hda1
Резервное копирование ( Backup )
1 |
# find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2 |
Поиск всех файлов, заканчивающихся на «.log» в директории /var/log, и упаковка их в bzip-архив
1 |
# find /home/user -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents |
Поиск в директории /home/user файлов, имена которых оканчиваются на «.txt», и копирование их в другую директорию
1 |
# rsync -rogpav --delete /home /tmp |
Синхронизировать директории /tmp и /home
1 |
# rsync -az -e ssh --delete ip_addr:/home/public /home/local |
Синхронизировать локальную и удаленную директории через ssh туннель используя сжатие
1 |
# rsync -rogpav -e ssh --delete /home ip_address:/tmp |
Синхронизация через SSH туннель
1 |
# rsync -az -e ssh --delete /home/local ip_addr:/home/public |
Синхронизировать удалённую директорию с локальной используя ssh туннель со сжатием
1 |
# dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz' |
Создать «слепок» локального диска в файл на удалённом сервере используя ssh туннель
1 |
# dd if=/dev/hda of=/dev/fd0 bs=512 count=1 |
Создание копии MBR ( Master Boot Record ) с /dev/hda на флоппи-диск
1 |
# dd if=/dev/sda of=/tmp/backup |
Создание резервной копии содержимого жесткого диска в файл backup
1 |
# dd if=/dev/fd0 of=/dev/hda bs=512 count=1 |
Восстановить MBR с флоппи-диска на /dev/hda
1 |
# dump -0aj -f /tmp/home0.bak /home |
Создать полную резервную копию директории /home в файл /tmp/home0.bak
1 |
# dump -1aj -f /tmp/home0.bak /home |
Создать инкрементную резервную копию директории /home в файл /tmp/home0.bak
1 |
# restore -if /tmp/home0.bak |
Восстановить данные из резервной копии /tmp/home0.bak
1 |
# tar -Puf backup.tar /home/user |
Создать инкрементную резервную копию директории /home/user в файл backup.tar сохраняя права доступа
1 |
# ( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p' |
Упаковка в архив и копирование содержимого /tmp/local в директорию /home/share/ удалённого сервера, используя ssh туннель
1 |
# ( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p' |
Упаковка в архив и копирование содержимого /home в директорию /home/backup-home удалённого сервера, используя ssh туннель
1 |
# tar cf - . | (cd /tmp/backup ; tar xf - ) |
Упаковка в архив и копирование одной директории в другую с сохранением прав доступа и ссылок
CDROM
1 |
# cd-paranoia -B |
Перенести аудио-треки с компакт-диска в wav-файлы.
1 |
# cd-paranoia -- |
Перенести три аудио-трека с компакт-диска в wav-файлы.
1 |
# cdrecord -v dev=/dev/cdrom cd.iso |
Записать ISO-образ на компакт-диск.
1 |
# gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom - |
Записать сжатый ISO-образ на компакт-диск.
1 |
# mkisofs /dev/cdrom > cd.iso |
Создать ISO-образ компакт-диска.
1 |
# mkisofs -J -allow-leading-dots -R -V |
Создать ISO-образ из содержимого директории.
1 |
# mkisofs /dev/cdrom | gzip > cd_iso.gz |
Создать сжатый ISO-образ компакт-диска.
1 |
# mount -o loop cd.iso /mnt/iso |
Смонтировать ISO-образ компакт-диска в файловую систему.
1 |
# cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force |
Очистить перезаписываемый компакт-диск.
1 |
# cdrecord --scanbus |
Сканировать системную шину для поиска идентификаторов SCSI каналов.
1 |
# dd if=/dev/hdc | md5sum |
Вычислить контрольную сумму MD5 для устройства, например, компакт-диска.
Сети (LAN / WiFi)
1 |
# dhclient eth0 |
Включить DHCP на сетевом интерфейсе eth0
1 |
# ethtool eth0 |
Вывод статистики по сетевому интерфейсу eth0
1 |
# hostname |
Вывести имя компьютера
1 |
# host www.example.com |
Преобразовать домен www.example.org в ip-адрес и наоборот
1 |
# ifconfig eth0 |
Вывести настройки сетевой карты eth0
1 |
# ifconfig eth0 promisc |
Переключить интерфейс eth0 в promiscuous-режим для сбора ( сниффинг ) сетевых пакетов
1 |
# ifup eth0 |
Включить сетевой интерфейс eth0
1 |
# ifdown eth0 |
Отключить сетевой интерфейс eth0
1 |
# ifconfig eth0 192.168.1.1 netmask 255.255.255.0 |
Назначить IP адрес и маску сетевому интерфейсу eth0
1 |
# ip link show |
Вывести статус связи всех сетевых интерфейсов
1 |
# iwconfig eth1 |
Вывести конфигурацию беспроводного сетевого интерфейса eth1
1 |
# iwlist scan |
Сканирование и поиск беспроводных сетей и точек доступа
1 |
# mii-tool eth0 |
Вывести состояние связи сетевого интерфейса eth0
1 |
# nslookup www.example.com |
Ресолвить ( преобразовать/разрешить ) доменное имя www.example.org в ip-адрес и наоборот
1 |
# route -n |
Просмотр локальной таблицы маршрутизации
1 |
# 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
1 |
# route add -net 0/0 gw IP_Gateway |
Назначить ip-адрес шлюза по умолчанию ( default gateway )
1 |
# route del 0/0 gw IP_gateway |
Удалить ip-адрес шлюза по умолчанию ( default gateway )
1 |
# netstat -tup |
Выводит листинг всех установленных соединений по протоколам TCP и UDP без разрешения имён в ip-адреса а так-же PID’ы и имена процессов, обслуживающих данные соединения
1 |
# netstat -tupl |
Вывод списка соединений по протоколам TCP и UDP без разрешения имён в ip-адреса а так-же и PID’ы и имена процессов, ожидающих соединений на сетевых портах
1 |
# netstat -rn |
Вывести таблицу маршрутизации, аналог команды route -n
1 |
# echo "1" > /proc/sys/net/ipv4/ip_forward |
Разрешить форвардинг ( пересылку ) пакетов
1 |
# tcpdump tcp port 80 |
Отлавливать и выводить весь трафик на TCP-порт 80 (обычно — HTTP)
1 |
# whois www.example.com |
Вывести информацию о доменном имени из базы данных whois
Microsoft Windows networks (samba)
1 |
# mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share |
Монтировать smb-ресурс, расшаренный на windows-машине, в папку локальной файловой системы
1 |
# nbtscan ip_addr |
Преобразовать имя netbios. Программа nbtscan не во всех системах присутствует по-умолчанию, nmblookup включен в пакет samba
1 |
# nmblookup -A ip_addr |
Преобразовать имя netbios. Программа nbtscan не во всех системах присутствует по-умолчанию, nmblookup включен в пакет samba
1 |
# smbclient -L ip_addr/hostname |
Вывести список ресурсов, выделенных в общий доступ на windows-машине
1 |
# smbget -Rr smb://ip_addr/share |
Аналог программы wget для SMB протокола
Брандмауэр IPTABLES, штатный, для большинства дистрибутивов Linux
1 |
# iptables -t filter -L |
Вывести список всех цепочек правил в таблице filter
1 |
# iptables -t nat -L |
Вывести все цепочки из NAT таблицы
1 |
# iptables -t nat -F |
Очистить все цепочки правил в таблице NAT
1 |
# iptables -t filter -X |
Удалить все пользовательские цепочки правил в таблице filter
1 |
# iptables -t filter -F |
Очистить все цепочки правил в таблице filter
1 |
# iptables -t filter -A INPUT -p tcp --dport telnet -j ACCEPT |
Разрешить входящие соединения с telnet
1 |
# iptables -t filter -A OUTPUT -p tcp --dport http -j DROP |
Запретить исходящие HTTP соединения
1 |
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE |
включить NAT (Network Address Translate) исходящих пакетов на интерфейс eth0. Допустимо при использовании с динамически выделяемыми ip-адресами.
1 |
# 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 |
Пересылка пакетов, адресованных одному хосту, на другой хост
1 |
# iptables -t filter -A INPUT -j LOG --log-prefix |
Включить логгирование пакетов, проходящих через цепочку INPUT, и добавлением к сообщению префикса «DROP INPUT»
1 |
# iptables -t filter -A FORWARD -p tcp --dport pop3 -j ACCEPT |
Разрешить форвардинг POP3 соединений
Мониторинг и отладка системы
1 |
# free -m |
Вывод статистики по оперативной памяти
1 |
# kill -9 proc_id |
Убить процесс с PID proc_id, без соблюдения целостности данных, то есть насмерть
1 |
# kill -1 proc_id |
Перечитать файл конфигурации процессом с PID proc_id
1 |
# last reboot |
Вывод истории ребутов системы
1 |
# lsof /home/user1 |
Вывести список открытых файлов из директории /home/user1
1 |
# lsof -p proc_id |
Вывести список файлов, открытых процессом с PID proc_id
1 |
# lsmod |
Список загруженных модулей ядра
1 |
# ps -e -o pid,args --forest |
Вывести список PID’ов и процессов в виде дерева
1 |
# ps -eafw |
Отобразить работающие в системе процессы, используемые ими ресурсы и другую полезную информацию ( единожды )
1 |
# pstree |
Вывести дерево процессов
1 |
# smartctl -i /dev/hda |
Проверить доступность SMART на жёстком диске /dev/hda
1 |
# smartctl -A /dev/hda |
Проверка состояния жёсткого диска /dev/hda через SMART
1 |
# strace -c ls >/dev/null |
Вывести список системных вызовов, созданных и полученных процессом ls
1 |
# strace -f -e open ls >/dev/null |
Вывести список вызовов системных бибилотек
1 |
# tail /var/log/messages |
Вывести десять последних записей из системного журнала
1 |
# tail /var/log/dmesg |
Вывести десять последних записей из журнала загрузки ядра
1 |
# top |
Вывести список работающих в системе процессов с различной полезной информацией в режиме реального времени с автоматическим обновлением данных
1 |
# watch -n1 'cat /proc/interrupts' |
Выводить прерывания в режиме реального времени
Другие полезные команды
1 |
# alias hh='history' |
Создать псевдоним hh для команды history
1 |
# apropos ...keyword |
Вывод комманд, так или иначе относящихся к ключевым словам. Полезно, когда вы знаете что делает программа, но не помните команду
1 |
# chsh |
Изменить системную оболочку пользователя
1 |
# gpg -c file1 |
Шифрует файл file1 с помощью GNU Privacy Guard
1 |
# gpg file1.gpg |
Дешифрует файл file1 с помощью GNU Privacy Guard
1 |
# ldd /usr/bin/ssh |
Список библиотек, используемых программой ssh
1 |
# man ping |
Ввывод страниц руководства по работе с программой, в данном случае, ping
1 |
# mkbootdisk --device /dev/fd0 `uname -r` |
Создаёт загрузочный флоппи-диск
1 |
# wget -r www.example.com |
Рекурсивно загружает содержимое сайта www.example.com
1 |
# wget -c www.example.com/file.iso |
Загрузить файл www.example.com/file.iso с возможностью остановки и докачки
1 |
# echo 'wget -c www.example.com/files.iso' | at 09:00 |
Включить закачку в определенное время
1 |
# whatis ...keyword |
Вывести описание действий указанной программы
1 |
# who -a |
Вывести список залогиненных пользователей, время последней загрузки системы и прочую полезную информацию
Источник:
http://vds-admin.ru/unix-linux/poleznye-komandy-linux
http://www.linuxguide.it/command_line/linux_commands_en.html