Sistema de archivos Unix – Part 1

El sistema de archivos Unix es un método lógico para organizar y almacenar grandes cantidades de información de una manera que facilita su administración. Un archivo es la unidad más pequeña en la que se almacena la información. El sistema de archivos Unix tiene varias características importantes. Todos los datos en Unix están organizados en archivos. Todos los archivos están organizados en directorios. Estos directorios están organizados en una estructura similar a un árbol llamada sistema de archivos.

Los archivos en el sistema Unix están organizados en una estructura jerárquica de varios niveles conocida como árbol de directorios. En la parte superior del sistema de archivos hay un directorio llamado «raíz» que se representa con «/». Todos los demás archivos son «descendientes» de la raíz.

Directorios o Archivos y su descripción –

  • / : El carácter de barra inclinada / por sí solo denota la raíz del árbol del sistema de archivos.
  • /bin : significa «binarios» y contiene ciertas utilidades fundamentales, como ls o cp, que generalmente necesitan todos los usuarios.
  • /boot: contiene todos los archivos necesarios para un proceso de arranque exitoso.
  • /dev : Significa «dispositivos». Contiene representaciones de archivos de dispositivos periféricos y pseudodispositivos.
  • /etc: contiene archivos de configuración de todo el sistema y bases de datos del sistema. Originalmente también contenía «utilidades de mantenimiento peligrosas» como init, pero generalmente se han movido a /sbin o a otro lugar.
  • /home: contiene los directorios de inicio de los usuarios.
  • /lib: contiene bibliotecas del sistema y algunos archivos críticos, como módulos del kernel o controladores de dispositivos.
  • /media : punto de montaje predeterminado para dispositivos extraíbles, como memorias USB, reproductores multimedia, etc.
  • /mnt: significa «montar». Contiene puntos de montaje del sistema de archivos. Se utilizan, por ejemplo, si el sistema utiliza varios discos duros o particiones de disco duro. También se usa a menudo para sistemas de archivos remotos (red), unidades de CD-ROM/DVD, etc.
  • /proc: sistema de archivos virtual procfs que muestra información sobre los procesos como archivos.
  • /root: el directorio de inicio del superusuario «root», es decir, el administrador del sistema. El directorio de inicio de esta cuenta generalmente se encuentra en el sistema de archivos inicial y, por lo tanto, no en /home (que puede ser un punto de montaje para otro sistema de archivos) en caso de que sea necesario realizar un mantenimiento específico, durante el cual otros sistemas de archivos no están disponibles. Tal caso podría ocurrir, por ejemplo, si una unidad de disco duro sufre fallas físicas y no se puede montar correctamente.
  • /tmp : Un lugar para archivos temporales. Muchos sistemas borran este directorio al iniciarse; es posible que tenga tmpfs montado encima, en cuyo caso su contenido no sobrevivirá a un reinicio, o podría ser borrado explícitamente por una secuencia de comandos de inicio en el momento del inicio.
  • /usr: originalmente el directorio que contenía los directorios de inicio de los usuarios, su uso ha cambiado. Ahora contiene ejecutables, bibliotecas y recursos compartidos que no son críticos para el sistema, como el sistema X Window, KDE, Perl, etc. Sin embargo, en algunos sistemas Unix, algunas cuentas de usuario aún pueden tener un directorio de inicio que es un subdirectorio directo de /usr, como el predeterminado en Minix. (en los sistemas modernos, estas cuentas de usuario a menudo están relacionadas con el uso del servidor o del sistema, y ​​no las usa directamente una persona).
  • /usr/bin: este directorio almacena todos los programas binarios distribuidos con el sistema operativo que no residen en /bin, /sbin o (raramente) /etc.
  • /usr/include: almacena los encabezados de desarrollo utilizados en todo el sistema. Los archivos de encabezado son utilizados principalmente por la directiva #include en el lenguaje de programación C/C++.
  • /usr/lib: almacena las bibliotecas y los archivos de datos necesarios para los programas almacenados en /usr o en otro lugar.
  • /var: una abreviatura de «variable». Un lugar para archivos que pueden cambiar con frecuencia, especialmente en tamaño, por ejemplo, correo electrónico enviado a usuarios en el sistema o archivos de bloqueo de ID de proceso.
  • /var/log: Contiene archivos de registro del sistema.
  • /var/mail: El lugar donde se almacenan todos los correos entrantes. Los usuarios (que no sean root) solo pueden acceder a su propio correo. A menudo, este directorio es un enlace simbólico a /var/spool/mail.
  • /var/spool: directorio de colas. Contiene trabajos de impresión, colas de correo y otras tareas en cola.
  • /var/tmp: un lugar para archivos temporales que deben conservarse entre reinicios del sistema.

Tipos de archivos Unix: el sistema de archivos UNIX contiene varios tipos diferentes de archivos:

1. Archivos ordinarios: un archivo ordinario es un archivo en el sistema que contiene datos, texto o instrucciones de programa.

  • Se utiliza para almacenar su información, como algún texto que haya escrito o una imagen que haya dibujado. Este es el tipo de archivo con el que suele trabajar.
  • Siempre ubicado dentro/debajo de un archivo de directorio.
  • No contiene otros archivos.
  • En la salida de formato largo de ls -l, este tipo de archivo se especifica con el símbolo «-«.

2. Directorios: los directorios almacenan archivos especiales y ordinarios. Para usuarios familiarizados con Windows o Mac OS, los directorios UNIX son equivalentes a carpetas. Un archivo de directorio contiene una entrada para cada archivo y subdirectorio que alberga. Si tiene 10 archivos en un directorio, habrá 10 entradas en el directorio. Cada entrada tiene dos componentes.
(1) El nombre de archivo
(2) Un número de identificación único para el archivo o directorio (llamado el número de iNode)

  • Puntos de ramificación en el árbol jerárquico.
  • Se utiliza para organizar grupos de archivos.
  • Puede contener archivos ordinarios, archivos especiales u otros directorios.
  • Nunca contenga información «real» con la que trabajaría (como texto). Básicamente, solo se usa para organizar archivos.
  • Todos los archivos son descendientes del directorio raíz, ( llamado / ) ubicado en la parte superior del árbol.
  • En la salida de formato largo de ls –l , este tipo de archivo se especifica con el símbolo «d».

    3. Archivos especiales: se utilizan para representar un dispositivo físico real, como una impresora, una unidad de cinta o un terminal, que se utilizan para operaciones de entrada/salida (E/S). Los archivos de dispositivo o especiales se utilizan para la entrada/salida (E/S) del dispositivo en sistemas UNIX y Linux. Aparecen en un sistema de archivos como un archivo ordinario o un directorio.
    En los sistemas UNIX hay dos tipos de archivos especiales para cada dispositivo, archivos especiales de caracteres y archivos especiales de bloques:

    • Cuando se utiliza un archivo especial de caracteres para la entrada/salida (E/S) del dispositivo, los datos se transfieren un carácter a la vez. Este tipo de acceso se denomina acceso de dispositivo sin formato.
    • Cuando se utiliza un archivo especial de bloque para la entrada/salida (E/S) del dispositivo, los datos se transfieren en grandes bloques de tamaño fijo. Este tipo de acceso se denomina acceso de dispositivo de bloque.

    Para dispositivos terminales, es un carácter a la vez. Sin embargo, para los dispositivos de disco, el acceso sin formato significa leer o escribir en fragmentos completos de datos, bloques que son nativos de su disco.

    • En la salida de formato largo de ls -l, los archivos especiales de caracteres están marcados con el símbolo «c».
    • En la salida de formato largo de ls -l, los archivos especiales de bloque están marcados con el símbolo «b».

    4. Tuberías: UNIX le permite vincular comandos mediante una tubería. La tubería actúa como un archivo temporal que solo existe para contener datos de un comando hasta que los lea otro. Una tubería Unix proporciona un flujo de datos unidireccional. La salida o resultado de la primera secuencia de comandos se usa como entrada para segunda secuencia de comandos. Para hacer una tubería, coloque una barra vertical (|) en la línea de comando entre dos comandos. Por ejemplo: quién | wc-l

    En la salida de formato largo de ls –l , las canalizaciones con nombre están marcadas con el símbolo «p».

    5. Sockets: un socket Unix (o socket de comunicación entre procesos) es un archivo especial que permite una comunicación avanzada entre procesos. Un socket de Unix se utiliza en un marco de aplicación cliente-servidor. En esencia, es un flujo de datos, muy similar al flujo de red (y los sockets de red), pero todas las transacciones son locales para el sistema de archivos.

    En la salida de formato largo de ls -l, los sockets de Unix están marcados con el símbolo «s».

    6. Enlace simbólico: el enlace simbólico se utiliza para hacer referencia a algún otro archivo del sistema de archivos. El enlace simbólico también se conoce como enlace suave. Contiene una forma de texto de la ruta al archivo al que hace referencia. Para un usuario final, el enlace simbólico parecerá tener su propio nombre, pero cuando intente leer o escribir datos en este archivo, en su lugar, hará referencia a estas operaciones al archivo al que apunta. Si eliminamos el enlace suave en sí, el archivo de datos aún estaría allí. Si eliminamos el archivo de origen o lo movemos a una ubicación diferente, el archivo simbólico no funcionará correctamente.

    En la salida de formato largo de ls –l , los enlaces simbólicos están marcados con el símbolo «l» (que es una L minúscula).

    Referencia –

    UNIX – Conceptos y Aplicaciones | Sumitabha Das | Tata McGraw Hill | Cuarta edición

    Este artículo es una contribución de Saloni Gupta . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

    Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

    Publicación traducida automáticamente

    Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *