Core utilities (Русский) - ArchWiki

Jump to content

Ссылки по теме

- Командная оболочка
- Пользователи и группы
- systemd (Русский)
- pacman (Русский)
- Основные рекомендации

Состояние перевода: На этой странице представлен перевод статьи Core utilities. Дата последней синхронизации: 10 июля 2021. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Основные утилиты (core utilities) — набор базовых, фундаментальных инструментов операционной системы GNU/Linux. В статье дан неполный обзор этих утилит, приведены ссылки на документацию и перечислены полезные альтернативы. В основном (но не только) в статье рассматривается набор GNU coreutils. Большинство основных утилит являются традиционными инструментами Unix; многие из них были стандартизированы POSIX, но продолжили развиваться, расширяя свою функциональность.

Большинство интерфейсов командной строки задокументировано в man-страницах. Утилиты GNU Project используют для этой цели Info-мануалы, а в некоторых оболочках для справки по встроенным командам предусмотрена команда `help`. Кроме того, большинство утилит выводит краткую справочную информацию о себе при запуске с флагом `--help`.

## Основные

Некоторые важные утилиты, с которыми должен быть знаком пользователь Arch Linux. См. также intro(1).

Пакет | Утилита | Описание | Документация | Альтернативы
--- | --- | --- | --- | ---
встроенные команды | cd | смена каталога | cd(1p) | #Альтернативы cd
GNU coreutils | ls | вывод содержимого каталога | ls(1), info | tree, #Альтернативы ls
cat | вывод содержимого файлов в stdout | cat(1), info | tac(1), bat
mkdir | создание каталога | mkdir(1), info
rmdir | удаление пустого каталога | rmdir(1), info
rm | удаление файлов и каталогов | rm(1), info | shred
cp | копирование файлов и каталогов | cp(1), info | #Альтернативы cp
mv | перемещение файлов и каталогов | mv(1), info
ln | создание жёстких и символических ссылок | ln(1), info
chown | изменение владельца и группы файла | chown(1), info | chgrp(1)
chmod | изменение прав доступа к файлу | chmod(1), info
dd | преобразование и копирование файла | dd(1), info
df | вывод информации об использовании файловой системой дискового пространства | df(1), info
GNU tar | tar | архиватор tar | tar(1), info | архиваторы
GNU less | less | постраничный просмотр в терминале | less(1) | программы постраничного просмотра
GNU findutils | find | поиск файлов и каталогов | find(1), info, GregsWiki | #Альтернативы find
GNU diffutils | diff | построчное сравнение файлов | diff(1), info | #Альтернативы diff
GNU grep | grep | вывод строк, совпадающих с шаблоном | grep(1), info | #Альтернативы grep
GNU sed | sed | потоковый редактор | sed(1), info, one-liners
GNU gawk | awk | язык поиска и обработки шаблонов | gawk(1), info | nawk, mawkAUR
util-linux | dmesg | вывод содержимого буфера ядра и управление им | dmesg(1) | журнал systemd
lsblk | вывод информации о блочных устройствах | lsblk(8)
mount | монтирование файловой системы | mount(8)
umount | размонтирование файловой системы | umount(8)
su | замена пользователя | su(1) | sudo, opendoas
kill | завершение процесса | kill(1) | pkill(1), killall(1)
procps-ng | pgrep | поиск процесса по имени или атрибутам | pgrep(1) | pidof(1)
ps | вывод информации о процессах | ps(1) | top(1), htop
free | вывод информации о свободной/используемой памяти | free(1)

### Предотвращение потери данных

`rm`, `mv`, `cp` и перенаправления ввода/вывода в оболочке удаляют или перезаписывают файлы молча, не уведомляя пользователя. С флагом `-i` команды `rm`, `mv` и `cp` будут запрашивать разрешение перед каждым удалением/перезаписью. Некоторые предпочитают использовать этот флаг по умолчанию, создав соответствующий псевдоним. Тем не менее, такой подход чреват потенциальными проблемами, если в какой-то момент вы будете работать на другой системе или от другого пользователя, в которых подобный псевдоним отсутствует. Лучший способ защитить данные от случайного удаления — регулярно создавать резервные копии.

## Второстепенные

Утилиты, которые также могут быть полезны.

Пакет | Утилита | Описание | Документация | Альтернативы
--- | --- | --- | --- | ---
встроенные команды | alias | создание или вывод списка псевдонимов | alias(1p)
type | определение типа команды | type(1p) | which(1)
time | вывод времени выполнения команды | time(1p)
GNU coreutils | tee | считывание stdin и запись в stdout и файлы | tee(1), info
mktemp | создание временного файла или каталога | mktemp(1), info
cut | вывод отдельных частей строк | cut(1), info
tr | замена или удаление символов | tr(1), info
od | отображение файлов в восьмеричном и других форматах | od(1), info | hexdump(1), xxd(1) в vim
sort | сортировка строк | sort(1), info
uniq | поиск или исключение повторяющихся строк | uniq(1), info
comm | построчное сравнение двух отсортированных файлов | comm(1), info
head | вывод первых строк файла | head(1), info
tail | вывод последних строк файла или отслеживание изменений в файле | tail(1), info
wc | вывод количества строк, слов и байтов | wc(1), info
GNU binutils | strings | вывод содержащихся в двоичном файле текстовых строк | strings(1), info
GNU glibc | iconv | конвертация кодировок символов | iconv(1) | recode
file | file | определение типа файла | file(1)

Пакет moreutils содержит другие полезные инструменты вроде sponge(1), которые не вошли в GNU coreutils.

## Альтернативы

Альтернативные основные утилиты предоставляются следующими пакетами: BusyBox, Heirloom Toolchest, 9base, sbase-gitAUR и ubase-gitAUR.

### Альтернативы cd

- zoxide — Умная команда cd, которая изучает ваши привычки и позволяет перемещаться повсюду буквально несколькими нажатиями клавиш.

  https://github.com/ajeetdsouza/zoxide || zoxide

### Альтернативы cp

rsync#Как альтернатива cp/mv позволяет продолжить прерванную передачу файла, выводить состояние передачи, пропускать уже существующие файлы и проверять целостность итоговых файлов по контрольным суммам.

### Альтернативы ls

- broot — Новый способ просмотра дерева каталогов и перемещения по нему.

  https://github.com/Canop/broot || broot

- exa — Замена ls с поддержкой цветности, отображением дерева каталогов, интеграцией с git и другими возможностями.

  https://github.com/ogham/exa || exa

- lsd — Современный ls с большим набором цветов и замечательными иконками.

  https://github.com/Peltoche/lsd || lsd

### Альтернативы find

- fd — Простая, быстрая и удобная альтернатива find. По умолчанию игнорирует скрытые файлы и файлы, указанные в `.gitignore`.

  https://github.com/sharkdp/fd || fd

- fuzzy-find — Fuzzy-завершение имён файлов при поиске.

  https://github.com/silentbicycle/ff || ff-gitAUR[ссылка недействительна: package not found]

- mlocate — Объединение locate и updatedb.

  https://pagure.io/mlocate || mlocate

- plocate — Намного более быстрый locate.

  https://plocate.sesse.net/ || plocate

Графические программы для поиска файлов перечислены в List of applications/Utilities#File searching.

### Альтернативы diff

Некоторые программы предоставляют сравнение по словам, которого нет в diffutils:

- git diff выполняет сравнение по словам с флагом `--color-words`; с флагом `--no-index` работает также и с файлами вне рабочего дерева Git.
- dwdiff — Фронт-енд для diff со сравнением по словам; поддержка цветности.

  https://os.ghalkes.nl/dwdiff.html || dwdiff

- GNU wdiff — Реализация GNU diff со сравнением по словам; нет поддержки цветности.

  https://www.gnu.org/software/wdiff/ || wdiff

- cwdiff — Обёртка для GNU wdiff с поддержкой цветности.

  https://github.com/junghans/cwdiff || cwdiffAUR, cwdiff-gitAUR

- icdiff — diff с поддержкой цветности, написанный на Python. Название расшифровывается как "Improved color diff"; обычный режим работы diff также доступен.

  https://github.com/jeffkaufman/icdiff || icdiffAUR, icdiff-gitAUR

См. также List of applications/Utilities#Comparison, diff, merge.

### Альтернативы grep

- mgrep — grep с многострочным поиском.

  https://sourceforge.net/projects/multiline-grep/ || mgrepAUR

- pdfgrep — Инструмент для поиска текста в PDF-файлах.

  https://pdfgrep.org/ || pdfgrep

- ripgrep-all — Поиск в текстовых файлах, а также в PDF, E-Book, документах Office, архивах zip и tar.gz.

  https://github.com/phiresky/ripgrep-all || ripgrep-all

#### Поиск кода

Следующие три инструмента предназначены для замены grep при поиске кода. По умолчанию используют рекурсивный поиск, пропускают двоичные файлы и учитывают `.gitignore`.

- ack — Написанная на Perl замена grep для программистов с большим деревом разнородных файлов с исходным кодом.

  https://beyondgrep.com/ || ack

- ripgrep (rg) — Инструмент поиска, который соединил в себе удобство ag и скорость grep.

  https://github.com/BurntSushi/ripgrep || ripgrep

- The Silver Searcher (ag) — Инструмент поиска кода, схожий с Ack, но более быстрый.

  https://github.com/ggreer/the_silver_searcher || the_silver_searcher

#### Интерактивные фильтры

- fzf — Универсальный fuzzy-поисковик на основе find для работы в командной строке.

  https://github.com/junegunn/fzf || fzf, fzf-gitAUR

- fzy — Быстрый, простой поисковик текста с хорошим алгоритмом поиска.

  https://github.com/jhawthorn/fzy || fzy, fzy-gitAUR

- peco — Упрощённый инструмент для интерактивной фильтрации.

  https://github.com/peco/peco || peco, peco-gitAUR

- percol — Добавляет интерактивную фильтрацию к традиционной концепции конвейера UNIX-оболочки.

  https://github.com/mooz/percol || percolAUR, percol-gitAUR

- skim — Написанный на Rust fuzzy-поисковик, похожий на fzf.

  https://github.com/lotabout/skim || skim, skim-gitAUR

## Смотрите также

- Документация GNU Coreutils
- Утилиты POSIX

Categories:

- Command-line (Русский)
- Lists of software (Русский)

Hidden category:

- Pages with broken package links