Core utilities (Русский)

Состояние перевода: На этой странице представлен перевод статьи 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), infotree, #Альтернативы ls
catвывод содержимого файлов в stdoutcat(1), infotac(1), bat
mkdirсоздание каталогаmkdir(1), info
rmdirудаление пустого каталогаrmdir(1), info
rmудаление файлов и каталоговrm(1), infoshred
cpкопирование файлов и каталоговcp(1), info#Альтернативы cp
mvперемещение файлов и каталоговmv(1), info
lnсоздание жёстких и символических ссылокln(1), info
chownизменение владельца и группы файлаchown(1), infochgrp(1)
chmodизменение прав доступа к файлуchmod(1), info
ddпреобразование и копирование файлаdd(1), info
dfвывод информации об использовании файловой системой дискового пространстваdf(1), info
GNU tartarархиватор tartar(1), infoархиваторы
GNU lesslessпостраничный просмотр в терминалеless(1)программы постраничного просмотра
GNU findutilsfindпоиск файлов и каталоговfind(1), info, GregsWiki#Альтернативы find
GNU diffutilsdiffпострочное сравнение файловdiff(1), info#Альтернативы diff
GNU grepgrepвывод строк, совпадающих с шаблономgrep(1), info#Альтернативы grep
GNU sedsedпотоковый редакторsed(1), info, one-liners
GNU gawkawkязык поиска и обработки шаблоновgawk(1), infonawk, 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), infohexdump(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 binutilsstringsвывод содержащихся в двоичном файле текстовых строкstrings(1), info
GNU glibciconvконвертация кодировок символовiconv(1)recode
filefileопределение типа файла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[ссылка недействительна: replaced by eza]
  • 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
  • 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 || dwdiffAUR
  • 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

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

This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.