ls -d
mostra informações sobre um diretório ou link simbólico - com esta informação sendo (em termos simples) seu respectivo caminho. A suposição lógica é que o d significa diretório , já que a definição mais básica na terminologia do UNIX que eu já vi é 'listas de diretórios'.
Isso pode parecer superficialmente não ser tão útil; digamos que você reside atualmente em um diretório com 2 subdiretórios:
documents
music
Usar ls documents
sem opções forneceria uma listagem do conteúdo de documentos , conforme indicado corretamente acima. Usar ls -d documents
simplesmente imprimirá o nome - já que o caminho para essa pasta, em relação ao local onde você reside atualmente - é o mesmo que o nome - documentos ! Isso pode ser expandido (embora um pouco redundante em seu uso básico) para ls -d $PWD/*
, que exibirá todos os arquivos e pastas, mas com seus diretórios de trabalho (daí o PWD - diretórios de trabalho anteriores).
Ele tem uma função útil quando combinado com o operador * - ls -d */
exibirá APENAS os diretórios de dentro do seu diretório de trabalho atual.
Girando o foco para a parte link simbólico da definição, se você usasse ls -d ~
- uma expansão de til - ele imprimiria o caminho do diretório HOME atual. Isso pode ser usado com aplicativos variados (dependendo do sistema operacional) e tem algum uso prático; você poderia modificar sua instrução ainda mais para ls -d ~your-username
, ls -d ~another-username
ou ls -d ~root
e receber o caminho HOME para esses usuários. Um outro exemplo disso pode ser visto no ambiente do servidor apache, com o uso de um nome de usuário aqui, similarmente exibindo o caminho para seu espaço de hospedagem (seu diretório HOME, relativamente falando).
Existem várias funções que podem ser usadas em combinação com isso, mas o que foi mencionado acima cobre a função principal por trás do operador - em resumo, -d é um operador para exibir especificamente informações de diretório / caminho. Existe um bom gerador de código para jogar com a função ls (incluindo alguma funcionalidade -d) se você quiser investigar mais: ls gerador de código .