Core utilities (Русский)
Основные утилиты (core utilities) — набор базовых, фундаментальных инструментов операционной системы GNU/Linux. В статье дан неполный обзор этих утилит, приведены ссылки на документацию и перечислены полезные альтернативы. В основном (но не только) в статье рассматривается набор GNU coreutils. Большинство основных утилит являются традиционными инструментами Unix (см. Heirloom); многие из них были стандартизированы POSIX, но продолжили развиваться, расширяя свою функциональность.
Большинство интерфейсов командной строки задокументировано в man-страницах. Утилиты GNU Project используют для этой цели Info-мануалы, а в некоторых оболочках для справки по встроенным командам предусмотрена команда help . Кроме того, большинство утилит выводит краткую справочную информацию о себе при запуске с флагом —help .
Contents
Основные
Некоторые важные утилиты, с которыми должен быть знаком пользователь 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, которая изучает ваши привычки и позволяет перемещаться повсюду буквально несколькими нажатиями клавиш.
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
- 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
Альтернативы 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-allAUR
Поиск кода
Следующие три инструмента предназначены для замены grep при поиске кода. По умолчанию используют рекурсивный поиск, пропускают двоичные файлы и учитывают .gitignore .
Источник
Coreutils
Coreutils — GNU Core Utilities (или coreutils) — набор программного обеспечения, содержащий большое количество основных утилит, таких как cat, ls, mv и rm, необходимых для работы системы.
Состав
Файловые утилиты | |
---|---|
chcon | Изменяет контекст безопасности файла (SELinux) |
chgrp | Изменяет группу владельца файла |
chown | Изменяет владельца файла |
chmod | Изменяет права доступа к файлу |
cp | Копирование файлов и(или) каталогов |
dd | Копирование и преобразование файлов |
df | Отображает свободное место на смонтированных файловых системах |
dir | То же самое, что и ls -C -b (список файлов выводится в колонках с вертикальной сортировкой) |
dircolors | Устанавливает цветовую схему для вывода команды ls |
install | Копирует файлы и устанавливает атрибуты |
ln | Создаёт ссылку на файл |
ls | Выводит список файлов |
mkdir | Создаёт каталоги |
mkfifo | Создаёт FIFO (именованные каналы) |
mknod | Создаёт специальные файлы |
mktemp | Создаёт временный файл или каталог |
mv | Перемещает и переименовывает файлы |
realpath | Возвращает полученный абсолютный или относительный путь к файлу |
rm | Удаляет файлы |
rmdir | Удаляет пустые каталоги |
shred | Перезаписывает файлы чтобы скрыть содержимое (так называемое безопасное удаление), и опционально удаляет файлы |
sync | Записывает на диск буферы файловых систем |
touch | Изменяет время создания, модификации файлов |
truncate | Уменьшает или увеличивает размер файла до заданного размера |
vdir | То же самое, что и ls -l -b (выводит список файлов в длинном формате) |
Текстовые утилиты | |
base64 | Кодирует/декодирует данные в base64 и выводит в стандартный вывод |
cat | Конкатенация и вывод файлов в стандартный вывод |
cksum | Проверяет контрольные суммы файла |
comm | Сравнивает построчно два упорядоченных файла |
csplit | Разделяет файлы на секции |
cut | Удаляет поля из каждой строки файла [1] |
expand | Преобразует символы табуляции в знаки пробела |
fmt | Форматирует текст |
fold | Разбивает длинные строки для устройств вывода с ограниченной шириной |
head | Выводит несколько первых строк файла |
join | Объединяет файлы по общему полю |
md5sum | Вычисляет и проверяет хеш MD5 |
nl | Нумерует строки файла |
numfmt | Переформатирует числа |
od | Выводит содержимое файлов в восьмеричном и других форматах |
paste | Объединяет строки в файлах |
ptx | Выводит упорядоченный индекс файла |
pr | Преобразует текстовые файлы в формат для печати |
sha1sum , sha224sum , sha256sum , sha384sum , sha512sum | Вычисляет и проверяет хеш, SHA-224/256/384/512 |
shuf | Генерирует случайные перестановки |
sort | Сортирует строки в текстовых файлах |
split | Разделяет файл |
sum | Проверяет контрольные суммы файла |
tac | Конкатенация и вывод файлов в обратном порядке |
tail | Выводит несколько последних строк файла |
tr | Преобразовывает или удаляет символы |
tsort | Выполняет топологическую сортировку |
unexpand | Преобразует символы пробелов в символы табуляции |
uniq | Удаляет повторяющиеся строки из упорядоченного файла |
wc | Выводит число байтов, слов и строк в файлах |
Shell-утилиты | |
arch | То же самое, что и uname -m (выводит название архитектуры машины) |
basename | Удаляет префикс в пути к файлу |
chroot | Изменяет корневой каталог |
date | Выводит/устанавливает системное время и дату |
dirname | Удаляет имя файла из полного пути |
du | Оценивает, сколько места на диске занимает файл |
echo | Отображает строку текста |
env | Отображает/изменяет переменные окружения |
expr | Вычисляет выражения |
factor | Раскладывает число на простые множители |
false | Возвращает значение «ложь» |
groups | Выводит группы, в которых состоит пользователь |
hostid | Выводит цифровой идентификатор для текущего хоста |
id | Выводит реальный/эффективный UID и GID |
link | Вызывает функцию link() для создания ссылки на файл |
logname | Выводит имя (логин), под которым пользователь вошёл в систему |
nice | Запускает процесс с указанным приоритетом |
nohup | Позволить команде выполняться после выхода пользователя (logout) |
nproc | Запрашивает количество (активных) процессоров |
pathchk | Проверяет имя файла на правильность или на переносимость |
pinky | Простой finger, печатает сведения о пользователе |
printenv | Выводит переменные окружения |
printf | Форматирует и выводит данные |
pwd | Выводит текущий рабочий каталог |
readlink | Выводит значение символической ссылки |
runcon | Запускает команду с указанным контекстом безопасности |
stdbuf | Управляет буферизацией команд, использующих stdio |
seq | Выводит числа по порядку |
sleep | Задерживает выполнение на определённое время |
stat | Возвращает данные об inode |
stty | Изменяет и выводит настройки терминала |
tee | Отправляет вывод на множество файлов |
test | Проверяет условие |
timeout | Запустить команду с ограничением по времени |
true | Возвращает значение «истина» |
tty | Выводит имя терминала |
uname | Выводит информацию о системе |
unlink | Вызывает функцию unlink() для удаления заданных файлов |
uptime | Говорит как долго система работает |
users | Выводит имена тех пользователей, которые вошли на текущий хост |
who | Выводит список всех вошедших пользователей |
whoami | Выводит эффективный UID |
yes | До бесконечности выводит заданную строку |
Другие утилиты | |
[ | Синоним для test; эта программа позволяет использовать такие выражения, как [ условие ]. |
Системные утилиты |
Ссылки
Инсталляция
В SoftwareCenter найдите пакет «coreutils», и установите его.
Через консоль в консоли наберите следующую команду:
Если не можете найти пакет, подключите репозитории. Как подключать репозитории написано здесь.
Источник