Solução baseada em localização:
find . -maxdepth 1 -type f -printf '%f\n'
Solução baseada em Bash:
for f in *; do [[ -d "$f" ]] || echo "$f"; done
## or, if you want coloured output:
for f in *; do [[ -d "$f" ]] || ls -- "$f"; done
A solução baseada em bash vai te dar tudo que não é um diretório; incluirá coisas como pipes nomeados (você provavelmente quer isso). Se você quer especificamente apenas arquivos , use o comando find
ou um destes:
for f in *; do [[ -f "$f" ]] && echo "$f"; done
## or, if you want coloured output:
for f in *; do [[ -f "$f" ]] && ls -- "$f"; done
Se você for usar isso regularmente, é claro que você pode colocar isso em um alias em algum lugar no seu ~/.bashrc
:
alias lsfiles='for f in *; do [[ -f "$f" ]] && ls -- "$f"; done'
Desde que você observou nos comentários que você está realmente no OSX em vez do Ubuntu, eu sugiro que da próxima vez você direcione as perguntas para a Apple Unix & amp; Linux Empilhe sites do Exchange.