Por que “ls” não mostra o arquivo que “find” descobriu?

6

No Ubuntu, quando estou na pasta "/" eu digite:

sudo find . -name  .erlang.cookie

e o resultado é:

./var/lib/rabbitmq/.erlang.cookie

Então, quando eu estiver na pasta /var/lib/rabbitmq e digitar ls , vejo um arquivo chamado mnesia.

Quando eu digito o comando find novamente, vejo

./.erlang.cookie

- o que isso significa?

    
por Bick 08.03.2014 / 11:56

2 respostas

19

No Unix, um nome de arquivo começando com um ponto, como .erlang.cookie , é considerado um arquivo oculto e não é mostrado pelo nu ls . Digite ls -a para mostrar também arquivos ocultos.

Em man ls :

   -a, --all
          do not ignore entries starting with .

No entanto, você pode mostrar um arquivo oculto com ls se você especificar o nome:

$ ls .erlang.cookie
.erlang.cookie
    
por 08.03.2014 / 11:57
6

No Unix, os arquivos ocultos começam com ponto (.), então quando você emite o comando "ls" ele não os listará. Se você quiser imprimir arquivos ocultos com formato de listagem longo, você pode usar o seguinte comando,

$ls -la

where,
l - use a long listing format
a- do not ignore entries starting with .
    
por 08.03.2014 / 12:08

Tags