==== Общие сведения ====
Команды в nix-системах представляют собой:
* //встроенные// в интерпретатор команды
* //внешние// программы (утилиты).
В первом случае интерпретатор сам выполняет действия, а во втором - подключает программы, имена которых соответствуют именам команд. Поиск внешних программ осуществляется по путям, указанным в переменной PATH.
Узнать, к какому типу принадлежит команда можно так:
type -a [имя_команды]
Все программы, в зависимости от дистрибутива, располагаются в следующих каталогах:\\
/bin \\
/sbin \\
/usr/bin \\
/usr/sbin \\
Если программы устанавливались из исходных кодов или из нестандартных репозиториев дистрибутива, файлы программ иногда можно встретить в таких каталогах:\\
/usr/local/bin \\
/usr/local/sbin \\
/opt/имя_пакета/bin \\
/opt/имя_пакета/sbin \\
Ниже приведён список ((Список команд в виде wiki-страницы взят с [[http://lug.yaroslavl.ru/wiki/doku.php/bash|Linux User Group города Ярославль]])) консольных команд (программ) входящих в большинство дистрибутивов. Не даны команды (программы), относящиеся к графических средам.
==== coreutils ====
**coreutils** - это основные программы, на которые опирается функционирование операционной системы. В разных дистрибутивах разработчики по своему включают или убирают программы из этого набора, но примерный список остаётся одинаковым для всех.
* **cat** — Читает содержимое файлов и выводит в стандартный вывод
* **chgrp** — Изменяет принадлежность группе каждого ФАЙЛА на ГРУППУ
* **chmod** — Изменяет права каждого файла
* **chown** — Изменяет владельца и/или группу каждого файла
* **cp** — Копирует ИСТОЧНИК в НАЗНАЧЕНИЕ, или несколько ИСТОЧНИКОВ в КАТАЛОГ
* **cut** — Печатает выбранные части строк из каждого файла на STDOUT
* **date** — Выводит текущее время в заданном формате, или устанавливает системное время
* **dd** — Копирует файл, преобразует и форматирует в зависимости от операндов. Заполнение файла или диска данной последовательностью байтов
* **df** — Показать информацию о файловой системе. Полный размер, использовано, свободно места.
* **dir** — Выдает информацию о файлах.
* **dircolors** — Выдает команды для установки переменной окружения LS_COLORS. Соответствие цвета типу файла.
* **du** — Суммирует использование дискового пространства каждого FILE, с каталогами. Размер файлов и папок.
* **echo** — Вывод в STDOUT. Печатает строку текста в стандартный вывод.
* **false** — Возвращает всегда ложь
* **install** — Создает все компоненты указанных каталогов. Копирует ИСТОЧНИК в НАЗНАЧЕНИЕ.
* **ln** — Создаёт жесткую/символическую ссылку на файл или каталог
* **ls** — Выдает информацию о ФАЙЛАХ.
* **mkdir** — Создаёт новый каталог
* **mkfifo** — Создает именованные каналы (FIFO) для заданного NAME
* **mknod** — Создает специальный файл с именем NAME и типом TYPE.
* **mv** — Перемещает или переименовывает файл или каталог
* **pwd** — Печатает название текущего/рабочего каталога
* **readlink** — Возвращает имя файла, на который указывает символическая ссылка
* **rm** — Удаляет файлы или каталоги
* **rmdir** — Удаляет пустой каталог
* **shred** — Переписывает несколько раз указанные файлы для того, чтобы сделать более сложным восстановление
* **sleep** — Приостанавливает выполнение на заданное ЧИСЛО секунд
* **stty** — Изменение установок терминала или печать текущих установок
* **su** — Запускает shell под другим пользователем (по умолчанию под пользователем root)
* **sync** — Записывает измененные блоки на диск, обновляет суперблок
* **touch** — Создаёт новый файл или же, в случае его существования, изменяет его время модификации
* **tr** — Преобразует, уплотняет и/или удаляет знаки со стандартного ввода и печатает на стандартный вывод.
* **true** — Возвращает всегда правду
* **uname** — Печатает определенные сведения о системе
* **vdir** — Выдает информацию о ФАЙЛАХ
* **[[** — Синоним команды test
* **base64** — Кодирует или декодирует в/из base64 ФАЙЛ
* **basename** — Выводит ИМЯ без предшествующих названий каталогов. Выводит имя файла из пути
* **chcon** —
* **cksum** — Печатает контрольную сумму (CRC) и число байт для каждого ФАЙЛА
* **comm** — Сравнивает сортированные файлы ФАЙЛ1 и ФАЙЛ2 построчно.
* **csplit** — Выводит части ФАЙЛА, разделенные ОБРАЗЦОМ (ОБРАЗЦАМИ), в файлы `xx00', `xx01', ... и печатает число байт в каждой части на стандартный вывод. Разделяет файл на секции по некоторым определённым линиям
* **dirname** — Выводит ИМЯ, удалив компоненту справа от последней косой черты; Выводит путь до файла/папки
* **env** — Присваивает каждому ИМЕНИ соответствующее ЗНАЧЕНИЕ и запускает КОМАНДУ в этой среде.
* **expand** — Преобразует символы табуляции в пробелы
* **expr** — Печатает значение ВЫРАЖЕНИЯ на стандартный вывод. Логические, арифметические операции.
* **factor** — Печатает простые множители каждого ЧИСЛА.
* **fmt** — Переформатирует каждый абзац в ФАЙЛЕ(ах) и печатает на стандартный вывод. Максимальная ширина строки.
* **fold** — Разбивает строки в ФАЙЛЕ(ах). Выравнивает текст по ширине. Переносит строки.
* **head** — Печатает первые N строк каждого ФАЙЛА на STDOUT.
* **hostid** — Печатает числовой идентификатор (шестнадцатеричный) текущей машины.
* **id** — Выводит информацию о ПОЛЬЗОВАТЕЛЕ. Группы, gid, uid.
* **join** — Для каждой пары входных строк с одинаковыми общими полями выводит строку на стандартный вывод.
* **link** — Вызывает функцию link для создания ссылки с именем ФАЙЛ2 на существующий ФАЙЛ1.
* **logname** — Печатает имя текущего пользователя.
* **md5sum** — Печатает или проверяет контрольные суммы MD5 (128-битные).
* **mktemp** — Создает временную папку или файл в /tmp и выводит путь
* **nice** — Запускает КОМАНДУ с измененным значением приоритета
* **nl** — Печатает каждый ФАЙЛ на стандартный вывод, добавляя номера строк.
* **nohup** — Выполняет КОМАНДУ игнорируя сигналы обрыва терминальной линии.
* **od** — Печатает однозначное (по умолчанию байтовое восьмеричное) представление ФАЙЛА на стандартный вывод.
* **paste** — Печатает на стандартный вывод строки, составленные из соответствующих строк входных ФАЙЛОВ, разделенных табуляцией.
* **pathchk** — Диагностирует непереносимые конструкции в ИМЕНИ.
* **pinky** —
* **pr** — Разбивает ФАЙЛ(ы) на страницы или колонки для печати.
* **printenv** — Выводит переменные среды
* **printf** — Форматирование и печать данных
* **ptx** — Печатает перемешанный алфавитный указатель слов входных файлов, включая контекст.
* **runcon** —
* **seq** — Печатает числа от ПЕРВОГО до ПОСЛЕДНЕГО с шагом ПРИРОСТ.
* **sha1sum** — Печатает или проверяет контрольные суммы SHA1 (160-битные).
* **sha224sum** — Печатает или проверяет контрольные суммы SHA224 (224-битные).
* **sha256sum** — Печатает или проверяет контрольные суммы SHA256 (256-битные).
* **sha384sum** — Печатает или проверяет контрольные суммы SHA384 (384-битные).
* **sha512sum** — Печатает или проверяет контрольные суммы SHA512 (512-битные).
* **shuf** — Печатает случайную перестановку входных строк на стандартный вывод.
* **sleep** — Приостанавливает выполнение на заданное ЧИСЛО секунд. Пауза.
* **sort** — Сортировка строк файла
* **split** — Выводит фиксированного размера части ФАЙЛА в файлы ПРЕФИКСaa, ПРЕФИКСab, ...; Разделение файла на куски
* **stat** — Отображает состояние файла или файловой системы. Информация о времени последнего открытия, изменения, права доступа, местоположение на носителе.
* **sum** — Печатает контрольную сумму и число блоков для каждого ФАЙЛА. Контрольная сумма BSD, System V.
* **tac** — Печатает ФАЙЛЫ на стандартный вывод, начиная с последней строки. Читает файлы начиная с конца.
* **tail** — Печатает последние 10 строк каждого из ФАЙЛОВ на стандартный вывод.
* **tee** — Копирует стандартный ввод в каждый ФАЙЛ, а также в стандартный вывод.
* **test** — Проверяет типы файлов, сравнивает значения.
* **tsort** — Печатает полностью сортированный список, соответствующий частичной сортировке в заданном ФАЙЛЕ.
* **tty** — Печатает имя файла терминала, подключённого к STDIN
* **unexpand** — Преобразует пробелы в символы табуляции. Т.е является обратной по отношению к команде **expand**
* **uniq** — Удаляет все кроме одной повторяющиеся строки ВХОДА (или стандартного ввода) и печатает на STDOUT
* **unlink** — Вызывает функцию unlink для удаления указанного ФАЙЛА.
* **users** — Выводит список подключенных пользователей
* **wc** — Печатает число переводов строк, слов и байт
* **who** — Список зарегистрировавшихся (logged in) пользователей, и дополнительная информация
* **whoami** — Выводит имя текущего пользователя
* **yes** — Непрерывно печатает заданную СТРОКУ
* **chroot** — Изменение корневой (root) директории для всех дочерних процессов
==== sysvinit ====
Программы инициализации и управления системой на низком уровне (ядро, модули, устройства).
* **mountpoint** —
* **pidof** —
* **bootlogd** —
* **halt** —
* **init** — переключение уровня выполнения команд системы.
* **killall5** —
* **poweroff** — выключение системы.
* **reboot** — перезагрузка системы
* **runlevel** —
* **shutdown** — приостановка или выключение системы.
* **sulogin** —
* **telinit** —
* **last** —
* **lastb** —
* **mesg** —
* **utmpdump** —
* **wall** —
==== util-linux-ng ====
* **arch** — Печатает архитектуру машины
* **dmesg** — Отображает буфер системного сообщения
* **more** —
* **mount** — Монтирует диск\каталог\блочное устройство
* **umount** — Отмонтирует диск\каталог\блочное устройство
* **agetty** —
* **blockdev** —
* **blkid** — Отображает [[Словарь компьютерных терминов#U|UUID]] блочного устройства
* **cfdisk** — Программа для работы с разделами диска с графическим меню.
* **ctrlaltdel** —
* **fdisk** — Программа для работы с разделами диска (текстовое меню) .
* **fsck** — Программа для проверки и восстановления файловых систем в Linux. Также существует группа команд, где каждая применяется к какой-то отдельной файловой системе:**fsck.ext2**, **fsck.ext3**, **fsck.ext4**, **fsck.ext4dev**, **fsck.jfs**, **fsck.msdos**, **fsck.vfat**, **fsck.cramfs**, **fsck.minix**, **fsck.reiserfs**, **fsck.xfs**, **fsck.cramfs**, **fsck.minix**.
* **hwclock** —
* **losetup** —
* **mkfs** —
* **mkfs.bfs** —
* **mkfs.cramfs** —
* **mkfs.minix** —
* **mkswap** —
* **pivot_root** —
* **raw** —
* **sfdisk** —
* **swapoff** —
* **swapon** —
* **cal** или **ncal** — Отображает календарь. Без параметров выдаёт календарь текущего месяца.
* **chkdupexe** —
* **chrt** —
* **col** —
* **colcrt** —
* **colrm** — Утилита удаления колонок. Удаляет колонки (столбцы) символов из файла и выводит результат на STDOUT
* **column** — Форматирование по столбцам. Эта утилита преобразует текст, например какой либо список, в табличное, более "удобочитаемое", представление, вставляя символы табуляции по мере необходимости
* **cytune** —
* **ddate** —
* **flock** —
* **getopt** —
* **hexdump** —
* **i386** —
* **ionice** —
* **ipcrm** —
* **ipcs** —
* **isosize** —
* **line** —
* **linux32** —
* **linux64** —
* **logger** —
* **look** —
* **mcookie** —
* **namei** —
* **pg** —
* **rename** —
* **renice** — Изменение приоритета уже работающих процессов
* **rev** —
* **script** —
* **scriptreplay** —
* **setarch** — Установить другую архитектуру системы для программы
* **setsid** —
* **setterm** —
* **tailf** —
* **taskset** —
* **ul** —
* **whereis** —
* **write** —
* **fdformat** — Низкоуровневое форматирование флоппи дискет.
* **ldattach** —
* **ramsize** —
* **rdev** —
* **readprofile** —
* **rootflags** —
* **rtcwake** —
* **tunelp** —
* **vidmode** —
==== ncurses ====
* **tput** —
* **captoinfo** —
* **clear** — Очищает экран терминала
* **infocmp** —
* **infotocap** —
* **ncursesw5-config** —
* **reset** — Инициализация терминала. Сброс настроек.
* **tic** —
* **toe** —
* **tset** — Инициализация терминала. Сброс настроек.
==== procps ====
* **kill** — Отправка сигнала процессу (по его идентификатору — PID)
* **ps** — Печать информации о текущих процессах
* **sysctl** —
* **free** —
* **pgrep** —
* **pkill** — Посылает указанный сигнал процессам, найденным по имени или другому атрибуту
* **pmap** —
* **pwdx** —
* **skill** —
* **slabtop** —
* **snice** —
* **tload** —
* **top** —
* **uptime** — Выводит время от последней перезагрузки
* **vmstat** —
* **w** —
* **watch** —
==== Разное ====
* **tree** (tree) — Выводит дерево каталогов, начиная с данного
==== bash ====
* **source** —