Вышла версия GNU Coreutils 9.12 с более быстрыми командами sort, cut и uniq
Вышла GNU Coreutils 9.12 — последняя стабильная версия важнейшего набора утилит командной строки, используемых в большинстве Linux- и Unix-подобных систем.
Одно из главных нововведений — новая опция --env0-from=FILE для команды env, которая позволяет более надежно сохранять и восстанавливать данные окружения, в том числе менее распространенные или нестандартные записи.
Также значительно повышена скорость работы. Команда cut теперь может работать в четыре раза быстрее при определенных нагрузках, связанных с обработкой многобайтового текста, а uniq -c — в 2,5 раза быстрее на поддерживаемых системах.
Кроме того, sort была улучшена для более эффективного использования доступной памяти и параллельной обработки при работе с данными из каналов или других источников, где общий размер входных данных неизвестен.
Еще одна новая функция появилась в uname, где теперь есть новая опция --all-labeled для отображения системной информации в более понятном формате с подписями, где каждое значение отображается на отдельной строке.
В Coreutils 9.12 также улучшено отображение в терминале необычных имен файлов и значений переменных среды в некоторых командах. Такие инструменты, как env, printenv, stat, basename, dirname, du, readlink и realpath теперь используют более безопасные кавычки в большем количестве ситуаций, что помогает избежать путаницы или некорректного вывода в терминале.
Несколько часто используемых рекурсивных команд стали более надёжными. Команды chmod, chown, du, ls и другие больше не будут завершаться с ошибкой из-за удаления файлов во время обработки дерева каталогов.
Что касается файловых операций, то команды cp, install, mv теперь могут в большем количестве случаев возвращаться к обычному копированию, если попытка копирования с помощью рефланка невозможна, а не завершаться с ошибкой.
Среди наиболее заметных исправлений — tee больше не рискует застрять в бесконечном цикле при определённых условиях записи, а ptx также исправляет два случая, которые ранее могли приводить к бесконечному выполнению команды.
Другие исправления крышка команд, в том числе comm, date, du, factor, head, tail, ls, mv, printf, seq, shred, stty, truncate, uniq, и wc.
Наконец, на стороне сборки старая опция --with-linux-crypto была удалена, а опция --enable-systemd была переименована в --with-systemd.
Для получения дополнительной информации смотрите анонс.
Редактор: AndreyEx