POSIXly:
find / -xdev -type d -exec sh -c 'for d; do ls -lsd "$d"/*; done' sh {} +
-xdev
tem o mesmo efeito que -mount
, mas é portátil.
Uma observação de que isso falhará no diretório vazio.
Eu quero que ls
imprima com nomes de caminhos absolutos, como faço isso?
find / -type d -mount -exec ls -ls {} \;
ls
está imprimindo apenas os nomes de arquivos relativos no diretório.
POSIXly:
find / -xdev -type d -exec sh -c 'for d; do ls -lsd "$d"/*; done' sh {} +
-xdev
tem o mesmo efeito que -mount
, mas é portátil.
Uma observação de que isso falhará no diretório vazio.
Esse é o comportamento usual de ls
quando um diretório é fornecido como argumento. Então você tem que evitar ls
manipulando diretórios especialmente.
Você deve passar caminhos de arquivo para ls
, ou seja, -type f
em vez de -type d
.
Se você quiser passar diretórios também (sem -type f
), precisará da opção -d
para ls
.
Altere o comando para executar em echo
:
find / -type d -mount -exec echo {} \;