GNU Coreutils

GNU Coreutils — это набор программного обеспечения GNU, реализующий множество стандартных команд Unix-подобной операционной системы, используемых в командной оболочке. Утилиты обычно предоставляют совместимый с POSIX интерфейс при установленной переменной окружения POSIXLY_CORRECT, однако по умолчанию реализуют надмножество стандартного интерфейса. Например, эти утилиты поддерживают длинные параметры командной строки и параметры после позиционных аргументов. Для BSD переменная POSIXLY_CORRECT переключает отдельные аспекты поведения.

Схожие по функциональности сборники существуют и в экосистеме FOSS, хотя они могут отличаться по набору команд, функциям или лицензии. Среди них — BusyBox, распространяемый под лицензией GPL-2.0-only, и Toybox, лицензированный под 0BSD.

Общие сведения
GNU Coreutils
Тип набор утилит
Разработчик GNU Project
Написана на C, shell script[1]
Операционная система Unix-подобные
Последняя версия
Репозиторий git.savannah.gnu.org/cgi…
Лицензия 2007, GPL 3.0 или новее с версии 6.10;
2002, GPL 2.0 или новее до версии 6.9

Команды

Команды, реализованные в coreutils, приведены ниже. В данной статье, как принято в Unix-подобных системах, термин «файл» применяется ко всем объектам файловой системы, включая обычные файлы и специальные типы, такие как каталоги.

Файловые утилиты

  • 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; выводит список файлов в расширенном формате

Текстовые утилиты

  • b2sum — Вычислить и проверить контрольную сумму BLAKE2b
  • base32 — Кодировать или декодировать данные в формате base32
  • base64 — Кодировать или декодировать данные в формате base64
  • basenc — Кодировать или декодировать различные форматы, включая шестнадцатеричный, base32, base64 и Z85
  • cat — Склеить (конкатенировать) файлы
  • cksum — Посчитать или проверить контрольную сумму файла
  • comm — Построчное сравнение двух отсортированных файлов
  • csplit — Разделить файл на части по строкам-контекстам
  • cut — Удалить указанные участки строк файлов
  • expand — Преобразовать табуляции в пробелы
  • fmt — Форматировать текст
  • fold — Переносить строки текста по ширине
  • head — Вывести начало файла
  • join — Объединить строки двух файлов по общему полю
  • md5sum — Подсчитать и проверить MD5-хеш
  • nl — Пронумеровать строки файла
  • numfmt — Форматировать числа
  • od — Дамп файлов в восьмеричном или других форматах
  • paste — Объединить строки файлов
  • ptx — Формировать переставленный индекс содержимого файлов
  • pr — Разбивать или колоновать вывод для печати
  • sha1sum, sha224sum, sha256sum, sha384sum, sha512sum — Вычислить и проверить контрольные суммы SHA-1/SHA-2
  • shuf — Генерировать случайные перестановки
  • sort — Сортировать строки файла
  • split — Разделить файл на части
  • sum — Контрольная сумма и подсчёт блоков в файле
  • tac — Склеить файлы в обратном порядке (построчно)
  • tail — Вывести конец файла
  • tr — Преобразовать или удалить символы
  • tsort — Выполнить топологическую сортировку
  • unexpand — Преобразовать пробелы в табуляции
  • uniq — Удалить дублирующиеся строки в отсортированном файле
  • wc — Подсчитать количество байт, слов и строк в файле

Утилиты оболочки

  • arch — Показать архитектуру машины (аналог uname -m)
  • basename — Убрать путь из имени файла
  • chroot — Изменить корневой каталог
  • date — Показать или установить текущие дату и время системы
  • dirname — Убрать недиректориальную часть имени файла
  • du — Показать использование места на файловой системе
  • echo — Напечатать текст
  • env — Показать или изменить переменные окружения
  • expr — Вычислять выражения
  • factor — Разложить число на множители
  • false — Завершить выполнение с ошибочным статусом
  • groups — Показать группы, к которым принадлежит пользователь
  • hostid — Показать числовой идентификатор текущего компьютера
  • id — Показать реальный и эффективный UID и GID
  • link — Создать жёсткую ссылку на файл
  • logname — Отобразить имя пользователя
  • nice — Изменить приоритет выполнения процесса
  • nohup — Позволяет выполнять команду после выхода из системы
  • nproc — Определить число доступных процессоров
  • pathchk — Проверить имена файлов на корректность и переносимость
  • pinky — Облегчённая версия finger
  • printenv — Показать переменные окружения
  • printf — Форматировать вывод
  • pwd — Показать текущий рабочий каталог
  • readlink — Показать путь, на который указывает символическая ссылка
  • runcon — Выполнить команду в заданном контексте безопасности
  • seq — Сгенерировать последовательность чисел
  • sleep — Задержка выполнения на указанное время
  • stat — Показать информацию об inode
  • stdbuf — Выполнить команду с переназначением буферизации потоков
  • stty — Изменить или показать параметры терминала
  • tee — Записать вывод в несколько файлов
  • test — Проверить логическое выражение
  • timeout — Выполнить команду с ограничением времени
  • true — Завершить выполнение с успешным статусом
  • tty — Показать имя терминала
  • uname — Показать сведения о системе
  • unlink — Удалить файл через функцию unlink()
  • uptime — Показать время работы системы
  • users — Показать имена пользователей, подключённых к системе
  • who — Показать список залогиненных пользователей
  • whoami — Показать эффективный UID текущего пользователя
  • yes — Многократно выводить заданную строку
  • [ — Синоним для test; используется в выражениях вида [ выражение ]

История

В 1990 году Дэвид МакКензи объявил о выпуске набора GNU fileutils[3].

В 1991 году МакКензи анонсировал GNU shellutils и GNU textutils[4].[5] Джим Майеринг стал сопровождающим этих пакетов (ныне известных как coreutils) и продолжает их поддерживать[6].

В сентябре 2002 года GNU coreutils были объединены из ранее существовавших пакетов textutils, shellutils и fileutils, а также ряда других вспомогательных программ[7].

В июле 2007 года лицензия GNU coreutils была обновлена с GPL-2.0 или новее на GPL-3.0 или новее[8].

Примечания

Ссылки