Questão ls não lista arquivos como esperado


Estou enfrentando o seguinte problema:

Saída1

sh-3.2$ ls -R
.:
#dir1  #dir2

./#dir1:
f1  f2  f3

./#dir2:
f1  f2  f3

Output2

sh-3.2$ ls #dir1
#dir1  #dir2

Como visto no Output1, o diretório #dir1 tem arquivo f1 f2 and f3 mas quando Eu faço um ls no diretório eu recebo uma saída diferente, como visto no Output2 Output2 parece sugerir que #dir1 tem diretórios como #dir1 #dir2.

O que está acontecendo aqui? Isso é algum link cíclico?


4


origem


É bom ver que você tem uma boa resposta, mas eu estou votando para mudar isso para o Super Usuário, que eu acredito ser um site mais apropriado ... - dmckee


Respostas:


# é um metacarca shell que marca o início de um comentário. Conseqüentemente

ls #dir1

é efetivamente o mesmo que

ls

que lista tudo no cwd.

tente escapar do #

ls \#dir1

ou ou citando todo o nome do dir:

ls '#dir1'

ou

ls ./#dir1

8



Valeu mesmo, cara. Eu e meus companheiros de projeto estamos tendo dificuldades com isso


No comando ls #dir1, o shell interpreta o caractere hash como o início de um comentário - assim, você obtém uma listagem do diretório de trabalho atual.


3