ls o comando acha que o diretório é um arquivo

0

Eu tenho um diretório brothers que contém os arquivos John.txt e Max.txt . Eu posso entrar e sair do diretório brothers sem problemas. No entanto, quando estou em brothers superdirectory (um nível acima) e uso o comando ls -l , ele imprime o seguinte:

lrwxrwxrwx 1 root root 128 Jun 26 13:59 brothers -> filePathHere

Como você pode ver na primeira letra da saída acima, o comando ls -l acha que brothers é um arquivo em vez de um diretório. Não deveria a primeira letra ser um d (mostra um d para todos os meus outros diretórios)? Como posso consertar isso?

    
por Nosrettap 09.07.2013 / 00:47

2 respostas

2

Para citar a página do manual de ls :

l = The entry is a symbolic link, and either the -N flag was specified or the symbolic link did not point to an existing file.

E para referência futura, d indica um diretório e - indica um arquivo comum.

    
por 09.07.2013 / 01:00
1

'brothers' é um tipo especial de arquivo chamado link simbólico. É semelhante (embora existam algumas diferenças) a um atalho no Windows. quando você cd to 'brothers', você está indo para 'filePathHere'.

    
por 09.07.2013 / 00:56