«с именами, считанными из стандартного ввода» означает, что он xargsберет данные, поступающие на его стандартный ввод, разделяет их и использует для запуска команды, указанной в его аргументах. По умолчанию он разделяется на пробелы или символы новой строки и работает echoс максимально возможным количеством аргументов за раз.
-0Вариант в вашем примере инструктирует , xargsчтобы разделить его вход на нулевые байты , а не пробелами или символами новой строки. В сочетании с find's' -print0это позволяет правильно обрабатывать имена файлов, содержащие пробелы или переводы строк.
-IОпция изменяет способ , построены новые командные строки. Вместо того, чтобы добавлять как можно больше аргументов за раз, xargsбудет брать одно имя за раз из своего ввода, искать данный токен ( {}здесь) и заменять его на имя.
В вашем примере {}его нет в шаблоне команды, заданной для xargs, поэтому фактически xargsон запускается echoбез аргументов, один раз для каждого имени файла, данного ему find. Чтобы увидеть это, опустите wc:
find . -mindepth 1 -maxdepth 1 -print0 | xargs -0I{} echo
Вы увидите серию пустых строк ... Сравните это с
find . -mindepth 1 -maxdepth 1 -print0 | xargs -0I{} echo {}
а также
find . -mindepth 1 -maxdepth 1 -print0 | xargs -0 echo
а также
find . -mindepth 1 -maxdepth 1 -print0 | xargs -0
чтобы лучше понять.