Alguém pode explicar -rw-rw-r--. 1
e fornecer algumas informações "detalhadas" sobre o comando ls -lart.
Especificamente, o que o número1
depois que as permissões do arquivo significam? Por que isso muda ou por que é diferente para arquivos diferentes?
Responder1
Alguns exemplos:
-rwxrw-r-- 1
é um arquivo com privilégios de leitura, gravação e execução para o proprietário. O grupo leu e escreveu, e outros apenas leram. Não há links para esses dados.
drwxr-xr-x 10
é um diretório com 8 arquivos. Os 2 extras são .
e ..
. Somente o proprietário pode criar arquivos neste diretório, outros podem acessar quais arquivos estão no diretório e ler o conteúdo desses arquivos se os privilégios permitirem.
-r-------- 2
é um arquivo que somente o proprietário pode ler, mas não pode executar ou modificar. Possui um link, o que significa que há outra referência de arquivo em algum lugar do disco que acessa os mesmos dados. Portanto, o "conteúdo do arquivo" real no disco possui 2 "arquivos" referenciando-o. Esses links geralmente são criados usando, ln
sem fornecer -s
, .
Então:
- O caractere 1 é o tipo de nó: comumente
-
oud
indicando arquivo ou diretório. - Os caracteres 2, 3, 4 indicam
r
ead,w
rito ex
ecute para o proprietário. - Os personagens 5, 6, 7 fazem o mesmo para o grupo.
- Os caracteres 8, 9, 10 fazem o mesmo com os outros.
- O número de caracteres de permissão seguintes indica o número de links se o nó for um arquivo e o número de "subnós" se o nó for um diretório.
Veja o capítuloO formato longode man ls
.
Responder2
Para arquivosé o número delinks físicosao conteúdo do arquivo. 1 significa sem hard-links (o caso típico), um númeroNacima de 1 significa isso e outroN-1nomes de arquivos compartilham o mesmo conteúdo.
Para diretórios a maioria, mas não todossistemas de arquivos relatam uma contagem de links de 2+NondeNé o número de subdiretórios.
Responder3
[max@localhost ~]$ ll
total 4
drwxrwxr-x2max max 4096 25 de setembro 17:11 zzz
Aqui 2 significa número de contagem de links
agora vou criar 3 diretórios dentro do zzz
agora o valor muda para 5
[max@localhost ~]$ cd zzz [max@localhost zzz]$ mkdir abc drwxrwxr-x 5 max max 4096 25 de setembro 17:16 . drwx ------ 5 max max 4096 25 de setembro 17:12 .. drwxrwxr-x 2 max max 4096 25 de setembro 17:16 a drwxrwxr-x 2 max max 4096 25 de setembro 17:16 b drwxrwxr-x 2 max max 4096 25 de setembro 17:16 c
[max@localhost zzz]$cd
[max@localhost ~]$ ll
total 4
drwxrwxr-x5max max 4096 25 de setembro 17:16 zzz
Isso ocorre porque agora 5 diretórios estão presentes dentro do zzz 3 são a
b
c
e 2 são diretórios ocultos.
..
se eu criar um arquivo, nada acontecerá com a contagem de links
[max@localhost zzz]$ toque 1 2 3 [max@localhost zzz]$ ls -al total 20 drwxrwxr-x 5 max max 4096 25 de setembro 17:26 . ------> contagem de links do diretório atual drwx ------ 5 max max 4096 25 de setembro 17:12 .. ------> contagem de links do diretório pai -rw-rw-r-- 1 máx. máx. 0 25 de setembro 17:26 1 -rw-rw-r-- 1 máx. máx. 0 25 de setembro 17:26 2 -rw-rw-r-- 1 máx. máx. 0 25 de setembro 17:26 3 drwxrwxr-x 2 max max 4096 25 de setembro 17:16 a drwxrwxr-x 2 max max 4096 25 de setembro 17:16 b drwxrwxr-x 2 max max 4096 25 de setembro 17:16 c [max@localhost zzz]$cd [max@localhost ~]$ ll total 4 drwxrwxr-x 5 max max 4096 25 de setembro 17:26 zzz
mas se eu excluir qualquer diretório, a contagem de links mudará
[max@localhost zzz]$ rmdir bc [max@localhost zzz]$cd [max@localhost ~]$ ll total 4 drwxrwxr-x 3 max max 4096 25 de setembro 17:28 zzz