Por que o diretório vazio não está sendo mostrado no Git Bash (Linux) neste caso?

3

Estou trabalhando em um computador com sistema operacional Windows 7 de 64 bits. Eu instalei o Git e trabalhei no Git Bash.

Na minha unidade D: Eu tenho um diretório chamado Temp5 .

Dentro do diretório Temp5 Eu tenho um diretório chamado EmptyDir_5_1 e nada mais.

Dentro do diretório EmptyDir_5_1 Eu tenho um diretório chamado EmptyDir_5_1_1 e nada mais.

Dentro do diretório EmptyDir_5_1_1 não há nada.

Eu abro o Git Bash e mudo o diretório para ir ao diretório Temp5 usando este comando:

cd /d/Temp5

Agora quero ver todo o conteúdo, incluindo o conteúdo do subdiretório, item único por linha. Então eu uso este comando:

ls -1 *

Mas está apenas exibindo essa saída:

EmptyDir_5_1_1

Eu esperava que ele também me mostrasse o diretório EmptyDir_5_1 e o fato de o EmptyDir_5_1_1 ser um subdiretório do diretório EmptyDir_5_1. Em vez disso, basta pular o diretório EmptyDir_5_1. Por quê?

    
por srh 24.07.2015 / 17:25

1 resposta

2

Eu quero ver todo o conteúdo, incluindo o conteúdo do subdiretório, item único por linha.

Para obter a saída desejada, use a opção -R (listar subdiretórios recursivamente):

$ ls -R *
EmptyDir_5_1:
EmptyDir_5_1_1

EmptyDir_5_1/EmptyDir_5_1_1:

Se você quiser o -l (formato de lista longa):

$ ls -lR *
EmptyDir_5_1:
total 0
drwxrwxr-x+ 1 DavidPostill None 0 Jul 24 17:04 EmptyDir_5_1_1

EmptyDir_5_1/EmptyDir_5_1_1:
total 0

Explicação

  • O curinga * corresponde ao único arquivo no diretório (que é o subdiretório EmptyDir_5_1 ) e ls está exibindo o conteúdo desse subdiretório.

  • Use echo * para ver exatamente o que corresponde o * :

$ echo *
EmptyDir_5_1
  • Os comandos a seguir fornecem exatamente a mesma saída:
$ ls *
EmptyDir_5_1_1

$ ls EmptyDir_5_1
EmptyDir_5_1_1

Outras leituras

por 24.07.2015 / 18:34