O que “command1 - command2” indica nos resultados do meu ls -al?

4

quando faço um ls -al em /usr/sfw/bin , vejo: make -> gmake O que isso indica? Isso é um link simbólico? Eu pesquisei e não encontrei a resposta para essa pergunta.

    
por DemiSheep 29.05.2014 / 02:08

3 respostas

3

Sim, este é um link simbólico. Você pode tentar algo como abaixo.

bash-3.2$ mkdir a
bash-3.2$ ln -s a b
bash-3.2$ ls -al b
lrwxrwxrwx 1 ramesh ramesh 1 May 28 19:10 b -> a

b é um link simbólico apontando para a .

Diferença entre um link simbólico e um link físico

Um arquivo no sistema de arquivos é basicamente um link para um inode. Um link físico, em seguida, apenas cria outro arquivo com um link para o mesmo inode subjacente.

Quando você exclui um arquivo, ele remove um link para o inode subjacente. O inode é excluído apenas (ou deletável / sobregravável) quando todos os links para o inode tiverem sido excluídos.

Um link simbólico é um link para outro nome no sistema de arquivos.

Uma vez feito um link físico, o link é para o inode. excluir a renomeação ou mover o arquivo original não afetará o link físico, pois ele se vincula ao inode subjacente. Quaisquer alterações nos dados no inode são refletidas em todos os arquivos que se referem a esse inode.

Nota: Os hard links só são válidos dentro do mesmo sistema de arquivos. Os links simbólicos podem abranger os sistemas de arquivos, pois são simplesmente o nome de outro arquivo.

Referências

link

    
por 29.05.2014 / 02:11
4

Sim, um link simbólico. Você pode usar a opção -L com ls para ver os atributos da coisa subjacente real sendo apontada, ao invés dos atributos do próprio link simbólico (proprietário / grupo / modo de um link simbólico é bastante desinteressante, você normalmente se preocupa com a coisa sendo apontou para).

    
por 29.05.2014 / 02:14
3

Esta é uma notação de links, como os outros descreveram. Vou apenas acrescentar que sempre que encontrar arquivos no seu sistema de arquivos que você não tem certeza sobre o que eles são, você pode usar o comando file para determinar o tipo deles.

Exemplos

$ ll
total 20
drwxrwxr-x+ 3 saml saml 4096 May 28 19:47 dir1
drwxrwxr-x+ 2 saml saml 4096 May 28 19:52 dir2
-rw-rwxr--+ 1 saml saml    0 May 28 19:41 file1
lrwxrwxrwx. 1 saml saml    5 May 28 20:55 link -> file1

link

$ file link 
link: symbolic link to 'file1'

arquivo

$ file file1 
file1: empty

diretório

$ file dir1
dir1: directory

A saída de ls -l também reflete os tipos com a primeira coluna.

  • d = diretório
  • l = link
  • - = um arquivo

NOTA: Existem outros tipos que podem ser mostrados aqui. Coisas como fifos e dispositivos de personagens, entre outros.

Referências

por 29.05.2014 / 02:57

Tags