Еще один удар, который нуждается в объяснении - PullRequest
1 голос
/ 05 апреля 2011

Вот еще одна команда bash, которая нуждается в пояснениях.Может кто-нибудь объяснить, что означает опция option для команды $ find?Я знаю, что команда находит файл с 0 байтами и выбрасывает их.

$find . – type f –size 0 | xargs rm ls -ld

что делает.имею в виду?Что делает |значит?

что означает - введите f - размер 0

что такое xargs?

что означает - ld

Ответы [ 2 ]

4 голосов
/ 05 апреля 2011

Поиск принимает один параметр: каталог для использования в качестве корня для поиска.Все остальные параметры передаются в качестве параметров.

find . -type f -size 0

find     :  The name of the program.
.        :  The directory to use as the root for the search.
-type f  :  Find only regular files. (Excludes directories, sym links, etc.)
-size 0  :  Finds only empty files.

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

Команда xargs rm ls -ld, которую вы ввели, выглядит ошибочной.Вместо этого я буду использовать xargs rm.

xargs rm

xargs    :  The name of the program.
rm       :  The command to run on each file.

Таким образом, полная команда find . -type f -size 0 | xargs rm находит все пустые файлы и удаляет их.

3 голосов
/ 05 апреля 2011

. это текущий каталог

| pipe вывод одной команды (find) на вход другой (xargs)

Я бы посоветовал вам использовать man find, man xargs и man ls, чтобы определить, какие опции есть для find и что именно xargs и ls делают.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...