Coreutils linux что это

Обновлено: 02.07.2024

The GNU Core Utilities are the basic file, shell and text manipulation utilities of the GNU operating system. These are the core utilities which are expected to exist on every operating system.

Table of Contents

Getting Help

  • Check Questions and Answers for common problems: Coreutils FAQ
  • Read the manual locally using info coreutils or see the latest online manual (日本語).
  • The Coreutils Gotchas contains a list of some quirks and unexpected behaviour (which are often mistaken for bugs).
  • Search the archives for previous questions and answers:
    • General usage and advice: coreutils mailing list.
    • Bug reports: bug-coreutils mailing List.

    Downloads

    Source Code

    The latest source with revision history can be browsed using cgit, gitweb or GitHub.
    Assuming you have git installed, you can retrieve the latest version with this command:

    A Coreutils code structure overview is available, which is useful for educational purposes, or for those interested in contributing changes.
    To build from the latest sources please follow the instructions in README-hacking.
    Please note that we do not suggest using test versions of Coreutils for production use.

    Third Party Testing Resources

    Mailing Lists

    You do not need to be subscribed in order to post messages to any GNU mailing list. However non-subscribers are moderated by humans so please be patient when waiting for your email to arrive.

    It has been necessary to moderate the Coreutils mailing lists to prevent the flood of spam. Postings to the lists are held for release by the list moderator. Sometimes the moderators are unavailable for brief periods of time. Please be patient when posting. If you don't eventually see the message in the list archive then it did not get posted.

    There are also periodic summaries of committed, rejected and pending changes, to which one can subscribe.

    Trying the latest test release (when available) is always appreciated. Test releases of Coreutils are typically announced on the platform-testers mailing list.

    Mailing List Etiquette

    Please do not send messages encoded as HTML nor encoded as base64 MIME nor included as multiple formats. Please send messages as plain text. Please include a descriptive subject line. If all of the subjects are bug then it is impossible to differentiate them. Please avoid sending large messages, such as log files, system call trace output, and other content resulting in messages over about 40 kB, to the mailing lists without prior contact. Those are best sent directly to those requesting that information after initial contact.

    Please remember that development of Coreutils is a volunteer effort, and you can also contribute to its development. For information about contributing to the GNU Project, please read How to help GNU.

    Previous Mailing Lists

    Previously these utilities were offered as three individual sets of GNU utilities, Fileutils, Shellutils, and Textutils. Those three were combined into the single set of utilities called Coreutils.

    Since Coreutils had existed as the three individual packages for a long time you may want to read the archives of those previous mailing lists. Fileutils archive, Shellutils archive, Textutils archive.

    Работа в консоли опрерационных систем на базе linux всегда сопряжена с рядом трудностей. Вопросы: "что и когда вводить", "как вводить" и "как выводить", ставят начинающих системных администраторов в тупик. Даже именитые линуксоиды не всегда обладают знанием о том, как можно сделать свою работу в консоли более эффективной и даже эффектной. К счастью, решение существует. Фактически оно представляет собой единый пакет программ, освоив который, вы по-настоящему сможете выжимать из консоли больше.

    Вашему вниманию предлагается пакет под названием coreutils, входящий в состав многих современных дистрибутивов linux и вобравший в себя самые востребованные в повседневной жизни утилиты. Список их давольно внушительный (в Debian версии 9 их число насчитывает

    100), однако, изучив хотябы половину из них, level up вам обеспечен.

    Программы управления привилегиями доступа к файлам:

    • chgrp - устанавливает группу для файла
    • chmod - устанавливает режим доступа для файла
    • chown - устанавливает владельца для файла
    • chcon - устанавливает selinux контекс для файла

    Создаём, удаляем и копируем файлы и папки:

    • mkdir - создает папку
    • mktmp - создает папку или файл со случайным именем, позволяя ликвидировать потенциальные дыры в безопасности в автоматизированных сценариях
    • rm - удаляет файл или папку (нужен ключ -R)
    • rmdir - удаляет пустую папку
    • touch - обновляет время последнего доступа к файлу, или содает его в случае отсутствия
    • install - позволяет за одно действие создать и установить атрибуты и права доступа к файлам и папкам
    • cp - копирует файл или папку (нужен ключ -R)
    • mv - перемещает файл или папку
    • ln - создает символическую ссылку на файл или папку
    • df - выводит подключенные файловые системы и их статистику
    • du - выводит размер файла в байтах
    • stat - объединяет в себе du и df и дополняет вывод некоторой полезной статистикой
    • pwd - выводит полный путь текущего каталога
    • realpath, readlink - выводит финальный путь до файла, особенно если он является символической ссылкой (вместо тысячи ls -l)
    • env - выводит установленные переменные для текущео сеанса и их значения
    • date - выводит установленные в системе дату и время
    • uname - позволяет получить информацию об используемом ядре
    • id - позволяет информацию о текущем или другом пользователе
    • whoami - позволяет узнать от имени какого пользователя ведется работа
    • who - позволяет узнать имена всех пользователей, вошедших в систему

    Читаем содержимое файлов и каталогов:

    • tail - выводит последние 10 строк файла, при указании ключа "-f" позволяет читать изменения файла в реальном времени
    • head - выводит первые 10 строк файла
    • cat - выводит файл целиком
    • ls, dir - выводит сожержимое текущего каталога

    Проверка контрольной суммы файла:

    • md5sum - считает контрольную сумму, используя md5
    • sha1sum - считает контрольную сумму, используя sha1
    • sha224sum - считает контрольную сумму, используя sha224
    • sha256sum - считает контрольную сумму, используя sha256
    • sha384sum - считает контрольную сумму, используя sha384
    • sha512sum - считает контрольную сумму, используя sha512

    Работаем с выводом:

    • sort - сортирует вывод по словарю, например алфавиту
    • uniq - фильтрует вывод по принципу уникальности получаемых на вход элементов
    • echo - выводит простой текст, напечатанный в качестве аргумента для команды
    • printf - выводит текст со сложным форматированием

    Помощь при автоматизации:

    • test - проверяет файл или папку на заданное условие
    • seq - выводит последовательность чисел
    • true - ничего не делает, просто завершается успешно
    • false - ничего не делает, просто завершается с ошибкой
    • sleep - ничего не делает, просто ждет указанное количество секунд
    • sync - сбрасывает кэш записи (невероятно полезно, если нужно отмонтировать съемный носитель)
    • chroot - меняет корень файловой системы, заставляя программы вести отсчет от указанного места без возможности заглянуть дальше
    • runcon - запускает программу в указанном домене selinux

    Подробно о каждой утилите с описанием опций и сценариев использования читайте на моем сайта в разделе coreutils.

    __________________________________

    Если статья была полезна, не забудьте поставить лайк и подписаться на мой канал!

    Основные утилиты (core utilities) — набор базовых, фундаментальных инструментов операционной системы GNU/Linux. В статье дан неполный обзор этих утилит, приведены ссылки на документацию и перечислены полезные альтернативы. В основном (но не только) в статье рассматривается набор GNU coreutils. Большинство основных утилит являются традиционными инструментами Unix (см. Heirloom); многие из них были стандартизированы POSIX, но продолжили развиваться, расширяя свою функциональность.

    Большинство интерфейсов командной строки задокументировано в man-страницах. Утилиты GNU Project используют для этой цели Info-мануалы, а в некоторых оболочках для справки по встроенным командам предусмотрена команда help . Кроме того, большинство утилит выводит краткую справочную информацию о себе при запуске с флагом --help .

    Contents

    Основные

    Некоторые важные утилиты, с которыми должен быть знаком пользователь Arch Linux. См. также intro(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

    Альтернативы cp

    Альтернативы ls

    Альтернативы find

    Альтернативы diff

    Некоторые программы предоставляют сравнение по словам, которого нет в diffutils :

    Альтернативы grep

    Поиск кода

    Следующие три инструмента предназначены для замены grep при поиске кода. По умолчанию используют рекурсивный поиск, пропускают двоичные файлы и учитывают .gitignore .


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

    В пакет входят утилиты:

    arch — вывод архитектуры компьютера

    basename — возвращает имя файла по указанному полному имени с путями и суффиксами.

    cat — суммирует содержимое файлов на стандартный вывод.

    chgrp — изменяет группу-владельца для указанного файла на заданную группу. Группа может быть определена как по имени, так и по числовому ID.

    chmod — изменяет режим доступа к файлу на указанные. Режим может быть указан в качестве последовательности символов для изменения режима доступа или как восьмеричное число для определения нового режима.

    chown — изменяет пользователя и/или группу, которые являются владельцем файла на указанную пару user:group.

    chroot — запускает указанную команду с указанной директорией в качестве корня /. Эта команда может быть интерактивным шеллом. На большинстве систем только пользователь root может это сделать.

    cksum — печатает контрольную сымму CRC и количество байт в указанном файле.

    comm — сравнивает два файла и выводит в три колонки одинаковые строки и разные.

    cp — копирует файлы.

    csplit — разделяет указанный файл на несколько других файлов, разделяя их по указанному шаблону либо по номерам строк и выводит количество байт для каждого нового файла.

    cut — печетает часть строк, соответствующих заданным параметрам.

    date — паказывает текущее время в указанном формате или устанавливает системное время.

    dd — копирует файл, используя указанные размеры блоков и опциональные преобразования.

    df — показывает сколько места доступно (и используется) для всех примонтированых файловых систем или только для системы, содержащий указанные файлы.

    dir — синоним ls.

    dircolors — выдает команду для установки переменной окружения LS_COLOR, используемой для изменения цветовой схемы для ls.

    dirname — удаляет суффикс, не являющийся директорией, из имени файла.

    du — возвращает место на диске, занимаемое указанной или текущей директориями со всеми вложенными директориями или файлами.

    echo — показывает заданную строку.

    env — запускает команду в измененном окружении.

    expand — заменяет знаки табуляции пробелами.

    expr — вычисляет выражения.

    factor — выводит разложение на простые множители всех указанных целых чисел.

    false — ничего не делает, но неудачно. Он всегда завершается со статусом ошибки.

    fmt — форматирует абзацы в указанных файлах.

    fold — переносит строки в заданных фалах.

    groups — выводит группу, к которой принадлежит пользователь.

    head — печатает первые десять строк файла (или указанное число строк).

    hostid — возвращает числовой идентификатор хоста (в шестнадцатеричном формате).

    hostname — возвращает установленное имя хоста.

    id — возвращает ID пользователя, ID группы, и группу к которой принадлежит текущий или заданный пользователь.

    install — копирует файлы, устанавливая им режим доступа и, если возможно, их владельца и группу.

    join — соединяет строки двух файлов в поля.

    kill — завершает указанный процесс.

    link — создает жесткую ссылку на указанное имя или файл.

    ln — создает жесткую или символическую ссылку на файлы.

    logname — возвращает идентификационное имя текущего пользователя.

    ls — выводит содержимое указанной директории. По умолчанию - в алфавитном порядке подкаталоги и файлы.

    md5sum — возвращает контрольную сумму MD5.

    mkdir — создает директорию с указанным именем.

    mkfifo — создает FIFO с заданным именем.

    mknod — создает элемент устройства с заданным именем. Элемент устройства может быть специальным символьным фалом, блочным файлом или FIFO.

    mv — перемещает или переименовывает указанные файлы или директории.

    nice — запускает программу с измененным приоритетом выполнения.

    nl — возвращает количество строк в указанном файле.

    nohup — выполняет команду, защищенную от зависаний, с выводом в журнальный файл.

    od — выводит дамп файла в восьмеричном или ином формате.

    paste — выводит строки, соответствующие заданным образцам из указанных файлов и разделенные символами табуляции.

    pathchk — проверяет корректность или портируемость имен файлов.

    pinky — упрощенный вариант finger. Возвращает некоторую информацию о указанных пользователях.

    pr — форматирует файл по страницам и колонкам для печати.

    printenv — печатает окружение.

    printf — печатает заданные параметры в указанном формате - очень похож на одноименную функцию C.

    ptx — печатает оглавление файла, определяя его по указанным ключевым словам.

    pwd — возвращает имя текущей директории.

    readlink — возвращает значение символической ссылки.

    rm — удаляет файлы или директории.

    rmdir — удаляет директорию, если она пустая.

    seq — печатает ряд чисел в заданном диапазоне с заданным шагом.

    sha1sum — возвращает или проверяет контрольную сумму 160-bit SHA1.

    shred — удаляет указанные файлы, перезаписывая занимаемые ими блоки указанным шаблоном, что очень сильно затрудняет их последующее восстановление.

    sleep — пауза на указанное время.

    sort — сортирует строки заданных файлов.

    split — разрезает указанный файл на части заданного размера или по номерам строк.

    stty — устанавливает или печатает установки терминала.

    su — запускает шелл с правами указанных пользователя и группы.

    sum — печатает контрольную сумму и количество блоков для указанного файла.

    sync — переключает буфер файловой системы. Он принудительно записывает измененные блоки на диск и обновляет super block.

    tac — выводит содержимое указанных файлов в обратном порядке.

    tail — печатает последние десять строк (или указанное их количество) заданного файла.

    tee — считывает данные со стандартного ввода и записывает их в файл, дублируя на стандартном выводе.

    test — сравнивает значения и проверяет типы файлов.

    touch — изменяет время изменения файла, устанавливает доступ к файлу. Если файл не существует, то он будет создан с нулевой длиной.

    tr — заменяет, вставляет и удаляет символы со стандартного ввода .

    true — успешно ничего не делает. Он всегда возвращает результат успешно завершенной операции.

    tsort — проводит топологическую сортировку. Он выводит полностью отсортированный список с учетом уже произведенной сортировки указанного файла.

    tty — возвращает имя файла терминала, присоединенного к стандартному вводу.

    uname — выводит информацию о системе.

    unexpand — заменяет пробелы символами табуляции.

    uniq — удаляет все повторяющиеся строки из отсортированного файла.

    unlink — удаляет указанный файл.

    uptime — возвращает время, которое система работает, сколько пользователей к ней подключились и загрузку системы.

    users — выводит список подключенных к системе пользователей.

    vdir — синоним ls -l.

    wc — выводит количество строк, слов и байт в указанном файле и общее количество строк, если указано более одного файла.

    who — сообщает, кто сейчас подключен.

    whoami — возвращает имя пользователя, соответствующее текущему ID.

    yes — выводит циклически 'y' или заданную строку, после чего завершается.

    Читайте также: