%general-entities; ]> coreutils &coreutils-version;
&coreutils-url;
Coreutils-&coreutils-version; Coreutils <para>Coreutils - пакет программного обеспечения GNU, содержащий большое количество основных утилит, таких как cat, ls и rm, необходимых для UNIX-подобных операционных систем. Пакет включает несколько более ранних пакетов — textutils, shellutils, fileutils и другие различные утилиты.</para> <segmentedlist> <segtitle>&buildtime;</segtitle> <segtitle>&diskspace;</segtitle> <seglistitem> <seg>&coreutils-ch6-sbu;</seg> <seg>&coreutils-ch6-du;</seg> </seglistitem> </segmentedlist> </sect2> <sect2 role="installation"> <title>Установка пакета Coreutils POSIX требует, чтобы программы из Coreutils правильно распознавали границы символов даже в многобайтовых локалях. Следующий патч исправляет это несоблюдение и другие ошибки, связанные с интернационализацией. patch -Np1 -i ../&coreutils-i18n-patch; Ранее в этом патче было обнаружено множество ошибок. Когда вы сообщаете о новых        ошибках разработчикам, сопровождающим пакет Coreutils, сперва проверьте, воспроизводятся ли они        без этого патча. Уберем тест, который на некоторых машинах может привести к вечному зацикливанию: sed -i '/test.lock/s/^/#/' gnulib-tests/gnulib.mk Теперь, выполним подготовку пакета Coreutils к компиляции: FORCE_UNSAFE_CONFIGURE=1 ./configure \ --prefix=/usr \ --enable-no-install-program=kill,uptime Значение параметров конфигурации: FORCE_UNSAFE_CONFIGURE=1 Эта переменная среды позволяет выполнить сборку пакета от корневого пользователя root. --enable-no-install-program=kill,uptime Целью этого аргумента является предотвращение использования Coreutils            установки двоичных файлов, которые позже будут установлены другими пакетами. Скомпилируйте пакет: make Перейдите к разделу установка пакета если не планируете запускать тесты. Сейчас, набор тестов готов к запуску. Сначала запустите те тесты, которые      предназначены для запуска от корневого пользователя root: make NON_ROOT_USERNAME=nobody check-root Мы будем запускать оставшиеся тесты от пользователя nobody. Однако некоторые тесты требуют, чтобы пользователь был членом более чем одной группы. Чтобы эти тесты не были пропущены, мы добавим временную группу сделаем пользователя nobody её членом: echo "dummy:x:1000:nobody" >> /etc/group Исправьте некоторые разрешения, чтобы пользователь, не являющийся пользователем root, мог компилировать и      выполять тесты: chown -Rv nobody . Теперь, запустим тесты. Убедитесь, что переменная окружения PATH в среде su содержит каталог /tools/bin. su nobody -s /bin/bash \ -c "PATH=$PATH make RUN_EXPENSIVE_TESTS=yes check" Известно, что тест test-getlogin не пройдет в      частично собранной системе, в среде chroot, но      успешно выполнится в конце этой главы. Тестовая программа tty.sh      также известно, что он не работает. Удалим временную группу: sed -i '/dummy/d' /etc/group Установите пакет: make install Переместим программы в места, указанные в FHS: mv -v /usr/bin/{cat,chgrp,chmod,chown,cp,date,dd,df,echo} /bin mv -v /usr/bin/{false,ln,ls,mkdir,mknod,mv,pwd,rm} /bin mv -v /usr/bin/{rmdir,stty,sync,true,uname} /bin mv -v /usr/bin/chroot /usr/sbin mv -v /usr/share/man/man1/chroot.1 /usr/share/man/man8/chroot.8 sed -i s/\"1\"/\"8\"/1 /usr/share/man/man8/chroot.8 Некоторые сценарии в пакете LFS-Bootscripts зависят от head, sleep, nice и touch. Так как каталог /usr может быть недоступен на ранних стадиях процесса загрузки, то эти бинарные файлы должны находится в корневом каталоге раздела для соблюдния совместимости с FHS: mv -v /usr/bin/{head,nice,sleep,touch} /bin Содержимое пакета Coreutils Установленные программы Установленная библиотека Каталог установки [, b2sum, base32, base64, basename, basenc, cat, chcon, chgrp, chmod, chown, chroot, cksum, comm, cp, csplit, cut, date, dd, df, dir, dircolors, dirname, du, echo, env, expand, expr, factor, false, fmt, fold, groups, head, hostid, id, install, join, link, ln, logname, ls, md5sum, mkdir, mkfifo, mknod, mktemp, mv, nice, nl, nohup, nproc, numfmt, od, paste, pathchk, pinky, pr, printenv, printf, ptx, pwd, readlink, realpath, rm, rmdir, runcon, seq, sha1sum, sha224sum, sha256sum, sha384sum, sha512sum, shred, shuf, sleep, sort, split, stat, stdbuf, stty, sum, sync, tac, tail, tee, test, timeout, touch, tr, true, truncate, tsort, tty, uname, unexpand, uniq, unlink, users, vdir, wc, who, whoami, and yes libstdbuf.so (in /usr/libexec/coreutils) /usr/libexec/coreutils Краткое описание base32 Кодирует и декодирует данные в соответствии со спецификацией base32 (RFC 4648) base64 base64 Кодирует и декодирует данные в соответствии со спецификацией base64 (RFC 4648) base64 b2sum Отображает и проверяет BLAKE2 (512-bit) контрольную сумму b2sum basename Удаляет любой путь и заданный суффикс из имени файла basename basenc Кодирует и декодирует данные используя различные алгоритмы basenc cat Объединение файлов в стандартный вывод cat chcon Изменяет контекст безопасности для файлов и каталогов chcon chgrp Изменяет групповое владение файлами и каталогами chgrp chmod Изменяет разрешения каждого файла на заданный режим; режим            может быть либо символическим представлением изменений или            восьмеричное число, представляющее новые разрешения chmod chown Изменяет права пользователя и / или группы на файлы и            каталоги chown chroot Выполняет команду с указанным каталогом как корневой каталог / chroot cksum Показывает контрольную сумму (CRC) и количество байт для каждого указанного файла cksum comm Сравнивает два файла, выводящих в трех столбцах строки            которые являются уникальными, и линии, которые являются общими comm cp Выполняет копирование файлов cp csplit Разделяет данный файл на несколько новых файлов, разделяя их            в соответствии с заданными шаблонами или номерами строк и выводит            количество байтов каждого нового файла csplit cut Распечатывает разделы линий, выбирая детали в соответствии с данными            поля или позиции cut date Отображает текущее время в данном формате или устанавливает            системную дату date dd Копирует файл с использованием заданного размера и количества блоков, в то время как            возможно выполнение конверсий с ним dd df Показывает список всех файловых систем по именам устройств, сообщает их размер, занятое и свободное пространство и точки монтирования. df dir Выводит список содержимого каждого переданного каталога (тоже самое что команда ls) dir dircolors Устанавливает цветовую схему и устанавливает значение переменной среды LS_COLOR для вывода команды ls dircolors dirname Удаляет имя файла из полного пути dirname du Сообщает объем дискового пространства, используемого текущим каталогом,            для каждого из указанных каталогов (включая все подкаталоги) или по            каждому из указанных файлов du echo Отображает строку текста echo env Выполняет команду в измененной среде env expand Преобразует знаки табуляции в пробелы expand expr Вычисляет выражения expr factor Раскладывает число на простые множители factor false Ничего не выполняет, выходит со статусом, отображающим завершение со сбоем false fmt Переформатирует абзацы в указанных файлах fmt fold Разбивает длинные строки для устройств вывода с ограниченной шириной fold groups Выводит группы, в которых состоит пользователь groups head Выводит несколько первых строк файла (или заданное количество) head hostid Выводит цифровой идентификатор для текущего хоста (в шестнадцатеричном виде) hostid id Выводит реальный/эффективный UID и GID и группы, в которых состоит указанный пользователь id install Копирует файлы и устанавливает атрибуты install join Объединяет файлы по общему полю join link Вызывает функцию link() для создания жесткой ссылки на файл link ln Создаёт символическую ссылку на файл ln logname Сообщает имя пользователя текущего пользователя logname ls Перечисляет содержимое каждого заданного каталога ls md5sum Вычисляет и проверяет хеш MD5 md5sum mkdir Создает каталог с указанным наименованием mkdir mkfifo Создаёт FIFO (именованные каналы) mkfifo mknod Создает узлы устройства с указанными именами; узел устройства является            символьным специальным файлом, специальным файлом блока или файлом FIFO mknod mktemp Создает временные файлы безопасным образом; он используется при работе различных сценариев mktemp mv Перемещает и переименовывает файлы или каталоги mv nice Запускает программу с указанным приоритетом nice nl Количество строк у заданного файла nl nohup Позволить команде выполняться после выхода пользователя (logout) nohup nproc Распечатывает количество блоков обработки, доступных для            процесса nproc numfmt Преобразует числа в строки или наборот в удобочитаемом виде numfmt od Выводит содержимое файлов в восьмеричном и других форматах od paste Слияние заданных файлов, объединение последовательно строк            вместе, разделенных символами табуляции paste pathchk Проверяет допустимость или переносимость имен файлов pathchk pinky Легкий клиент сетевого протокола, предназначенного для предоставления информации о пользователях удалённого компьютера.; он сообщает некоторую информацию о данных пользователя pinky pr Преобразует текстовые файлы в формат для печати pr printenv Выводит переменные окружения printenv printf Выводит заданные аргументы в соответствии с заданным форматом. Что то вроде функции языка Си printf printf ptx Создает перестановочный индекс из содержимого данных файлов, с каждым ключевым словом в его контексте ptx pwd Выводит текущий рабочий каталог pwd readlink Выводит значение символической ссылки readlink realpath Возвращает полученный абсолютный или относительный путь к файлу realpath rm Удаляет файлы или каталоги rm rmdir Удаляет пустые каталоги rmdir runcon Запускает команду с указанным контекстом безопасности runcon seq Выводит числа по порядку с указанными диапазоном и шагом seq sha1sum Вывод или проверка 160-битного алгоритма безопасного хеша 1 (SHA1)            контрольной суммы sha1sum sha224sum Вывод или проверка 224-битного алгоритма безопасного хеша контрольной суммы sha224sum sha256sum Вывод или проверка 256-битного алгоритма безопасного хеша контрольной суммы sha256sum sha384sum Вывод или проверка 384-битного алгоритма безопасного хеша контрольной суммы sha384sum sha512sum Вывод или проверка 512-битного алгоритма безопасного хеша контрольной суммы sha512sum shred Перезаписывает файлы чтобы скрыть содержимое (так называемое безопасное удаление), и опционально удаляет файлы shred shuf Перемешивает строки текста shuf sleep Пауза на заданное количество времени sleep sort Сортирует строки из заданных файлов sort split Разделяет файл на куски, по размеру или по числу            линий split stat Отображает статус файла или файловой системы stat stdbuf Выполняет команды с измененными операциями буферизации для своего стандартного            потока stdbuf stty Изменяет и выводит настройки терминала stty sum Проверяет контрольные суммы файла sum sync Сбрасывает буферы файловой системы; заставляет измененные блоки сохранить на диск            и обновить суперблок sync tac Объединение данных файлов в обратном порядке tac tail Распечатывает последние десять строк (или заданное количество строк) каждого            заданного файла tail tee Отправляет вывод на множество файлов tee test Сравнивает значения и проверяет типы файлов test timeout Выполняет команду с ограничением по времени timeout touch Изменяет временные метки файлов, устанавливая доступ и модификацию            время данных файлов до текущего времени; файлов, которые не существуют            создаются с нулевой длиной touch tr Переводит, сжимает и удаляет данные из            стандартного ввода tr true Ничего не делает; всегда выходит со статусом успех true truncate Сжимает или расширяет файл до указанного размера truncate tsort Выполняет топологическую сортировку; он пишет полностью упорядоченный список            в соответствии с частичным упорядочением в заданном файле tsort tty Сообщает имя файла терминала, подключенного к стандартному вводу tty uname Информация о системе uname unexpand Преобразует пробелы в знаки табуляции unexpand uniq Удаляет повторяющиеся строки из упорядоченного файла uniq unlink Вызывает функцию unlink() для удаления заданных файлов unlink users Сообщает имена пользователей, которые в настоящее время вошли в систему users vdir Тоже самое что и команда ls -l vdir wc Сообщает количество строк, слов и байтов для каждого заданного            файл, а также общую строку, когда дано более одного файла wc who Выводит список всех вошедших пользователей who whoami Сообщает имя пользователя, связанное с действующим            Идентификатором пользователя whoami yes До бесконечности выводит y или заданную строку, пока процесс не будет принудительно завершен yes libstdbuf библиотека, используемая stdbuf libstdbuf