Я думаю, что это распространенные способы передать результат одной команды к следующей как исходные данные.
Как эти три работают? Или каковы некоторые ВЕБ-САЙТЫ/URL?
Первые вещи ввести:
man find
man xargs
find
управляйте результатами печати к стандартному выводу по умолчанию, таким образом, -print
опция обычно не нужна, но -print0
разделяет имена файлов с 0 (ПУСТЫМИ) байтами так, чтобы имена, содержащие пробелы или новые строки, могли быть интерпретированы правильно.
-exec
опция - что-то, что можно использовать вместо xargs - команда находки выполняет команду для каждого объекта, который это находит.
xargs
управляйте пространством чтений - или разделенные от новой строки строки (обычно от команды находки, но они могли прибыть отовсюду), и выполняет некоторую команду для каждой строки.
Если xargs будет выполнен с-0 опциями, то он будет ожидать РАЗДЕЛЕННЫЕ ОТ ПУСТОГО УКАЗАТЕЛЯ строки, как произведено find ... -print0
Преимущество xargs состоит в том, что он может собрать в группу строки, так, чтобы он только выполнил команду несколько раз вместо n времен.
Таким образом в нормальном использовании:
find start_directory -name '*.txt' | xargs ls -l
находка перечислила бы имена файлов, и xargs даст команды как:
ls -l file1.txt file2.txt file3.txt ... fileN.txt
который быстрее, чем наличие Вашего издания команды находки:
ls -l file1.txt
ls -l file2.txt
ls -l file3.txt
ls -l ...
ls -l fileN.txt
Обратите внимание, что xargs больше не необходим с текущими реализациями находки что, вероятно, вся поддержка этот синтаксис POSIX:
find directory -name '*.txt' -exec ls -l {} +
который более прост и немного быстрее, чем xargs вариант.
find directory -name '*.txt' | xargs ls -l
См. следующие статьи:
Linux и Unix находят учебное руководство по команде с примерами
xargs: Как Управлять и Использовать Параметры командной строки