Nomes de arquivos muito longos forçarão a saída de ls
a ser um por linha. Você pode renomear o arquivo para ter um nome de arquivo menor.
Ou você pode tentar o comando abaixo, que trunca os nomes dos arquivos (de esta resposta no Unix & Linux):
ls | cut -c1-20 | column -c"${COLUMNS:-80}"
Se você quiser, pode criar um alias especial para executar isso com lc
, por exemplo, adicionando o seguinte ao seu arquivo ~/.bash_alisaes
:
alias lc='ls | cut -c1-20 | column -c"${COLUMNS:-80}"'
No entanto, esse alias não permitirá a transmissão de sinalizadores como -l
ou -a
. Assim, você pode criar um script ~/bin/lc
e torná-lo executável com chmod +x ~/bin/lc
:
#!/usr/bin/env bash
ls $@ | cut -c1-20 | column -c"${COLUMNS:-80}"
Kudos @steeldriver para descobrir o problema nos comentários acima.