xargs recebe entrada de sua entrada padrão para construir comandos com essa entrada como argumentos. É muito útil quando o comando a seguir pode receber apenas um número limitado de argumentos e você tem um grande número de argumentos para processar.
A entrada é normalmente delimitada por espaços em branco. Como o xargs tem que processar nomes de arquivos com muita freqüência, existe um parâmetro -0
que lê a entrada delimitada por byte nulo. Assim, até mesmo nomes de arquivos com novas linhas e espaços são processados corretamente.
No entanto, na maioria dos kernels, o número de caracteres em um comando (e seus argumentos e parâmetros) é limitado. Nesses casos, o xargs divide os argumentos e executa várias execuções do comando interno para evitar tais erros. Também é possível especificar quantos argumentos cada chamada deve ter.