Шпаргалка по Linux и Bash

How can we help?

Навигация

sudo tcpdump -npi ens192 port 8080

Оригинал статьи здесь.

Работа в интерпретаторе

  • history – Отображает всю историю введенных команд
    • N – N-строк истории команд
    • -dN — удалить N-ю строку в истории команд (например введенный пароль)
  • !! — последняя введенная команда
  • !N — N-я команда в истории
  • !-N — команда, введенная N-шагов назад
  • !string — последняя команда, начинающаяся со string
  • !$ — последнее слово из предыдущего события
  • !?string? -последняя команда содержащая string
  • !!:s/новый/старый — замена в последней введенной команде, фразы старый на новый

Файловые команды

  • basename — Удаляет любой путь и указанный суффикс из имени файла (получает имя файла)
  • cd dir – сменить директорию на dir, при этом, если в текущем  каталоге нет подкаталога dir, то поиск dir происходит по каталогам, указанным в переменной $CDPATH
  • cp file1 file2– скопировать file1 в file2
    • -r – рекурсивно
    • -f или —force — попытаться удалить существующую цель, если в нее нельзя записывать.
    • -i или —interactive — интерактивно подтвердить попытку замещения существующего файла
    • -b или —backup — сделает резервную копию файлов, которые будут замещены.
    • p — сохранить атрибуты копируемого файла (время, права и т.п.)
  • csplit — Разбивает заданный файл на несколько новых файлов в соответствие с заданными образцами или номерами строк и выдает количество байтов в каждом новом файле
  • ddif=/source/device of=/target/device bs=blocksize count=кол-во_блоков — копирование и преобразование файлов
  • dirname — Удаляет из имени файла суффикс, не являющийся директорией (получает имя каталога — путь)
  • ln file link – создать хардлинк link к файлу file
    • -s – создать символическую ссылку
  • ls – список файлов и каталогов
    • -a – со скрытыми
    • -l — форматированный одноколоночный список (выводится тип файла, права доступа к файлу, количество жестких ссылок на файл, имя владельца, имя группы, размер файлаr (в байтах), временной штамп и имя файла. Типы файлов могут принимать следующие значения: — для обычного файла, d для каталога, b для блочного устройства, для символьного устройства, l для символической ссылки, p для PIPE (FIFO) и s для гнезда (socket).
    • -h — отображение размеров в человекопонятном (от human) виде (10M, 15K)
    • -i — вывод inode элементов
    • -t — сортировка по дате модификации (от старых к новым)/time
    • -S — отсортировать по размеру (от больших к маленьким)/size
    • -r — сортировка в обратном порядке
    • -R — список с подкаталогами
  • md5sum — Выводит или проверяет контрольные суммы Message Digest 5 (MD5)
  • mkdir dir – создать каталог dir
    • -p /path/to/three/{dir1,dir2,dir3} создание нескольких каталогов dir1,dir2,dir3 в каталоге /path/to/three/
    • -m permission — указание прав permission на создаваемый каталог
  • mv file1 file2 – переименовать или переместить file1 в file2. если file2 существующий каталог — переместить file1 в каталог file2
  • nl — Сообщает о количестве строк в указанных файлах
  • pwd – показать текущий каталог
  • readlink — Выдает значение указанной символической ссылки
  • rm file – удалить file
    • -r – удалить каталогь
    • -f – удалить форсированно (без запроса)
    • -i или —interactive — интерактивно подтвердить попытку удаления файла
  • stat — Отображает статус файла или файловой системы
  • touch file – обновить время доступа к файлу file или создать file, если его нет
    • -c или —no-create — не создавать файл, если его не существует.
    • -d или -t — изменить время на указанное (формат указания времени в man touch)
  • more file – вывести содержимое file с возможностью прокрутки вверх/вниз
  • less File — аналог more
  • tee file — вывод данных, получаемых со стандартного ввода на стандартный вывод И в файл file. (команда называется «тройник»)
  • fuser file — идентифицирует (если без параметров — отображает PID) процессы, использующие файл file
  • head file – вывести первые 10 строк file

Управление текстом

  • cut file — выделение из файла file указанных последовательностей и отправка на стандартный вывод
  • cat file – отображение содержимого file на стандартный вывод
    • -E — отображение концов строк
    • -n — нумерация строк
  • tac file – отображение содержимого file на стандартный вывод в обратном порядке
  • echo file — отображение содержимого file на стандартный вывод
    • echo string > file запись строки string в файл file (при наличии в файле других строк, файл перезаписывется)
    • echo string >> file ДОзапись строки string в КОНЕЦ файла file (при наличии в файле других строк, строка string дописывается в конец файла file )
    • -e — интерпретировать управляющие символы, такие как (\n — новая строка,\t -горизонтальаня табуляция и т.п.)
  • expand — Конвертирует символы табуляции в пробелы
  • rev  file — Меняет в заданном файле порядок строк на обратный
  • seq — Выдает последовательность чисел из указанного диапазона с указанным значением приращения
  • shred — Удаляет указанные файлы, путем перезаписывания на их место данных по сложным образцам, что усложняет восстановление удаляемых файлов
  • shuf — Перемешивает строки текста
  • sort — сортировка строк текстовых файлов по указанным параметрам
    • -k — указание номера поля, по которому сортируем
    • -t — разделитель
    • -n — числовая сортировка, т.е. сравнение ведётся по числовому значению (используют совместно с параметром -b)
    • -r — сортировка в обратном порядке
    • -R — в произвольном порядке
    • -u — исключение повторяющихся строк
  • tail file – вывести последние 10 строк file
    • -f – вывести содержимое file по мере роста, начинает с последних 10 строк
  • tailf file — аналог tail -f
  • wc File — печатает число строк, слов и байт в файле File
    • -c, —bytes — байтов
    • -m, —chars — символов
    • -l, —lines — строк
    • -L, —max-line-length — число символов в строе максимальной длины
  • tr string1 string2 — символьное преобразование символов из string1 в string2 (echo mama | tr abcd ABCD)
    • -s — замена повторяющихся символов на один
    • -d — убрать из вывода символы (abcd)
  • unexpand — Конвертирует символы пробелов в символы табуляции
  • uniq — Удаляются все повторяющиеся копии уже имеющихся строк

Управление системой

  • runlevel – вывести текущий уровень выполнения
  • chkconfig — информация о запускаемых сервисах на разных уровнях запуска для RedHat- подобных дистрибутивов
    • —list — вывод всех установленных сервисов с уровнями запуска
    • service on/off — включение — on или отключение — off запуска службы service на всех уровнях запуска
    • —levels 23 service on/off — включение — on или выключение — off запуска службы service на всех уровнях запуска 23
  • update-rc.d service default — добавление демона service в автоматическую загрузку на уровни выполнения по умолчанию для Debian подобных дистрибутивов
  • ctrlaltdel hard или soft — Устанавливает для комбинации символов Ctrl+Alt+Del жесткую или мягкую перезагрузку (обычно используется в стартовом скрипте, например /etc/rc.local)
  • init n — указание процессу init перейти на уровень выполнения n
  • /etc/init.d/daemon command — (управление службами системы инициализации SystemV)  выполнение команды command над демоном daemon (наиболее часто используемые команды: startstopstatusrestartreload — запустить демон, остановить, перезапустить, проверить статус, перечитать конфигурационный файл соответственно)
  • stty — управление настройками терминала
    • -a — вывод всех текущих настроек
    • sane — сброс настроек к настройкам по умолчанию
  • lscpu — вывод информации о ЦП
  • rtcwake — Используется для перевода системы в режим «сна», продолжающийся до тех пор, пока не настанет указанное время «проснуться»
  • telinit n — аналог (точнее символьная ссылка на init) init
  • initctl — управление системой загрузки upstart
    • check-config — проверить конфигурационные файлы Upstart
    • emit event — послать (эмитировать) событие event — upstart’у
    • help — отображение справки по командам initctl
    • list — отображение статуса задач
    • start jobd — запуск задачи/службы jobd
    • stop jobd — остановка задачи/службы jobd
    • status jobd — отобразить статус задачи/службы jobd
    • restart jobd — перезапуск задачи/службы jobd
    • reload jobd — перечитать конфиг задачи/службы jobd
    • reload-configuration — перечитать конфиги из /etc/init/
    • show-config — отобразить конфигурационный файл (когда запускается, останавливается, на какие события реагирует)
    • version — отобразить версию upstart
  • init-checkconf /path/to/file.conf — проверить конфигурационный файл upstart — /path/to/file.conf
  • start jobd/status jobd/stop jobd/restart jobd/reload jobd — аналог команд initctl start jobd и т.д. соответственно
  • shutdown n — переключается на уровень выполнения 1 (однопользовательский режим) через n минут (можно ввести вместо цифр — now, тогда уровень сменится моментально без ожидания)
    • -r переключается на уровень выполнения 6 (перезагрузка)
    • -h переключается на уровень выполнения 0 (выключение)
    • -c отмена запущенного переключения на какой-либо уровень выполнения.
  • reboot — перезагрузка, аналог shutdown -r now
  • halt — выключение, аналог shutdown -h now
  • watch command — запуск команды command через некоторые промежутки времени и отображение ее вывода в полный экран
    • -n sec — каждые sec-секунд
  • crontab file — создание таблиц планировщика Linux из файла file
    • -u user — редактирование таблиц планировщика пользователя user
    • -l — отображение текущих заданий из crontab
    • -e — редактирование таблиц планировщика
    • -r — удаление задания планировщика
    • -i — запрос перед удалением заданий crontab

Управление печатью (CUPS)

  • lpstat – отображение статуса заданий, классов и принтеров
    • -a printer — отображение текущего статуса принтера printer
    • -c class — отображение текущего статуса класса class
    • -p printer — отображение текущего статуса принтера/очереди (включен или выключен) printer. Если не указан принтер, то отображается информация о всех принтерах.
    • -d — отображение текущих очередей печати.
  • lpr file — печать файла file на принтер по умолчанию (в новых версиях CUPS заменена на lp)
  • lpinfo — отображение доступных устройств принтеров и драйверов
  • lppasswd username — изменение пароля пользователя username в CUPS в файл /etc/cups/passwd.md5
    • -a username — добавление нового пользователя username
    • -x username — удаление пользователя username
  • lpoptions — управление настройками принтера и отображение настроек.
  • lpadmin — настройка CUPS принтеров и класссов
  • accept очередь — включение возможности принятия в очередь заданий
  • reject очередь — отключение возможности приема новых заданий в очередь
  • enable очередь — запуск очереди очередь
  • disable очередь — остановка очереди печати очередь
    • -с очередь — отмена обработки печати всех документов в очереди (аналог «очистить очередь»)
    • -r причина — указание причины очистки

Управление процессами

  • bg number – список остановленных и фоновых задач/продолжить выполнение остановленной задачи в фоне, имеющей номер number
  • fg number – выносит на передний план последние задачи
    • n – вынести задачу n на передний план
  • kill pid – убить процесс с id pid
    • -TERM pid — попытаться завершить процесс с pid — сигналом SIGTERM (этот сигнал может быть обработан или проигнорирован программой).
    • -KILL pid — Завершить процесс принудительно, убить процесс в независимости от его состояния сигналом SIGKILL (процесс не может проигнорировать сигнал)
  • killall proc – убить все процессы с именем proc *
  • lsof pid — просмотр открытых файлов, процессом с pid
  • nice -n value script — изменение приоритета запускаемого процесса script на значение, равное value (может быть от -20 до 19, в порядке уменьшения приоритета, т.е. -20 — самый высокий)
  • nohub script — разрешение запускаемому процессу script , быть устойчивому к закрытию (при выходе пользователя процесс продолжит свое выполнение)
  • nproc — Указывает число дочерних процессов, имеющихся в данном процессе
  • pgrep — Ищет процессы по их именам и другим атрибутам
  • pidof proc1 proc2 — вывести PID всех запрошенных процессов
  • ps – вывести ваши текущие активные процессы
    • -a — связанные с конкретным терминалом, кроме главных системных процессов сеанса
    • a — процессы, связанные с текущим терминалом, а также процессы других пользователей;
    • x — процессы, отсоединённые от терминала (демоны, службы)
    • -u — отображение пользователя (владельца процесса)
    • aux — вывод всех процессов в системе
    • lax — вывод всех процессов в системе (UID не преобразуется в имя пользователя)
    • -ejH — Вывод процессов в виде дерева
    • -С process -o col — вывод информации из колонки col о процессе process (col бывают следующие: USER — имя пользователя, PID, %CPU — % использования CPU, %MEM — % использования памяти, VSZ — виртуальный размер процесса, в Кб, RSS — объем используемой физической памяти, в Кб, TTY — идентификатор управляющего терминала, STAT — текущий статус процесса, м/б D — ожидание вв/выв, R — запущен, S — ожидание, T — остановлен, W — процесс выгружен на диск, X — процесс уничтожен, Z — зомби и др…, START — время запуска процесса, TIME — время ЦП для процесса, COMMAND — команда, запустившая процесс)
    • -u user — отобразить процессы пользователя user
  • pstree — команда отображает дерево запущенных процессов. (ИМХО-отличная программа, дает очень наглядное представление о запущенных процессах в системе)
    • -a — отображение процессов с аргументами запуска командной строки
    • -h — подсвечивает текущий процесс и его предков
    • -u — показывает UID процесса. (Когда uid процесса отличается от uid родителя , то новый uid показывается после имени процесса ,заключенным в круглые скобки)
  • pwdx — Сообщает о текущем рабочем директории процесса
  • sysctl — Модифицирует параметры ядра в режиме реального времени
  • top – показать все запущенные процессы в интерактивном режиме (с возможностью сортировки по загрузке ЦП/памяти/т.п.):
    • h — справка о программе
    • k — уничтожить процесс
    • n — число отображаемых процессов
    • u — сортировать по имени пользователя
    • — сортировать по объему ОЗУ
    • — сортировать по загрузке ЦП
    • — изменить приоритет выполнения
    • — выход
  • renice -value PID— изменение приоритета запуЩЕННОГО процесса с PID=PIDна значение, равное value (может быть от -20 до 19, в порядке уменьшения приоритета, т.е. -20 — самый высокий)

Права доступа на файлы/папки

  • chmod octal file– сменить права file на octal, раздельно для пользователя, группы и для всех, добавлением:
    • 4 – чтение (r)
    • 2 – запись (w)
    • 1 – исполнение (x)
    • Примеры:
      • chmod 777 – чтение, запись, исполнение для всех
      • chmod 755 – rwx для владельца, rx для группы и остальных.
    • -R — назначение указываемых прав всем дочерним элементам
  • chown user:group file – сменить владельцев file на user:group

SSH

  • ssh user@host– подключится к host как user
    • -p port – подключится на порт port
  • ssh-copy-id user@host – добавить ваш ключ на host для user чтобы включить логин без пароля и по ключам

Поиск

  • grep pattern files– искать pattern в files
    • -r – искать рекурсивно pattern в dir
    • command | grep pattern – искать pattern в выводе command
    • -v — искать строки, не содержащие pattern (например можно найти все строки, не начинающиеся на комметарий и не пустые: grep -v ‘^#’| grep -v ‘^$’)
    • -i — без учета регистра букв
    • -E — с интерпретацией регулярных выражений
    • -l — листинг файлов, содержащих строку в имени
  • locate file – найти все файлы с именем file
  • find path file — поиск файла file в каталоге path
    • -path — поиск по пути
    • -name — поиск по имени
    • -ipath или -iname — то есть с «i» — регистронезависимый поиск
    • -type d или f или l — поиск по типу файла: ‘f’ для регулярных файлов, ‘d’ для каталогов и ‘l’ для символьных ссылок соответственно (другие типы — в man find)
    • -size n — поиск файла по размеру (n может быть как n, как +n (более n), как -n (менее n), а так же для указания единицы измерения: nc — для байт, nk — для килобайт, nb — блоков)
    • -empty — поиск пустых файлов
    • -print — вывод всего что найдено
    • -ls — вывод найденного аналогично команде ls -lids
    • -exec command; - выполняет команду command для каждого файла (обязательно заканчивается ; ),
    • -mtime n — поиск файла по времени модификации
    • -atime n — поиск файла по времени доступа
    • -daystart — указание на отсчет времени от полуночи
    • -mmin n— указание времени модификации от текущего времени в минутах
    find . -size -26c -size +23c -exec ls -l ‘{}’ \;
    • данный пример ищет файлы размером от 23 байт до 26 и с найденным выполняет команду ls -l.
    find /folder -perm +4000
    • данный пример ищет файлы с битом SUID в каталоге /folder.

Работа с переменными

  • env — работа с переменными окружения (от environment — окружение), без параметров — вывод всех имеющихся
  • peremennaya=»znachenie» — присвоеное переменной peremennaya значения znachenie (кавычки желательно использовать на случай, если в переменной несколько подряд идущих символов пробела или табуляции)
  • printenv — Выдает значения переменных среды окружения
  • unset $peremennaya — удаление переменной
  • readonly peremennaya — установка переменной значения «только для чтения», то есть запрет изменения значения переменной. (без аргументов — вывод всех переменных, помеченных только для чтения)
  • export peremennaya — экспорт переменной peremennaya для родительских процессов
  • set arg1 arg2 arg3 … argn — установка позиционных переменных $1 $2 $3 … $n на основании arg1 arg2 arg3 … argn
    • -a (allexport) — экспортирует все инициализируемые переменные
    • -f (noglob) — указывает интерпретатору не развертывать имена файлов
    • -n (noexec) — указывает интерпретатору развертывать команды, но не выполнять их
    • -t (exit) — читает и выполняет одну команду, а затем прекращает работу
    • -u (nounset) — возвращать ошибку при развертывании пустой переменной
  • declare -atr +atr peremennaya — устанавливает (символ — минус) или снимает (символ + плюс) атрибуты atrу переменных (если без указания переменной — то вывод всех переменных с указанным атрибутом)
    • -a — объявление переменной массивом
    • -f — объявление переменной — именем функции
    • -i — пометить переменную для хранения целых числовых значений
    • -r — объявление переменной «только для чтения»
    • -x — пометка переменной для экспорта

Системная информация

  • date – вывести текущую дату и время
    • [ммддччмм[гг]].сс — установка даты и времени (мм — месяц, дд — дата, чч — час, мм — минут, гг — год, сс — секунд)
  • cal – вывести календарь на текущий месяц
  • uptime – показать текущий аптайм
  • uname – показать информацию о ядре
    • -s — Показать имя ядра (информация выдается по умолчанию, если ни одна опция не указана)
    • -n — Показать имя хоста.
    • -r — Показать номер выпуска ядра. Эта опция часто используется с командами управления модулями.
    • -v — Показать версию ядра.
    • -m — Показать имя аппаратной платформы (CPU).
    • -o — Показать имя операционной системы.
    • -a — Показать всю возможную информацию.
  • cat /proc/cpuinfo – информация ЦПУ
  • cat /proc/meminfo – информация о памяти
  • df – показать инф. о использовании дисков
    • -t — указание типа ФС
    • -h — в «понятном» виде
    • -T — отображение типа ФС
    • -i — отображение информации об inode
    • -x fstype — исключение вывода по типу ФС
  • du – вывести “вес” текущего каталога
    • -s — с подкаталогами
    • -h — в «понятном» виде
    • -m — вывод в мегабайтах
  • dmidecode — информация о железе, берется из API DMI (пакет pmtools)
    • -t— указать тип устройства
      • -t 17 — информация о памяти
    • -q — вывод меньшей информации
  • free – использование памяти и swap
  • whereis file– отображение расположения файла file
  • which app – отображает путь к команде app
  • type app — аналог каманды which
  • enable — вывод встроенных в интерпретатор команд
  • lshw — обтображение списка устройств
  • lsmod — список подключенный модулей ядра
  • modprobe modulemane — добавления и удаления модулей ядра Linux
  • modinfo modulename — информация о модуле modulename
    • -F param — отображение только параметра param для модуля

Справочная информация

  • man command – показать ман-страницу для command
  • info command — показать info-страницу для command
  • whatis command – поиск man-страницы для command и отображение информации об имени из соответствующей man-странице
  • apropos command — поиск по ключевым словам в man-страниц и выводит те, которые содержат command(по существу, это аналог команды man -k, где ключ k — указывает на поиск в руководстве по ключевому слову)
    • editor — отобразит имеющиеся в системе текстовые редакторы

Архивация

  • bzcat/bzdiff/bzegrep/bzfgrep/bzgrep/bzless/bzmore — Запуск команды bzcat/bzdiff/bzegrep/bzfgrep/bzgrep/bzless/bzmore соответственно для файлов, заархивированных с помощью bzip
  • tarcf file.tar files– создать tar-архив с именем file.tar содержащий files
    • с — создать архив
    • t — вывести содержимое архива
    • r — дописать в архив
    • x — распаковать архив
    • j — использовать сжатие Bzip2 (*.bz2)
    • z — использовать сжатие Gzip (*.gz)
    • v — выводить отладочную информацию
    • — название файла архива
  • gzip file – сжать file и переименовать в file.gz (без указания файла — сжатие с stdin)
    • -l — отобразить содержимое архива
    • -d — распаковать архив, исходный удалить
  • zcat/zcmp/zdiff/zegrep/zfgrep/zgrep/zless/zmore — Запускает команду cmp для файлов, заархивированных с помощью gzip
  • zcat file.gz — просмотр содержимого архива file.gz
  • gunzip file.gz– распаковать file.gz в file
    •  — отправить вывод на stdout

Управление NFS

  • showmount host — отобразить список хостов, которым разрешено монтировать эксп ортированные файловые системы на хосте host (без указания параметра host будет выведена информация с локальной системы);
    • -a — вывести полную информацию об экспортированных иерархиях (хост/strong– вывести первые 10 строк fileempstree n — поиск файла по размеру (n может быть как n, как +n (более n), как -n (менее n), а так же для указания единицы измерения: nc — для байт, nk — для килобайт, nb — блоков) — каталог)
    • exportfs – управление экспортированными каталогами
      • -a — экспорт всех иерархий из /etc/exports, но не разэкспортирует удаленные элементы.
      • -i — игнорирует файл /etc/exports и использует только параметры из командной строки.
      • -o — задает опции экспорта (обычно используют с -i), напримерexportfs -i -o ro hostname:/folder/subfolder # экспортирует файловую систему /folder/subfolder из локальной системы в систему hostname только для чтения (ro)
      • -r — реэкспортирует элементы файла /etc/exports и удаляет неверные записи из /var/lib/nfs/xtab
      • -u — разэкспортирует иерархию
      • -v — «говорительный» режим )

Сеть (DNS)

    • ipcalc — калькулятор сети
    • ethtool interface — отобразить физическую статистику интерфейса interface;
    • ping host – пропинговать host и вывести результат
# # несколько примеров команды ping, выводящие локальное время
ping -I 10.234.4.2 10.224.10.2 | awk '{if($0 ~ /bytes from/){print strftime()" *** "$0}else print}'
ping -I 10.234.4.2 10.224.10.2 | while read pong; do echo "$(date) *** $pong"; done
ping -I 10.234.4.2 10.224.10.2 | perl -nle 'print scalar(localtime), " *** ", $_'
    • whois domain – получить информацию whois для domain
    • traceroute host — трассировка маршрута до определенного хоста
    • ifconfig eth0 — отображение/настройка параметров сетевого интерфейса etho (либо другого, если без указания интерфейса — отобразит конфигурацию всех интерфейсов)
      • inet ip.add.re.s — задание ip адреса интерфейса (TCP/IP)
      • mask xxx.xxx.xxx.xxx — задание маски подсети интерфейса
      • broadkast xxx.xxx.xxx.xxx — задание широковещательного адреса интерфейса
      • up — запустить интерфейс
      • down — остановить интерфейс
      • -a — отображение всех железных интерфейсов (в том числе и не поднятых и поднятых)
    • route — отображение таблицу маршрутизации
      • -n — не резолвить имена в адреса
      • add destination gw gateway metric metric — добавить маршрут (add) для destination (адрес назначения), IP адрес шлюза (gw) — gateway, с метрикой metric
        • add -net -указание добавить маршрут для сети
        • add — host -указание добавить маршрут для хоста
      • del destination — удалить маршрут с назначением destination
    • mtr host — отображение статистики трассировки до хоста host (красивее чем трасероут :) )
    • netcat host port — просмотр, кто слушает порт
    • nc — TCP/IP швейцарсий нож :)
      • -h — отобразить помощь
      • -l port — прослушивать локальный порт port для входящих соединений.
    • netstat -отображение статистики сети
      • -r — таблица маршрутизации
      • -n — без разрешения IP адресов в имена и сетевых портов в названия
      • -a — состояние всех (во всех состояниях) соединений на локальной машине
      • -t — статистика по протоколу TCP
      • -u — статистика по протоколу UDP
      • -i — отобразить статистику сетевых интерфейсов
      • -l — просмотр сокетов, слушающих (LISTEN) соединения (ожидающих соединения)
      • -p — отобразить имя программы и PID (process ID), с которой взаимодействует сокет
      • примеры:
[root@proxy ~]# netstat -ai
Kernel Interface table
Iface       MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0       1500   0 36017870      0     31      0 42781870      0      0      0 BMRU
eth1       1500   0 43918739      0      0      0 34393308      0      0      0 BMRU
eth2       1500   0  3220106      0      0      0  3666398      0      0      0 BMRU
lo        16436   0 15429640      0      0      0 15429640      0      0      0 LRU
ppp0       1246   0    14047      0      0      0     1576      0      0      0 MOPRU
ppp1       1246   0     1329      0      0      0     1941      0      0      0 MOPRU
    • nmap host — просканировать порты на хосте host
      • -p ports — просканировать указанные порты
      • -o — определить ОС при сканировании порта
    • tcpdump — анализатор заголовков пакетов
      • -n — не преобразовывать IP в DNS
      • -i interface — указать какой интерфейс слушать
      • port nn — указать вывод только nn порта
      • -w file — сохранять вывод в файл file
    • wget file – скачать file
      • -c – продолжить остановленную закачку
    • dig domain – получить DNS информацию о domain
      • -x 1.2.3.4 – реверсивно искать данные о хосте 1.2.3.4 (то есть найти данные для 4.3.2.1.in-addr.arpa.)
      • @ns.server — источником информации о DNS — использовать ns.server
      • SOA|MX|A|NS — указать тип получаемой записи
      • +short — получение коротких отчетов
      • +nocomments — отключить комментарии в отчете
      • +trace — включение трассировки поиска запрашиваемого значения
      • -f file — запуск построчно команды dig с параметрами, указанными в каждой строке файла file
    • named-checkzone zone_name /file/name/zone — проверяет синтаксис файла зоны /file/name/zone
    • named-checkconf— проверяет синтаксис файла named.conf
      • -z — проверка named.conf с проверкой корректности файлов зон
    • nslookup— интерактивные запросы к DNS
      • host — отобразить основные (A и MX) записи хоста host
      • -debug — включить режим отладки
      • -type=SOA|MX|A…. — вывод указанного типа ресурсной записи
      • host ns.server — получить информацио о хосте host с DNS сервера ns.server
    • host domain — получить DNS информацию о домене domain
      • -a — вывести все записи зоны
      • -d — отладка
      • -t A|MX… — указание типа ресурсной записи
      • v — вывод подробной информации
      • host ns.server — узнать информацию о хосте host  с DNS сервера ns.server

Управление программным обеспечением

    • Установка из исходников:
[mc-sim@ASUS /]$ wget http://www.site.com/packege.tar.gz # получаем архив packege.tar.gz с сайта http://www.site.com/
[mc-sim@ASUS /]$ tar xzvf packege.tar.gz                 # распаковываем архив packege.tar.gz
[mc-sim@ASUS /]$ cd packege                              # переходим в каталог с распакованным архивом
[mc-sim@ASUS /]$ less README или INSTALL                 # читаем файл README или INSTALL, обычно в них описан
HOWTO INSTALL                                            # процесс установки, если нет, то выполняем команды:
....
[mc-sim@ASUS /]$ ./configure
[mc-sim@ASUS /]$ make
[mc-sim@ASUS /]$ make install
    • apt-get— вывод информации о команде управления пакетами apt-get
      • install pakage — установка пакета pakage
      • remove pakage — удаление пакета pakage
        • —purge — удаление вместе с пакетом конфигурационных файлов
      • check — проверка дерева зависимостей пакетов
      • update — обновление локального списка пакетов
      • upgrade — обновление всех пакетов, не требующих инсталляции (обновляются только те, которые установлены и те, которые зависят от уже установленных)
      • dist-upgrade — обновление пакетов системы с инсталляцией новых пакетов (обновляются все пакеты, в том числе и не инсталлированные)
    • apt-cachesearch pakage — выполняет полный поиск текста pakage по всем доступным файлам пакетов по заданному шаблону. Команда просматривает имена пакетов и описания, для поиска определенной строки, а также выводит имя пакета и его краткое описание.
    • ldd /path/program — вывести список библиотек общего доступа от которых зависит программа /path/program
    • strace program — трассировка системных вызовов команды program. (очень полезна для отслеживания попыток программы открыть конфиг/библиотеку и т.п.)
      • -e write — указать параметр фильтрации, в данном примере — отслеживать системные вызовы write (часто используется open)
      • -f — отслеживать системные вызовы потомков (желательно использовать)
      • -o file — вывод трассировки в файл file
    • ldconfig — пересоздание кэша библиотек общего доступа
    • dpkg -i pkg.deb– установить (или обновить) пакет (Debian)
      • -r (—remove) pkg.deb — удаление пакета pkg.deb с сохранением конфигов
      • -P (—purge) pkg.deb — удаление пакета pkg.debс удалением конфигов
      • -l (—list) — отобразить установленные в системе пакеты
      • —search /bin/file — узнать какому пакету принадлежит файл
      • —status pkg или —info pkg — показать информацию о пакете pkg
      • —contents pkg.deb — показать состав пакета pkg.deb
    • netselect-apt— выбор быстрых зеркал для менеджера пакетов
      • stable|testing|unstable|experimental|woody|sarge|etch|sid — указать тип версии репозитория.
      • -o, —outfile file — указать выходной файл с репозиторием
      • -f — использовать FTP репозитории вместо http.
    • rpm — (без параметров) вывод версии пакетного менеджера
      • i pkg.rpm – установить пакет (RPM) pkg.rpm
      • -v — вывод информации на экран при установке/удалении
      • -q— вывод краткой информации о пакете (версия)
        • -a — вывод информации о всех установленных пакетах
        • -f file — Запросить пакет, которому принадлежит файл file
        • -i pkg.rpm — вывод полной информации об установленном пакете pkg.rpm
        • -l pkg.rpm— Запросить список файлов в пакете pkg.rpm
      • -ivh — установка пакета с выводом доп инфо
      • -Uvh — обновление имеющегося пакета с выводом доп инфо
      • -e — удаление пакета
      • -qpl pkg.rpm — вывод информации о файле пакета pkg.rpm
      • -R — Запросить список пакетов, от которых зависит этот пакет
      • —initdb — инициализация базы данных RPM (создает структуру файлов в каталоге /var/lib/rpm, содержащих информацию о пакетах, зависимостях и т.п.)
      • —nodeps — не обращать внимания на зависимости

Управление пользователями и группами

    • last — Показывает, какие пользователи последними входили в систему (и покидали ее), выполняя для этого поиск в файле /var/log/wtmp в обратном порядке; также показывает информацию о загрузках системы, ее остановках и изменениях ее уровней запуска
    • lastb — Показывает неудачные попытки входа в систему, которые записаны в файле /var/log/btmp
    • – показать пользователей онлайн
    • whoami – имя, под которым вы залогинены.
    • finger user@host – показать информацию о user (без указания пользователя — выведет список пользователей, залогиненых в системе) на хосте host, утилита не чувствительна к регистру символов
    • write user [terminal] — начать сеанс общения с пользователем user на терминале terminal
    • talk user@host — чат с пользователем user на компьютере host
    • wall message — разместить сообщение message на всех терминалах.
    • mesg y/n — включение — y и выключение — n возможности принимать сообщения на консоли
    • su user — создание оболочки (подоболочки текущей оболочки) с правами пользователя user (без указания пользователя — вызывается оболочка root)
      • -, -l, —login — все 3 параметра имеют одно значение — загрузить окружение вызываемого пользователя (выполняются все стартовые сценарии и подгружаются переменные окружения вызываемого пользователя)
      • -с command — выполнить команду command с правами суперпользователя и «понизить» права в исходные после завершения команды.
    • useradd user — добавление нового регистрационного имени пользователя user в системе
      • -g group — задает основную группу (primary group) для нового пользователя. По умолчанию используется стандартная группа, указанная в файле /etc/default/useradd.
      • -d dir — доманий каталог (home directory) нового пользователя. По умолчанию используется $HOMEDIR/user
      • -s shell — полный путь к программе (шеллу), используемой в качестве начального командного интерпретатора для пользователя
      • -m — Создает начальный каталог нового пользователя, если он еще не существует. Копирует скелетные файлы и другие каталоги из /etc/skel в домашний каталог.
      • -b — Базовый каталог по умолчанию, в котором создаются домашние каталоги пользователей. Обычно это /home, а пользовательские каталоги — /home/$USER.
      • -c «text text» — Текстовая строка для описания id, содержащая, например, полное имя пользователя.
      • -e YYYY-MM_DD — Дата, когда учетная запись потеряет силу или будет заблокирована.
      • -G gr1,gr2,gr3 — Список дополнительных групп, которым принадлежит пользователь.
      • -o — Позволяет создать пользователя с неуникальным id.
      • -u — Неотрицательное цифровое значение id пользователя, которое должно быть уникальным, если не определено иначе опцией -o. По умолчанию используется самое маленькое значение, не меньше, чем UID_MIN, причем больше, чем id любого из существующих пользователей.
    • usermod user — изменение настроек пользователя с именем user в системе
      • аналогичны всем вышеуказанным для useradd
      • -L — блокировка учетной записи
      • -U — разблокировка учетной записи
    • userdel user — удаляет пользователя user из системы
      • -r — удаление домашнего каталога пользователя
    • users — Выдаются имена пользователей, которые в текущий момент зарегистрированы в системе
    • groupadd group — добавление (создание) новой группы group в системе
      • -f — Выйти со статусом успешного выполнения, если группа уже существует. Удобна при написании скриптов, когда нет необходимости проверять, существует ли группа, прежде чем пытаться ее создавать.
      • -g — Задать id группы вручную.
      • -o — Разрешить группу с неуникальным id.
    • groupmod group — изменение информации о группе group в системе
      • -n group2 задание нового имени group2
    • groupdel group — удаление группы group из системы
    • passwd user — изменяет/устанавливает пароль пользователя user
      • -l — блокирование учетной записи
      • -d — удаление пароля учетной записи (блокирование)
      • -f — установка даты прекращения полномочий
      • -n — минимальное время действия пароля в днях
      • -x — максимальное время действие пароля в днях
      • -w — число дней появления предупреждения об окончании действия пароля
      • -i — число дней, после которых пароль потеряет силу и учетка заблокируется.
      • -S — вывод сообщения о статусе пользователя
    • gpasswd group — изменяет/устанавливает пароль группы group (Наличие пароля группы позволяет пользователям временно войти в группу при помощи команды newgrp, если им известен пароль группы.)
    • id who — просмотр информации о пользователе/группе who (принадлежность к группам, UID, GID)
    • ulimit — ограничение пользовательских ресурсов:
      • -a — отображение всех возможных ресурсов
      • -f — ограничение размера файла
      • -t — процессорное время

Управление блочными устройствами (работа с разделами на жестком диске)

    • fdisk /dev/block_device— интерактивное редактирование таблицы раздела блочного устройства /dev/block_device
      • -l — отображение таблицы разделов устройства.
    • badblocks — Поиск плохих блоков на устройстве (обычно на дисковом разделе)
    • blkid /dev/sda1 — определяет и выдает атрибуты блочного устройства (без параметров — атрибуты всех блочных устройств)
    • dumpe2fs — Выдает информацию о суперблоке и группе суперблоков файловой системы, присутствующей на указанном устройстве
    • e2freefrag — Сообщает информацию о фрагментации свободного пространства
    • e2image — Используется для сохранения в файле данных, критичных для файловой системы ext2
    • e2initrd_helper — Выдает тип файловой системы для указанной файловой системы; указывается имя или метка устройства
    • e2label — Отображает или изменяет метку файловой системы в файловой системе ext2, присутствующей на заданном устройстве
    • e2undo — Выдает информацию, касающуюся отмены действий, из журнала undo_log файловой системы ext2/ext3/ext4, расположенной на устройстве. Может использоваться программой e2fsprogs для отмены неверно выполненной операции.
    • filefrag — Сообщает о том, насколько сильно может быть фрагментирован конкретный файл
    • findfs LABEL=label или UUID=uuid Поиск файловой системы по метке или по универсальному уникальному идентификатору Universally Unique Identifier (UUID)
    • findmnt — поиск (отображение) смонтированной файловой системы (удобнее чем mount)
    • logsave — Сохраняет данные, выдаваемые командой, в журнальном файле.
    • lsattr — Выдает списки атрибутов файлов второй расширенной файловой системы.
    • mkfs -t type /dev/block_device — создание файловой системы type на устройстве /dev/block_device
      • -L — указание метки тома
      • существуют аналоги команды, которые позволяют не использовать опцию -t, аналоги можно посмотреть командой: ls /sbin/mk*
    • e2labael /dev/block_device newlabel — задание метки тома newlabel для устройства /dev/block_device
    • tune2fs /dev/block_device newlabel — изменение параметров ФС ext2/ext3
      • -j — добавление журналирования для ext2 (преобразование в ext3)
    • mkswap /dev/block_device newlabel — создание раздела SWAP (раздела подкачки на устройстве /dev/block_device< newlabel)
    • swapon — подключение (монтирование) раздела подкачки
    • swapoff — отключение (размонтирование) раздела подкачки
    • fsck /dev/block_device — проверка и исправление ФС на устройстве /dev/block_device или перечисленных в /etc/fstab и имеющих в поле pass, значение отличное от 0. С увеличением числа — уменьшается очередность сканирования. То есть поле pass со значением 1 будет проверено первым, со значением 2 — вторым и т.д.
      • -AR — проверка всех файловых систем, отмеченных для проверки в /etc/fstab (A), кроме корневой (R)
      • -a — автоматическое подтверждение всех запросов на исправление системы
      •  — проверка всех сбойных блоков
      • -v — вывод текстовых сообщений во время проверки
      • у команды есть аналоги для каждого типа ФС, аналоги можно просмотреть командой: ls /sbin/*fsck*
    • mdadm -C /dev/md0 -l 5 -n 3 -x 1 /dev/sda[5-8]— создание RAID массива на устройстве /dev/md0, уровня 5, из 3х дисков, c одним hot spare, в массив включить файловые системы на диске /dev/sda — с 5 по 8.
      • -f /dev/sdaN — пометить раздел /dev/sdaN сбойным
      • -r /dev/sdaN — пометить раздел /dev/sdaN извлеченным
      • -a /dev/sdaN — добавить раздел /dev/sdaN в массив
    • mount device dir — монтирование/подключение файлового устройства device в каталог dir (запуск без параметров выводит список уже смонтированных устройств)
      • -a — монтирование всех файловых систем, указанных в /etc/fstab (включая те, которые имеют параметр noauto)
      • -t fstype — указание типа файловой системы (ntfs, nfs, ext3 и т.п.)
      • -h — помощь
      • -r — монтирование в режиме только чтения
      • -o parametr=znachen— устанавливает параметры монтирования:
        • conv=auto — автоконвертирование текста их формата MSDOS в UNIX (замена символа конца строки CR-LF на LF)
        • ro — монтирование в режиме только для чтения
    • umount dir/mount_point — размонтирует файловые системы
      • -a — размонтирование всех файловых систем, указанных в /etc/fstab, кроме корневой
    • quotacheck — проверка установленной квоты на разделах
    • quotaon — установка квот на разделах
    • quotaoff — отключение квот на разделах
    • edquota — отключение квот на разделах
    • partprobe /dev/device — перечитать таблицу разделов устройства /dev/device (обычно используется после внесения изменений в таблицу разделов командой fdisk, если ядру не удалось это сделать автоматом)
    • uuidd — Демон, используемый библиотекой UUID для создания безопасных и гарантированно уникальных идентификаторов UUID
    • uuidgen — Создает новые идентификаторы UUID. Каждый новый идентификатор UUID может обоснованно считаться уникальным среди всех идентификаторов UUID, созданных как на локальной машине, так и на любых других машинах, как в прошлом, так и в будущем.
    • resize2fs /dev/раздел размерM — изменение размера раздела /dev/раздел до размера размерM(в мегабайтах)
      • -p — выводить информацию