-L
dělení po čarách; echo
svůj výstup neodděluje řádky, ale mezerami, takže jeden ls -l
je spuštěn a tím se všechny sloupce naformátují jako skupina.
-n
rozdělení podle parametrů; v nepřítomnosti -L
nebo -0
, oddělovačem jsou mezery (případně upraveny uvozovkami), takže každý název souboru má svůj vlastní ls -l
spustit a neexistuje způsob, jak by nezávislé běhy koordinovaly šířky sloupců.
Nařízení standardu POSIX:
-L
čísloObslužný program se provede pro každý
number
, který není prázdný čáry argumentů ze standardního vstupu. Poslední vyvolání obslužného programu bude s méně řádky argumentů, pokud jich zbývá méně než počet. čára má se za to, že končí prvním, pokud poslední znak řádku není<blank>
; koncové<blank>
signalizuje pokračování na další neprázdný řádek včetně.
-n
čísloVyvolejte nástroj pomocí tolika standardních vstupních argumentů pokud možno až do čísla (kladné dekadické celé číslo) argumenty maximum.
(Zdůraznění přidáno.) Od echo *
vytvoří jeden řádek, xargs -L 1
pouze převede všechny názvy souborů do ls
najednou a teprve potom může ls
pěkně zarovnejte sloupce.
(Jinými slovy, váš první příkaz je ekvivalentní ls -l index.html*
, kromě toho, že nezpracovává správně názvy souborů obsahující mezery.)