Если вы попытаетесь направить вывод одной команды Linux в другую, вы можете столкнуться с ошибками, когда команда не работает из-за слишком длинного списка аргументов.

К счастью, в системах Linux есть команда, которая правильно форматирует аргументы команд. Это называется xargs, и вот как его использовать.

Зачем использовать xargs?

Что делает xargs, так это то, что он получает стандартный вывод и форматирует его так, чтобы его могла получить другая команда. Хотя многие утилиты Linux могут принимать стандартный ввод, некоторые принимают в качестве ввода только аргументы.

Это может привести к сбою, если вы попытаетесь перенаправить стандартный ввод в команду. Некоторые команды по-прежнему принимают только определенное количество аргументов, и xargs позаботится об этом за вас.

Как использовать xargs в Linux

Вы можете вызвать xargs следующим образом:

xargs [команда]

xargs отслеживает длину аргументов, принимаемых командой, и форматирует стандартный ввод для вывода списка аргументов, который передается команде. Когда он достигает предела командной строки, он

instagram viewer
вызвать команду снова с оставшимися аргументами.

Использование xargs в конвейерах

Полезность xargs проявляется, когда он используется в конвейерах. Надуманный пример — передача cat в команду echo, которая принимает только аргументы, а не стандартный ввод.

кошка | эхо

Это заставит echo печатать все, что вы вводите, в одну строку, как только вы нажмете Ctrl + Д.

xargs чаще всего используется с командой find, с команда поиска используется для вывода списка файлов, а xargs используется для обработки списка файлов каким-либо образом.

Синтаксис команды find достаточно громоздкий, так зачем вводить в него еще одну команду? Если вы используете поиск "-exec", он запускает новый процесс каждый раз, когда ищет файл в каталоге. Использование xargs более эффективно.

Возможно, вы захотите удалить файлы в каталоге, которые старше определенной даты, например 90 дней. Для этого вы должны использовать этот конвейер:

найти. -mtime +90 -печать | xargs пм

xargs помогает командам Linux правильно обрабатывать ввод

С помощью xargs теперь вы можете быть уверены, что команды будут принимать аргументы именно так, как вы ожидаете. В сочетании с find это позволит вам быстро обрабатывать файлы на вашем компьютере.

Возможность перенаправлять ввод и вывод в оболочке — одна из непреходящих сильных сторон Linux как продукта философии Unix. Если вы хотите узнать больше о том, как работает перенаправление ввода/вывода в Linux, читайте дальше.

Понимание стандартного ввода-вывода в Linux

Улучшите рабочий процесс командной строки Linux, объединив несколько команд вместе, используя стандартный ввод-вывод.

Читать дальше

доляТвитнутьЭлектронное письмо
Похожие темы
  • линукс
  • Команды Linux
  • Оболочка Linux Bash
Об авторе
Дэвид Делони (опубликовано 81 статья)

Дэвид — независимый писатель, проживающий на северо-западе Тихого океана, но родом из района залива. Он с детства был энтузиастом техники. Интересы Дэвида включают чтение, просмотр качественных телепередач и фильмов, ретро-игры и коллекционирование пластинок.

Другие работы Дэвида Делони

Подписывайтесь на нашу новостную рассылку

Подпишитесь на нашу рассылку технических советов, обзоров, бесплатных электронных книг и эксклюзивных предложений!

Нажмите здесь, чтобы подписаться