¿Qué significa el número después de los permisos de archivos Unix / Linux como "-rw-rw-r--. 1 "significa en la salida" ls -l "


17

¿ -rw-rw-r--. 1Alguien puede explicar y dar información "detallada" sobre el comando ls -lart.

Específicamente, ¿qué significa el número 1después de los permisos del archivo? ¿Por qué cambia o por qué es diferente para diferentes archivos?



2
¿Has intentado encontrar información tú mismo (páginas de manual, etc.)? ¿La información no estaba clara?
— Daniel Andersson

1
@yi_H, no veo ninguna información sobre el número después de los permisos.
— Shahbaz

1
Estaba seguro de que la pregunta del usuario 1688102 ya se había formulado y respondido, pero no puedo encontrarla. @Shahbaz: es el número de referencias al mismo inodo, es decir, el número de enlaces duros, es decir, el número de nombres diferentes para el mismo archivo (excluyendo enlaces blandos).
— RedGrittyBrick

1
He visto la página del hombre. La información no era clara y no se proporcionó información sobre los permisos en man ls @Daniel
— VAR121

Respuestas:


15

Algunos ejemplos:

-rwxrw-r-- 1es un archivo con privilegios de lectura, escritura y ejecución para el propietario. El grupo ha leído y escrito, y otros solo han leído. No hay enlaces a estos datos.

drwxr-xr-x 10es un directorio con 8 archivos. Los 2 extra son .y ... Solo el propietario puede crear archivos en este directorio, otros pueden acceder a qué archivos están en el directorio y leer el contenido de esos archivos si los privilegios lo permiten.

-r-------- 2es un archivo que solo el propietario puede leer, pero no puede ejecutar o modificar. Tiene un enlace, lo que significa que hay otra referencia de archivo en el disco en algún lugar que accede a los mismos datos. Por lo tanto, el "contenido de archivo" real en el disco tiene 2 "archivos" que lo hacen referencia. Estos enlaces a menudo se crean usando lnsin suministrar -s.

Entonces:

  • El carácter 1 es el tipo de nodo: comúnmente -o dindicando archivo o directorio.
  • Los caracteres 2, 3, 4 indican read, writo y xejecución para el propietario.
  • Los personajes 5, 6, 7 hacen lo mismo para el grupo.
  • Los personajes 8, 9, 10 hacen lo mismo para los demás.
  • El número de caracteres de permiso subsiguientes indica el número de enlaces si el nodo es un archivo y el número de "subnodos" si el nodo es un directorio.

Ver el capítulo El formato largo de man ls.


Como @sapht dijo que el número (para un directorio) al final implica que el número de archivos en un directorio es incorrecto, supongo. Porque tengo miles de archivos en el directorio y todavía muestra 2
— VAR121

Nunca he visto un ls que no imprima el recuento de subnodos de directorio con formato largo. ¿En qué sistema operativo / distribución estás? Gnu ls, busybox y darwin imprimen el recuento de nodos. ¿Es realmente un directorio y no otro tipo de nodo?
— sapht

Mi distribución (Linux Mint 18.3) no tiene ese capítulo en lsla página de manual de. Ninguno de los campos se explica allí. Creo que es lo mismo para Ubuntu.
— bleistift2

5

Para archivos , es el número de enlaces duros al contenido del archivo. 1 significa que no hay enlaces duros (el caso típico), un número N por encima de 1 significa que este y otros nombres de archivo N-1 comparten el mismo contenido.

Para la mayoría de los directorios, pero no todos los sistemas de archivos informan un recuento de enlaces de 2+ N donde N es el número de subdirectorios.


1

[max @ localhost ~] $ ll

total 4

drwxrwxr-x 2 max max 4096 25 de septiembre 17:11 zzz

Aquí 2 significa número de conteo de enlaces

ahora crearé 3 directorios dentro de zzz

ahora el valor cambia a 5

[max @ localhost ~] $ cd zzz
[max @ localhost zzz] $ mkdir abc
drwxrwxr-x 5 max max 4096 25 de septiembre 17:16.
drwx ------ 5 max max 4096 25 de septiembre 17:12 ..
drwxrwxr-x 2 max max 4096 25 de septiembre 17:16 a
drwxrwxr-x 2 max max 4096 25 de septiembre 17:16 b
drwxrwxr-x 2 max max 4096 25 de septiembre 17:16 c

[max @ localhost zzz] $ cd

[max @ localhost ~] $ ll

total 4

drwxrwxr-x 5 max max 4096 25 de septiembre 17:16 zzz

Eso es porque ahora 5 directorios están presentes dentro de zzz 3 son a b cy 2 son directorios ocultos. ..

si creo un archivo, no pasará nada para contar el enlace

[max @ localhost zzz] $ toque 1 2 3
[max @ localhost zzz] $ ls -al
total 20
drwxrwxr-x 5 max max 4096 25 de septiembre 17:26. ------> recuento de enlaces del directorio actual
drwx ------ 5 max max 4096 25 de septiembre 17:12 .. ------> conteo de enlaces del directorio principal
-rw-rw-r-- 1 max max 0 25 de septiembre 17:26 1
-rw-rw-r-- 1 max max 0 25 de septiembre 17:26 2
-rw-rw-r-- 1 max max 0 25 de septiembre 17:26 3
drwxrwxr-x 2 max max 4096 25 de septiembre 17:16 a
drwxrwxr-x 2 max max 4096 25 de septiembre 17:16 b
drwxrwxr-x 2 max max 4096 25 de septiembre 17:16 c
[max @ localhost zzz] $ cd
[max @ localhost ~] $ ll
total 4
drwxrwxr-x 5 max max 4096 25 de septiembre 17:26 zzz

pero si elimino cualquier directorio, el recuento de enlaces cambiará

[max @ localhost zzz] $ rmdir bc
[max @ localhost zzz] $ cd
[max @ localhost ~] $ ll
total 4
drwxrwxr-x 3 max max 4096 25 de septiembre 17:28 zzz

Muchos (tal vez demasiado) detalles para directorios, ni una palabra para archivos.
— ndemou
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.