Como listar todos os diretórios de outro diretório com opções?

0

Eu gostaria de listar apenas diretórios (incluindo ocultos) em um determinado diretório (por exemplo, /etc/ ) se eu não estiver neste diretório.

Se eu quiser listar todos os diretórios, incluindo oculto, eu uso o comando:

ls -d */ .*/

Eu queria usar este comando para listar todos os diretórios em /etc .

ls /etc

Eu posso fazer isso, mas queria combiná-lo com o primeiro, listando apenas diretórios.

ls -d */ .*/ /etc

ou

ls /etc -d */ .*/

não funciona. Por quê?

    
por maro 18.01.2018 / 01:33

2 respostas

1

Ele não funciona porque */ e .*/ não são argumentos que são passados diretamente para ls - em vez disso, eles são globs que são expandidos pelo shell, fornecendo uma lista de nomes de arquivos correspondentes no diretório atual que são passados para ls

O equivalente para um diretório diferente ( /etc say) seria

ls -d /etc/*/ /etc/.*/

Se o seu shell suporta a expansão de contraventamento, você pode escrever isso de forma mais compacta como

ls -d /etc/{,.}*/
    
por 18.01.2018 / 02:03
1
find /etc/ -maxdepth 1 -type d

Use o comando acima para listar apenas os diretórios, incluindo o diretório oculto, em outro diretório

    
por 18.01.2018 / 17:59