Não há uma opção incorporada em ls
que faça o que você deseja. Você teria que analisar a saída e, em seguida, reiniciar se os nomes de arquivos "longos" forem encontrados ou fizer algo como:
$ ls ??????????* >& /dev/null && ls -l || ls
(Coloque quantos ?
como seu limite de comprimento. Você pode configurá-lo como um alias.)
Por que você simplesmente não usa ls -1
? (Isso é um, não um L. minúsculo) Sempre lista os arquivos em uma única coluna. (Ou canalize ls
para more
ou less
, que também vai para exibição de coluna única.) Ou use find
com -maxdepth 1
.