¿Qué indica el primer carácter de la cadena de modo UNIX?

22

Estoy muy familiarizado con los permisos de archivos de Linux y las permanentes especiales (sticky bit, suid, guid)

¿Pero no sé qué representa el c ? ¿Es un permiso, o algo más? He hecho algunas búsquedas en Google y no puedo resolverlo.

Aquí está el archivo de dispositivo que lo tiene.

steven@A215:~$ ls -l /dev/null
crw-rw-rw- 1 root root 1, 3 Dec 29 20:58 /dev/null
    
pregunta user169254 30.12.2013 - 03:17

4 respuestas

30

Significa que el archivo es un archivo especial de caracteres , básicamente un archivo de dispositivo que proporciona acceso en serie (a diferencia de un dispositivo bloque especial como una unidad de disco) . Por ejemplo, los terminales y los dispositivos en serie se interconectan a través de archivos especiales de caracteres ( /dev/tty1 , /dev/ttyS0 y así sucesivamente).

Para obtener una breve introducción a los archivos del dispositivo, consulte Linux / UNIX: archivos del dispositivo [cyberciti.biz]. Para una discusión más detallada, vea esta respuesta stackexchange Entender / dev y sus subdirectorios y archivos . Para obtener información sobre las estructuras de datos subyacentes, consulte el Capítulo 4 de la Guía de programación del módulo Linux Kernel: Archivos de dispositivo de caracteres [tldp.org]

    
respondido por el steeldriver 30.12.2013 - 03:52
16

Un dispositivo de caracteres está marcado con un c como la primera letra de la cadena de modos. Del mismo modo, un dispositivo de bloque está marcado con un b ,

$ ls -l /dev/null
crw-rw-rw- 1 root root 1, 3 Jan 21 21:50 /dev/null
$ ls -l /dev/sda
brw-rw---- 1 root disk 8, 0 Jan 21 21:50 /dev/sda

hay más de estos dispositivos especiales (archivos en el sentido de que todo es un archivo en Linux),

d : directory
s : socket
p : pipe
D : Door
l : symbolic link etc.

Consulte esta página wikipedia para obtener más información.

    
respondido por el souravc 30.12.2013 - 04:08
3

ls -l genera una cadena de información UNIX de 10 símbolos popularmente conocida como cadena de permisos. por ejemplo,

-rw-rw-r--  1 userName groupName   13200650 Dec 13 21:23 fileName

El primer carácter de cadena de permiso o cadena de modo , conocido como el descriptor de archivo , indica el tipo de archivo y los nueve restantes tomados grupos de tres indican los permisos para el archivo en cuestión, donde:

  • el primer grupo de tres caracteres (después del primer carácter entre los 10) indica los permisos del propietario,
  • el segundo grupo de tres designa permisos para el grupo,
  • el último grupo de tres designa permisos para otros (o el mundo).

Aquí, en el ejemplo anterior, el primer carácter / símbolo "-" indica un archivo normal.

Mientras está en los siguientes ejemplos,

crw-rw-rw- 1 root root 1, 3 Dec 29 20:58 /dev/null
crw-rw-rw- 1 root root 1, 5 Jan 13 20:56 /dev/zero

el primer carácter de las cadenas de permisos es "c" y, como se indicó anteriormente, es un indicador de tipo de archivo que indica un dispositivo de caracteres

Además del - , c algunos otros descriptores de archivos son:

  • d - & gt; directorio
  • l - & gt; enlace simbólico
  • s - & gt; Zócalo Unix
  • b - & gt; dispositivo de bloque
  • p - & gt; tubería
  • D - & gt; Puerta

Referencias:

respondido por el precise 13.01.2014 - 18:11
1

El primer carácter en la primera columna, es decir, 'c' en crw-rw-rw- anterior, le dice a un usuario informado el tipo de archivo, en este caso un dispositivo de caracteres.

    
respondido por el Maythux 30.12.2013 - 18:35

Lea otras preguntas en las etiquetas