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) , 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 , mawk AUR |
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-git AUR и ubase-git AUR .
Альтернативы cd
- zoxide — Умная команда cd, которая изучает ваши привычки и позволяет перемещаться повсюду буквально несколькими нажатиями клавиш.
Альтернативы cp
rsync#Как альтернатива cp/mv позволяет продолжить прерванную передачу файла, выводить состояние передачи, пропускать уже существующие файлы и проверять целостность итоговых файлов по контрольным суммам.
Альтернативы ls
- broot — Новый способ просмотра дерева каталогов и перемещения по нему.
- exa — Замена ls с поддержкой цветности, отображением дерева каталогов, интеграцией с git и другими возможностями.
- lsd — Современный ls с большим набором цветов и замечательными иконками.
Альтернативы find
- fd — Простая, быстрая и удобная альтернатива find. По умолчанию игнорирует скрытые файлы и файлы, указанные в .gitignore .
- fuzzy-find — Fuzzy-завершение имён файлов при поиске.
- mlocate — Объединение locate и updatedb.
- plocate — Намного более быстрый locate.
Графические программы для поиска файлов перечислены в List of applications/Utilities#File searching.
Альтернативы diff
Некоторые программы предоставляют сравнение по словам, которого нет в diffutils :
- git diff выполняет сравнение по словам с флагом —color-words ; с флагом —no-index работает также и с файлами вне рабочего дерева Git.
- dwdiff — Фронт-енд для diff со сравнением по словам; поддержка цветности.
- GNU wdiff — Реализация GNU diff со сравнением по словам; нет поддержки цветности.
- cwdiff — Обёртка для GNU wdiff с поддержкой цветности.
- icdiff — diff с поддержкой цветности, написанный на Python. Название расшифровывается как «Improved color diff»; обычный режим работы diff также доступен.
Альтернативы grep
- mgrep — grep с многострочным поиском.
- pdfgrep — Инструмент для поиска текста в PDF-файлах.
- ripgrep-all — Поиск в текстовых файлах, а также в PDF, E-Book, документах Office, архивах zip и tar.gz.
Поиск кода
Следующие три инструмента предназначены для замены grep при поиске кода. По умолчанию используют рекурсивный поиск, пропускают двоичные файлы и учитывают .gitignore .
- ack — Написанная на Perl замена grep для программистов с большим деревом разнородных файлов с исходным кодом.
- ripgrep (rg) — Инструмент поиска, который соединил в себе удобство ag и скорость grep.
- The Silver Searcher (ag) — Инструмент поиска кода, схожий с Ack, но более быстрый.
Интерактивные фильтры
- fzf — Универсальный fuzzy-поисковик на основе find для работы в командной строке.
- fzy — Быстрый, простой поисковик текста с хорошим алгоритмом поиска.
- peco — Упрощённый инструмент для интерактивной фильтрации.
- percol — Добавляет интерактивную фильтрацию к традиционной концепции конвейера UNIX-оболочки.
- skim — Написанный на Rust fuzzy-поисковик, похожий на fzf.
Смотрите также
yufengwng / arch_cheatsheet.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
pacman |
====== |
view logs: /var/log/pacman.log |
update system |
# pacman -Syu |
list installed packages |
# pacman -Q |
list packages no longer required by others |
# pacman -Qdtq |
search installed packages |
# pacman -Qs |
search packages |
# pacman -Ss |
install packages |
# pacman -S |
remove package, its dependencies and config file backups |
# pacman -Rns |
clean old packages in cache |
# pacman -Sc |
yaourt |
====== |
same as pacman |
systemd |
======= |
unit files: /usr/lib/systemd/system/ or /etc/systemd/system/ |
list running units |
$ systemctl |
check status |
$ systemctl status |
start/stop a service |
# systemctl (start|stop) |
enable/disable a service at bootup |
# systemctl (enable|disable) |
reload systemd |
# systemctl daemon-reload |
manual install of AUR packages |
============================== |
update repositories |
# pacman -Sy |
grab the package |
$ curl -O (e.g. https://aur.archlinux.org/packages/ya/yaourt/yaourt.tar.gz) |
untar package |
$ tar xzvf |
change into package directory |
$ cd |
build and install |
$ makepkg -si |
java environments |
================= |
check status |
$ archlinux-java status |
set default version |
# archlinux-java set |