ls
verifica se o STDOUT está conectado a um terminal ( isatty(1)
), se não, então, ele exibe cada nome de arquivo em uma linha separada.
Você pode usar ls -C >out.txt
ou echo * >out.txt
para obter a listagem no formato de coluna, embora em ambos os casos a saída não esteja na forma exata como mostrado por ls
quando a saída estiver indo para um terminal.