Crear enlaces duros y suaves - Preparación del examen RHCSA

Crear enlaces duros y suaves - Preparación del examen RHCSA

En esta parte de la preparación del examen RHCSA, dirigiremos nuestra atención a los enlaces. Hay dos tipos de enlaces, enlaces duros y enlaces suaves. En este artículo hablaremos sobre cómo crear y eliminar enlaces y también discutiremos algunos antecedentes básicos detrás de ambos, los enlaces duros y los enlaces suaves.

En este tutorial aprenderás:

  • ¿Qué son los enlaces simbólicos (suaves)?
  • ¿Qué son los enlaces duros?
  • Cómo crear un enlace simbólico
  • Cómo crear un enlace duro
  • Cómo eliminar el enlace
Página manual del LN dominio

Requisitos y convenciones de software utilizados

Requisitos de software y convenciones de línea de comandos de Linux
Categoría Requisitos, convenciones o versión de software utilizada
Sistema Red Hat Enterprise Linux 8 o cualquier otra distribución de GNU/Linux
Software N / A
Otro Acceso privilegiado a su sistema Linux como root o a través del sudo dominio.
Convenciones # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de sudo dominio
ps - Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado

¿Qué son los enlaces en los sistemas GNU/Linux?

Cada archivo tiene información sobre su fecha de creación, modificación, acceso, así como la propiedad del archivo y sus permisos almacenados en una llamada llamada inodo. Además de los metadatos almacenados ya mencionados, los inodo También almacena una información sobre un bloque de datos donde el contenido real del archivo se almacena en el sistema de archivos.

Por lo tanto, la función principal del inodo es describir un objeto de sistema de archivos, como un archivo o un directorio. Para acceder al objeto del sistema de archivos asociado con un inodo Necesitamos proporcionar al usuario un enlace duro cuál es el nombre real o el nombre del directorio.

Esto explica el primer tipo de enlaces que son enlaces duros. El segundo tipo de enlaces en el sistema operativo GNU/Linux son enlaces simbólicos a.k.Un enlace suave. La diferencia entre enlaces duros y simbólicos es que los enlaces simbólicos solo apuntan a enlaces duros, es decir, apuntan a los nombres de archivo o directorio existentes. En los enlaces de Nutshell, permiten al usuario acceder a archivos o directorios a través de múltiples nombres.



Enlaces duros

Desde enlaces duros están asociados con el inodos que a su vez son una función de sistema de archivos, los enlaces duros no pueden cruzar los sistemas de archivos, por lo tanto, solo son válidos dentro del mismo sistema de archivos. Además, no es posible crear enlaces difíciles en directorios. Cualquier intento de crear un enlace duro a partir de un directorio dará como resultado Enlace duro no permitido para el directorio mensaje de error.

Creemos algunos enlaces duros. En este ejemplo, primero crearemos un archivo arbitrario llamado salvadera que contiene un texto LinuxConfig.organizar. Una vez listo, crearemos un múltiplo enlaces duros a este archivo apuntando desde diferentes ubicaciones.

  1. Crea un archivo llamado salvadera que contiene un texto RHCSA Dentro de un directorio de inicio del usuario ~/.
    $ Echo "RHCSA"> ~/Sandbox 

    Verifique el contenido del archivo utilizando el gato dominio:

    $ Cat ~/Sandbox RHCSA 
  2. Todavía ubicado dentro de un directorio de inicio de usuario, cree un enlace difícil al salvadera presentar desde /TMP/ directorio llamado enlace duro1.
    $ ln sandbox /tmp /hardlink1 

    Ahora verifique el contenido del enlace duro recién creado /tmp/hardlink1. El contenido del /tmp/hardlink1 y el original salvadera El archivo debe ser el mismo:

    $ Cat /TMP /HardLink1 RHCSA 


  3. Verifique la información del enlace asociada con ambos nombres de archivos salvadera y /tmp/hardlink1.
    $ ls -l /tmp /hardlink1 -rw -rw -r--. 2 LinuxConfig LinuxConfig 6 Jul 25 10:20/TMP/HardLink1 $ LS -L ~/Sandbox -RW -RW -R--. 2 Linuxconfig Linuxconfig 6 Jul 25 10:20/Home/LinuxConfig/Sandbox 

    Tenga en cuenta el número asociado 2 Como se muestra en la salida anterior. Este número indica el número de enlaces duros asociados con un inodo específico.

    NOTA
    En esta etapa es importante entender que no hay una diferencia real entre el original salvadera y el recién creado /tmp/hardlink1 archivo. Ambos apuntan a lo mismo inodo Usando diferentes nombres de archivo.
  4. Eliminar el enlace duro usando desconectar o RM dominio.
  5. $ Unlink Sandbox $ LS -L /TMP /HardLink1 -RW -RW -R--. 1 LinuxConfig LinuxConfig 6 Jul 25 10:20 /TMP /HardLink1 

    En este caso, ambos RM o desconectar Los comandos eliminarán un enlace duro, pero no los datos e inodeo asociados reales. Desde el salvadera Se ha eliminado el enlace duro, solo hay 1 Enlace duro que queda asociado con el inodo original. A continuación, eliminaremos el último enlace duro asociado con este archivo:

    $ rm /tmp /hardlink1 

    En este punto, se pierde el enlace al inodo que apunta al contenido de nuestro archivo original, por lo tanto, consideramos que este archivo se elimina. Si no hay enlaces difíciles que apunten a un inodo, el sistema de archivos ahora puede sobrescribir la ubicación de esta inodo con un nuevo datos.

SABÍAS?
Puede eliminar cualquier archivo (dado que tiene un permiso adecuado) utilizando el comando UNLINK? Pruebalo ahora:
File $ touch $ UNLINK ARCHIVO 

Si entendió los comandos anteriores, entonces ha dominado los enlaces duros GNU/Linux como se explica en este tutorial.

Enlaces simbólicos

Además de los enlaces duros, también hay un tipo diferente de enlaces disponibles en el sistema operativo GNU/Linux. Enlaces simbólicos puede cruzar los sistemas de archivos, y también es posible crear un enlace simbólico de un directorio. Sin embargo, enlaces simbólicos en lugar de los reales inodo, Solo enlace a un enlace duro existente (nombre o nombre de directorio). Por esta razón, si el enlace duro real al que apunta el enlace simbólico se elimina, el enlace simbólico se rompe.

  1. Primero creemos algunos objetos de sandbox para jugar con. En este caso, crearemos un directorio llamado mydir y dentro de este directorio crearemos un archivo llamado mi archivo.
    $ mkdir mydir $ touch mydir/myfile 


  2. A continuación, crearemos un nuevo enlace simbólico del directorio existente MyDir usando el LN comando con una combinación de -s opción.
    $ ln -s ~/mydir/tmp/symdir 

    Ahora, hemos creado un enlace simbólico llamado symdir ubicado dentro del /TMP directorio.

    $ CD / TMP / $ LS -L Symdir lrwxrwxrwx. 1 Linuxconfig Linuxconfig 23 25 de julio 14:05 symdir ->/home/linuxconfig/mydir 

    Tenga en cuenta el primer carácter de la salida anterior. En este caso el personaje l indica que estamos tratando con un enlace simbólico.

    NOTA
    Al crear un enlaces simbólicos, tenga en cuenta que el LN El comando almacena la ruta real proporcionada como cadena. Si no está con el mismo directorio, en muchos casos debe proporcionar una ruta completa para el orden para que el enlace simbólico funcione

    El recién creado symdir debe contener un archivo cajante previamente mi archivo:

    $ CD Symdir $ ls myfile $ pwd /tmp /symdir 

Ejercicios

  1. Jugar con enlaces simbólicos. Cree un enlace simbólico a un archivo después de que elimine el archivo original y vea lo que sucedió con su enlace simbólico.
  2. ¿Qué pasa cuando ejecutas? LS comando con solo un argumento. Por ejemplo, ejecute el siguiente comando LN -S /ETC /Servicios. Qué pasó?
  3. Determine si necesita poseer el archivo para crear un enlace simbólico. ¿Se aplica la misma regla para enlaces duros??
  4. Tutoriales de Linux relacionados:

    • Una introducción a la automatización, herramientas y técnicas de Linux
    • Cosas para instalar en Ubuntu 20.04
    • Mastering Bash Script Loops
    • Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
    • Mint 20: Mejor que Ubuntu y Microsoft Windows?
    • Bucles anidados en guiones Bash
    • Cómo arrancar dual Kali Linux y Windows 10
    • ¿Con qué frecuencia tiene que reiniciar su servidor de Linux??
    • Tutorial de depuración de GDB para principiantes
    • Sistema colgado de Linux? Cómo escapar a la línea de comando y ..