Если вы попытаетесь направить вывод одной команды Linux в другую, вы можете столкнуться с ошибками, когда команда не работает из-за слишком длинного списка аргументов.
К счастью, в системах Linux есть команда, которая правильно форматирует аргументы команд. Это называется xargs, и вот как его использовать.
Зачем использовать xargs?
Что делает xargs, так это то, что он получает стандартный вывод и форматирует его так, чтобы его могла получить другая команда. Хотя многие утилиты Linux могут принимать стандартный ввод, некоторые принимают в качестве ввода только аргументы.
Это может привести к сбою, если вы попытаетесь перенаправить стандартный ввод в команду. Некоторые команды по-прежнему принимают только определенное количество аргументов, и xargs позаботится об этом за вас.
Как использовать xargs в Linux
Вы можете вызвать xargs следующим образом:
xargs [команда]
xargs отслеживает длину аргументов, принимаемых командой, и форматирует стандартный ввод для вывода списка аргументов, который передается команде. Когда он достигает предела командной строки, он
вызвать команду снова с оставшимися аргументами.Использование 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 Bash

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