GNU Coreutils

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 14:04, 7 июня 2019.
GNU Coreutils
Locoogrocka.jpg
Screeeeeeeeen.jpg
Разработчики: GNU Project
Выпущена: September 2002; 18 years ago (2002-09)
Постоянный выпуск: 8.31 / 10 March 2019 года; 23 months ago (2019-03-10)
Написана на: C, сценарии shell
Платформа: GNU, Linux
Тип ПО: Miscellaneous utilities
Лицензия: GNU GPL
Веб-сайт gnu.org/software/coreutils/

GNU Coreutils (GNU Core Utilities) является набором GNU/Linux консольных утилит для shell, который содержит в себе основные служебные утилиты, необходимые для работы с файлами, оболочкой и текстом, а также для полноценной работы операционной системы в общем.

История Coreutils

GNU Coreutils была создана путем объединением таких программных пакетов как Textutils , shellutils и FileUtils в сентябре 2002 года. Лицензия General Public Lecense была обновлена со второй версии до третьей в июле 2007 года. [Источник 1]

Состав пакета

GNU Coreutils включает в свою структуру несколько пакетов утилит::

  • текстовые утилиты (textutils);
  • файловые утилиты (fileutils);
  • shell - утилиты (shellutils);
  • другие утилиты[Источник 2].

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

Пакет Coreulis включает следующие текстовые утилиты:

  • cat - конкатенация и вывод файлов в стандартный вывод;
  • base64 - кодирование и декодирование данных в base64 и вывод в стандартный вывод;
  • join - объединение файлов по общему полю;
  • nl - нумерация строки файла;
  • pr - преобразование текстовых файлов в формат для печати;
  • cksum - проверка контрольных сумм файла;
  • comm - сравнение построчно двух упорядоченных файла;
  • csplit - разделение файлов на секции;
  • fmt - форматирование текста;
  • fold - деление длинных строк для устройств вывода с ограниченной шириной;
  • cut - очистка поля из каждой строки файла;
  • expand - преобразование символов табуляции в знаки пробела;
  • numfmt - переформатирование числа;
  • head - вывод нескольких первых строк файла;
  • md5sum - вычисление и проверка хеша MD5;
  • od - вывод содержимого файлов в восьмеричном и других форматах;
  • paste - объединение строк в файле;
  • ptx - вывод упорядоченного индекса файла;
  • shuf - генерация случайных перестановок;
  • sort - сортировка строк в текстовых файлах;
  • wc - вывод числа байтов, слов и строк в файлах;
  • sha1sum, sha224sum, sha256sum, sha384sum, sha512sum - вычисление и проверка хеша, SHA-224/256/384/512 соответственно;
  • uniq - удаление повторяющихся строк из упорядоченного файла;
  • split - деление файла;
  • tac - конкатенация и вывод файлов в обратном порядке;
  • tail - вывод нескольких последних строк файла;
  • sum - проверка контрольных сумм файла;
  • tr - преобразование или удаление символов;
  • tsort - выполнение топологической сортировки;
  • unexpend - преобразование символов пробелов в символы табуляции[Источник 2].

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

К файловым утилитам пакета можно отнести:

  • chcon - изменение права доступа к файлу;
  • chmod - изменение права доступа к файлу;
  • cp - копирование файлов и(или) каталогов;
  • dd - копирование и преобразование файлов;
  • df - отображение свободного места на смонтированных файловых системах;
  • dir - вывод списка файлов в колонках с вертикальной сортировкой;
  • dircolors установка цветовой схемы для вывода команды ls;
  • mktemp - создание временного файла или каталога;
  • mv - перемещение и переназвание файлы;
  • realpath - возвращение полученного абсолютного или относительного пути к файлу;
  • rm - удаление файла;
  • rmdir - удаление пустых каталогов;
  • touch - изменение времени создания, модификации файлов;
  • truncate - уменьшение или увеличение размера файла до заданного размера;
  • vdir - вывод списка файлов в длинном формате;
  • shred - перезапись файлов, с целью скрыть содержимое (безопасное удаление), и опциональное удаление файлов;
  • sync - запись на диск буферов файловых систем;
  • install - копирование файлов и устанавливка атрибутов;
  • ln - создание ссылок на файл;
  • ls - вывод списка файлов;
  • mkdir - создание каталогов;
  • mkfifo - создание FIFO (именованные каналы);
  • mknod - создание специальных файлов[Источник 3].

Shell - утилиты

К данному разряду можно отнести такое программное обеспечение как:

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

Новшества версии 8.31

Доступна стабильная версия набора базовых системных утилит GNU Coreutils 8.31, в состав которого входят такие программы, как sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln, ls и т.д. На данный момент версия 8.31 является актуальной. Основные новшества:

  • В утилиту id добавлена возможность отображения идентификаторов сразу для нескольких пользователей;
  • В утилиту date добавлен флаг '+' для преобразования формата времени в соответствии с POSIX.1–2017;
  • В утилитах printf, seq, sleep, tail и timeout появилась возможность указания чисел с плавающей точкой в соответствии с форматом, определённым как текущей локалью, так и локалью «C». Например, теперь можно указывать как "sleep 0,1, так и sleep 0.1;
  • В утилиту test добавлен унарный оператор '-N FILE', позволяющий определить, что файл существует и был изменён с момента последнего чтения. Прекращена поддержка недокументированного оператора test -a FILE (аналог test -e FILE), который можно было спутать с бинарным оператором »-a» (логическое «and»);
  • В утилите env появилась возможность настройки обработчиков сигналов для запускаемого приложения: --default-signal[=SIG], --ignore-signal[=SIG]', --block-signal[=SIG], а также добавлена опция --list-signal-handling для проверки использования обработчиков сигналов, отличных от применяемых по умолчанию;
  • Добавлена новая утилита basenc, которая дополнила команды base64 и base32 возможностью кодирования и раскодирования текста в различных типовых кодировках (base64, base64url, base32, base32hex, base16, base2, z85);
  • В утилиты stat и tail (tail -f) добавлена поддержка файловой системы «sdcardfs», используемой в платформе Android. В stat также добавлен вывод времени создания файла, если данный атрибут поддерживается в ФС, glibc (2.28+) и ядре Linux (4.11+)[Источник 4].

Установка

Использованные источники

  1. Coreutils - GNU core utilities // GNU Operating System. [2016 —]. Дата обновления: 05.01.2019. URL: https://www.gnu.org/software/coreutils ( дата обращения: 27.04.2019 ).
  2. 2,0 2,1 2,2 Coreutils // Zen Way. [2019 —]. Дата обновления: 20.11.2011. URL: http://zenway.ru/page/coreutils ( дата обращения: 29.04.2019 ).
  3. Fileutils // GNU Project. [2003—]. Дата обновления: 04.06.2004. URL: http://gnu.ist.utl.pt/software/fileutils/fileutils.html (дата обращения: 07.06.2019).
  4. GNU Core Utilities - Новости: coreutils-8.31 released [stable] // Savannah. [2018 —]. Дата обновления: 11.03.2019. URL: http://savannah.gnu.org/forum/forum.php?forum_id=9394 ( дата обращения: 29.04.2019 ).