GNU Coreutils (Core Utilities)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 20:18, 21 декабря 2016.
GNU Core Utilities
Gnu Coreutils.png
Разработчики: GNU Project
Постоянный выпуск: 8.25 / 20 января 2016
Написана на: C
Операционная система: Unix-like
Платформа: GNU
Лицензия: GNU GPL
Веб-сайт www.gnu.org/software/coreutils/coreutils.html

GNU Core Utilities (или coreutils) — пакет программного обеспечения GNU, содержащий большое количество основных утилит, таких как cat, ls и rm, необходимых для UNIX-подобных операционных систем. Пакет включает несколько более ранних пакетов — textutils, shellutils и fileutils — и другие разнообразные утилиты.

История

В сентябре 2002 года Coreutils GNU были созданы путем слияния Textutils , shellutils и FileUtils.В июле 2007 года лицензии GNU Coreutils были обновлены с GPLv2 на GPLv3.

20 января 2016 была представлена новая версия GNU Coreutils — набора базовых утилит для работы с файлами, текстом и командной оболочкой (cp, mv, chown, ls, dd, echo, cat и т. д.). Новая версия включает 169 коммитов от 12 людей.

В новой версии:

  • В дополнение к команде base64 была добавлена команда base32;
  • Новые функции:
    • comm, cut, head, numfmt, paste и tail теперь имеют опцию "-z" ("--zero-terminated"), добавляющую в конец записи нулевой символ (NUL);
    • dd с опцией "--human-readable" преобразует информацию о размере в читаемый формат, например: «3441325000 bytes (3.4 GB, 3.2 GiB) copied»;
    • в утилиты md5sum, sha1sum, sha224sum, sha256sum, sha384sum и sha512sum добавлена опция "--ignore-missing", исключающая проверку несуществующих файлов;
    • printf теперь поддерживает спецификатор формата '%q', выводящий аргумент в формате, пригодном для большинства оболочек, показывающих непечатные символы в виде «$'...'»;
  • Исправления и улучшения:
    • mv больше не вызывает потери данных при удалении исходного каталога, указанного в параметрах несколько раз, если этот каталог является пунктом назначения;
    • утилиты, влияющие на директории (chmod, cp, rm и т. д.), теперь лучше работают с XFS;
    • stat -f --format=%T теперь выводит тип ФС для новых псевдо-ФС «bpf_fs», «btrfs_test», «nsfs», «overlayfs» и «tracefs», а также для «acfs»;
    • все утилиты выводят аргументы, полученные от пользователя, в сообщениях об ошибках;
  • Изменения:
    • join, sort и uniq с опцией "--zero-terminated" воспринимают '\n' как разделитель полей;
    • ls теперь экранирует имена файлов, что подходит для использования их в командной оболочке и при выводе в терминал.[1]

Совместимость

GNU core-утилиты поддерживают длинные опции параметров в командах, разрешают использование опций после постоянных аргументов, если не установлена переменная окружения POSIXLY_CORRECT (которые тем не менее поддерживают различную функциональность в BSD). Согласно философии и правилам написания программ для GNU, традиционным руководствам предпочитаются утилиты типа info, так что документация обширнее, чем обычно.

Состав

Пакет coreutils 8.23 включает следующие программы:
Файловые утилиты
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 Удаляет поля из каждой строки файла
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; эта программа позволяет использовать такие выражения, как [ условие ].
[2]

Источники

  1. Linux.org.ru [Электронный ресурс]: GNU Coreutils 8.25— материал проекта «LINUX.ORG.RU: Русская информация об ОС Linux»: Версия 12289276, сохранённая в 14:14 UTC 21 января 2016 / Автор sudopacman. — Режим доступа: http://www.linux.org.ru/news/gnu/12289276
  2. Wikipedia [Электронный ресурс]: GNU Core Utilities — материал из Википедии — свободной энциклопедии: Версия 741363785, сохранённая в 01:23 UTC 27 сентября 2016 / Авторы Википедии // Википедия, свободная энциклопедия. — Режим доступа: https://en.wikipedia.org/w/index.php?title=GNU_Core_Utilities&oldid=741363785

Ссылки

  • GNU [Электронный ресурс]: Официальный сайт / Дата обращения: 05.12.2016. — Режим доступа: https://www.gnu.org/
  • Wikipedia [Электронный ресурс]:List of Unix commands / Дата обращения: 05.12.2016. — Режим доступа: https://en.wikipedia.org/wiki/List_of_Unix_commands
  • Хабрахабр [Электронный ресурс]:GNU Coreutils/ Дата обращения: 05.12.2016. — Режим доступа: https://habrahabr.ru/post/133408/
  • LINUX.ORG.RU: Русская информация об ОС Linux[Электронный ресурс]:GNU's Not Unix/ Дата обращения: 05.12.2016. — Режим доступа: http://www.linux.org.ru/news/gnu