• Основные команды Linux:

    Основные команды Linux с примерами, для любых действий, полный сборник!

    • 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 https://www.site.com/packege.tar.gz # получаем архив packege.tar.gz с сайта https://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)
      • 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 - выводить информацию