De info ls
:
'-1'
'--format=single-column'List one file per line. This is the default for 'ls' when standard output is not a terminal.
Quando você canaliza a saída de ls
, você obtém um nome de arquivo por linha.
ls
somente exibe os arquivos em colunas quando a saída é destinada aos olhos humanos.
Aqui é onde ls
decide o que fazer:
switch (ls_mode)
{
case LS_MULTI_COL:
/* This is for the 'dir' program. */
format = many_per_line;
set_quoting_style (NULL, escape_quoting_style);
break;
case LS_LONG_FORMAT:
/* This is for the 'vdir' program. */
format = long_format;
set_quoting_style (NULL, escape_quoting_style);
break;
case LS_LS:
/* This is for the 'ls' program. */
if (isatty (STDOUT_FILENO))
{
format = many_per_line;
/* See description of qmark_funny_chars, above. */
qmark_funny_chars = true;
}
else
{
format = one_per_line;
qmark_funny_chars = false;
}
break;
default:
abort ();
}
fonte: link