Core utilities (Русский)
Основные утилиты (core utilities) — набор базовых, фундаментальных инструментов операционной системы GNU/Linux. В статье дан неполный обзор этих утилит, приведены ссылки на документацию и перечислены полезные альтернативы. В основном (но не только) в статье рассматривается набор GNU coreutils. Большинство основных утилит являются традиционными инструментами Unix; многие из них были стандартизированы POSIX, но продолжили развиваться, расширяя свою функциональность.
Большинство интерфейсов командной строки задокументировано в man-страницах. Утилиты GNU Project используют для этой цели Info-мануалы, а в некоторых оболочках для справки по встроенным командам предусмотрена команда help. Кроме того, большинство утилит выводит краткую справочную информацию о себе при запуске с флагом --help.
Основные
Некоторые важные утилиты, с которыми должен быть знаком пользователь Arch Linux. См. также intro(1).
| Пакет | Утилита | Описание | Документация | Альтернативы |
|---|---|---|---|---|
| встроенные команды | cd | смена каталога | #Альтернативы cd | |
| GNU | ls | вывод содержимого каталога | , info | , #Альтернативы ls |
| cat | вывод содержимого файлов в stdout | cat(1), info | tac(1), | |
| mkdir | создание каталога | , info | ||
| rmdir | удаление пустого каталога | , info | ||
| rm | удаление файлов и каталогов | , info | shred | |
| cp | копирование файлов и каталогов | , info | #Альтернативы cp | |
| mv | перемещение файлов и каталогов | , info | ||
| ln | создание жёстких и символических ссылок | , info | ||
| chown | изменение владельца и группы файла | , info | chgrp(1) | |
| chmod | изменение прав доступа к файлу | chmod(1), info | ||
| dd | преобразование и копирование файла | , info | ||
| df | вывод информации об использовании файловой системой дискового пространства | , info | ||
| GNU | tar | архиватор tar | , info | архиваторы |
| GNU | less | постраничный просмотр в терминале | программы постраничного просмотра | |
| GNU | find | поиск файлов и каталогов | , info, GregsWiki | #Альтернативы find |
| GNU diffutils | diff | построчное сравнение файлов | diff(1), info | #Альтернативы diff |
| GNU | grep | вывод строк, совпадающих с шаблоном | , info | #Альтернативы grep |
| GNU | sed | потоковый редактор | , info, one-liners | |
| GNU | awk | язык поиска и обработки шаблонов | , info | , |
| util-linux | dmesg | вывод содержимого буфера ядра и управление им | журнал systemd | |
| lsblk | вывод информации о блочных устройствах | lsblk(8) | ||
| mount | монтирование файловой системы | |||
| umount | размонтирование файловой системы | |||
| su | замена пользователя | sudo, | ||
| kill | завершение процесса | , | ||
| procps-ng | pgrep | поиск процесса по имени или атрибутам | ||
| ps | вывод информации о процессах | , | ||
| free | вывод информации о свободной/используемой памяти | free(1) |
Предотвращение потери данных
, , и перенаправления ввода/вывода в оболочке удаляют или перезаписывают файлы молча, не уведомляя пользователя. С флагом -i команды , и будут запрашивать разрешение перед каждым удалением/перезаписью. Некоторые предпочитают использовать этот флаг по умолчанию, создав соответствующий псевдоним. Тем не менее, такой подход чреват потенциальными проблемами, если в какой-то момент вы будете работать на другой системе или от другого пользователя, в которых подобный псевдоним отсутствует. Лучший способ защитить данные от случайного удаления — регулярно создавать резервные копии.
Второстепенные
Утилиты, которые также могут быть полезны.
| Пакет | Утилита | Описание | Документация | Альтернативы |
|---|---|---|---|---|
| встроенные команды | alias | создание или вывод списка псевдонимов | ||
| type | определение типа команды | |||
| time | вывод времени выполнения команды | |||
| GNU | tee | считывание stdin и запись в stdout и файлы | , info | |
| mktemp | создание временного файла или каталога | , info | ||
| cut | вывод отдельных частей строк | , info | ||
| tr | замена или удаление символов | , info | ||
| od | отображение файлов в восьмеричном и других форматах | od(1), info | hexdump(1), в vim | |
| sort | сортировка строк | , info | ||
| uniq | поиск или исключение повторяющихся строк | , info | ||
| comm | построчное сравнение двух отсортированных файлов | , info | ||
| head | вывод первых строк файла | , info | ||
| tail | вывод последних строк файла или отслеживание изменений в файле | , info | ||
| wc | вывод количества строк, слов и байтов | , info | ||
| GNU | strings | вывод содержащихся в двоичном файле текстовых строк | strings(1), info | |
| GNU | iconv | конвертация кодировок символов | ||
| file | file | определение типа файла |
Пакет содержит другие полезные инструменты вроде , которые не вошли в GNU coreutils.
Альтернативы
Альтернативные основные утилиты предоставляются следующими пакетами: BusyBox, Heirloom Toolchest, , и .
Альтернативы cd
- zoxide — Умная команда cd, которая изучает ваши привычки и позволяет перемещаться повсюду буквально несколькими нажатиями клавиш.
Альтернативы cp
rsync#Как альтернатива cp/mv позволяет продолжить прерванную передачу файла, выводить состояние передачи, пропускать уже существующие файлы и проверять целостность итоговых файлов по контрольным суммам.
Альтернативы ls
Альтернативы find
- mlocate — Объединение locate и updatedb.
Графические программы для поиска файлов перечислены в List of applications/Utilities#File searching.
Альтернативы diff
Некоторые программы предоставляют сравнение по словам, которого нет в diffutils:
- git diff выполняет сравнение по словам с флагом ; с флагом работает также и с файлами вне рабочего дерева Git.
- dwdiff — Фронт-енд для diff со сравнением по словам; поддержка цветности.
См. также List of applications/Utilities#Comparison, diff, merge.
Альтернативы grep
Поиск кода
Следующие три инструмента предназначены для замены grep при поиске кода. По умолчанию используют рекурсивный поиск, пропускают двоичные файлы и учитывают .
- ripgrep (rg) — Инструмент поиска, который соединил в себе удобство ag и скорость grep.
Интерактивные фильтры
- fzf — Универсальный fuzzy-поисковик на основе find для работы в командной строке.