Linux Professional Institute Learning Logo.
Pasar al contenido principal
  • Inicio
    • Todos los recursos
    • LPI Learning Materials
    • Conviértete en colaborador
    • Publishing Partners
    • Conviértase en un Publishing Partner
    • Acerca de nosotros
    • FAQ
    • Colaboradores
    • Roadmap
    • Contáctenos
  • LPI.org
5.4 Lección 1
Tema 1: La Comunidad Linux y una carrera en el mundo del código abierto
1.1 Los sistemas operativos populares y la evolución de Linux
  • 1.1 Lección 1
1.2 Principales aplicaciones de código abierto
  • 1.2 Lección 1
1.3 Software de Código Abierto y las licencias
  • 1.3 Lección 1
1.4 Destrezas TIC y el trabajo con Linux
  • 1.4 Lección 1
Tema 2: Encontrando el camino en un sistema Linux
2.1 Aspectos básicos de la línea de comandos
  • 2.1 Lección 1
  • 2.1 Lección 2
2.2 Uso de la línea de comandos para obtener ayuda
  • 2.2 Lección 1
2.3 Uso de directorios y listado de archivos
  • 2.3 Lección 1
  • 2.3 Lección 2
2.4 Crear, mover y borrar archivos
  • 2.4 Lección 1
Tema 3: El poder de la línea de comandos
3.1 Archivar ficheros desde la línea de comandos
  • 3.1 Lección 1
3.2 Buscar y extraer datos de los ficheros
  • 3.2 Lección 1
  • 3.2 Lección 2
3.3 Crear un script a partir de una serie de comandos
  • 3.3 Lección 1
  • 3.3 Lección 2
Tema 4: El sistema operativo Linux
4.1 La elección del sistema operativo
  • 4.1 Lección 1
4.2 Conocer el hardware del ordenador
  • 4.2 Lección 1
4.3 Donde los datos se almacenan
  • 4.3 Lección 1
  • 4.3 Lección 2
4.4 Tu ordenador en la red
  • 4.4 Lección 1
Tema 5: Seguridad y sistema de permisos de archivos
5.1 Seguridad básica e identificación de tipos de usuarios
  • 5.1 Lección 1
5.2 Creating Users and Groups
  • 5.2 Lección 1
5.3 Gestión de los permisos y la propiedad de los archivos
  • 5.3 Lección 1
5.4 Directorios y archivos especiales
  • 5.4 Lección 1
How to get certified
  1. Tema 5: Seguridad y sistema de permisos de archivos
  2. 5.4 Directorios y archivos especiales
  3. 5.4 Lección 1

5.4 Lección 1

Certificación:

Linux Essentials

Versión:

1.6

Tema:

5 Seguridad y permisos de archivos

Objetivo:

5.4 Directorios y archivos especiales

Lección:

1 de 1

Introducción

En Linux, todo se trata como un archivo. Sin embargo, algunos archivos reciben un trato especial, ya sea por el lugar donde están almacenados, como los archivos temporales o la forma en que interactúan con el sistema de archivos, como los enlaces. En esta lección, aprenderemos dónde se encuentran dichos archivos, cómo funcionan y cómo administrarlos.

Archivos temporales

Los archivos temporales son archivos utilizados por los programas para almacenar datos que solo se necesitan por un corto tiempo. Estos pueden ser los datos de procesos en ejecución, registros de bloqueo, archivos de memoria virtual de un autoguardado, archivos intermedios utilizados durante una conversión de archivos, archivos de caché, etc.

Ubicación de los archivos temporales

La versión 3.0 del Filesystem Hierarchy Standard (FHS) define las ubicaciones estándar para los archivos temporales en los sistemas Linux. Cada ubicación tiene un propósito y comportamiento diferente, y se recomienda que los desarrolladores sigan las convenciones establecidas por el FHS cuando escriban datos temporales en el disco.

/tmp

Según el FHS, los programas no deben asumir que los archivos escritos se conservarán entre las invocaciones de un programa. La recomendación es que este directorio sea limpiado (todos los archivos borrados) durante el arranque del sistema, aunque esto es no es obligatorio.

/var/tmp

Otra ubicación para los archivos temporales, pero ésta no debe ser borrada durante el arranque del sistema, es decir, los archivos almacenados aquí normalmente persistirán entre los reinicios.

/run

Este directorio contiene datos variables en tiempo de ejecución utilizados por los procesos en ejecución, como los archivos de identificación de los procesos (.pid). Los programas que necesitan más de un archivo de tiempo de ejecución pueden crear subdirectorios aquí. Esta ubicación debe ser despejada durante el arranque del sistema. El propósito de este directorio fue una vez servido por /var/run y en algunos sistemas /var/run puede ser un enlace simbólico a /run.

Tenga en cuenta que no hay nada que impida a un programa crear archivos temporales en otra parte del sistema, pero es una buena práctica respetar las convenciones establecidas por FHS.

Permisos en los archivos temporales

Disponer de directorios temporales en todo el sistema en un sistema multiusuario, presenta algunos problemas en lo que respecta a los permisos de acceso. Al principio se pensó que tales directorios serían “escritos por todo el mundo”, es decir, que cualquier usuario podría escribir o borrar datos en ellos. Pero si esto fuera cierto, ¿cómo podríamos evitar que un usuario borre o modifique los archivos creados por otro?

La solución es un permiso especial llamado sticky bit, que se aplica tanto a directorios como a archivos. Sin embargo, por razones de seguridad, el kernel de Linux ignora el bit fijo cuando se aplica a los archivos. Cuando este bit especial se establece para un directorio, evita que los usuarios eliminen o renombren un archivo dentro de ese directorio a menos que sean propietarios del archivo.

Los directorios con el sicky bit muestran una t reemplazando la x en el permiso para otros en la salida de ls -l. Por ejemplo, revisemos los permisos de los directorios tmp y var/tmp:

$ ls -ldh /tmp/ /var/tmp/
drwxrwxrwt 25 root root 4,0K Jun  7 18:52 /tmp/
drwxrwxrwt 16 root root 4,0K Jun  7 09:15 /var/tmp/

Como puedes ver por la t que reemplaza a la x en el permiso para otros, ambos directorios tienen el sticky bit.

Para poner el sticky bit en un directorio usando chmod en modo numérico, usa la notación de cuatro dígitos y 1 como primer dígito. Por ejemplo:

$ chmod 1755 temp

Pondrá el sticky bit para el directorio llamado temp y los permisos como rwxr-xr-t.

Cuando use el modo simbólico, use el parámetro t. Entonces, +t para establecer el sticky bit, y -t para desactivarlo. Por ejemplo:

$ chmod +t temp

Comprendiendo los enlaces

Ya hemos dicho que en Linux, todo se trata como un archivo. Pero hay un tipo de archivo especial llamado link, y hay dos tipos de enlaces en un sistema Linux:

Enlaces simbólicos

También llamados enlaces suaves (soft links), apuntan a la ruta de otro archivo. Si borras el archivo al que apunta el enlace (llamado target) el enlace seguirá existiendo, pero “dejará de funcionar”, ya que ahora apunta a “nada”.

Enlaces duros

Piensa en un enlace duro como un segundo nombre para el archivo original. No son duplicados, sino una entrada adicional en el sistema de archivos que apunta al mismo lugar (inodo) en el disco.

Tip

Un inodo es una estructura de datos que almacena atributos para un objeto (como un archivo o directorio) en un sistema de archivos. Entre esos atributos están el nombre del archivo, los permisos, la propiedad y en qué bloques del disco se almacenan los datos para el objeto. Piensa en ello como una entrada en un índice, de ahí el nombre, que viene de “nodo de índice”.

Trabajando con enlaces duros (Hard Links)

Creación de enlaces duros

El comando para crear un enlace duro en Linux es ln. La sintaxis básica es:

$ ln TARGET LINK_NAME

El TARGET debe existir (este es el archivo al que apuntará el enlace), y si el destino no está en el directorio actual, o si quieres crear el enlace en otro lugar, debes definir la ruta completa. Por ejemplo, el comando:

$ ln target.txt /home/carol/Documents/hardlink

Creará un archivo llamado hardlink en el directorio /home/carol/Documents/, enlazado al archivo target.txt en el directorio actual.

Si se omite el último parámetro (LINK_NAME), se creará un enlace con el mismo nombre del objetivo en el directorio actual.

Administrando los enlaces duros

Los enlaces duros son entradas en el sistema de archivos que tienen nombres diferentes, pero que apuntan a los mismos datos en el disco. Todos esos nombres son iguales y pueden ser usados para referirse a un archivo. Si se cambia el contenido de uno de los nombres, el contenido de todos los demás nombres que apuntan a ese archivo cambia, ya que todos estos nombres apuntan a los mismos datos. Si elimina uno de los nombres, los otros nombres seguirán funcionando.

Esto sucede porque cuando “borras” un archivo, los datos no se borran realmente del disco. El sistema simplemente borra la entrada en la tabla del sistema de archivos que apunta al inodo correspondiente a los datos del disco. Pero si tienes una segunda entrada que apunta al mismo inodo, todavía puedes llegar a los datos. Piensa en ello como dos caminos que convergen en el mismo punto. Incluso si bloqueas o redireccionas uno de los caminos, todavía puedes llegar al destino usando el otro.

Puedes comprobarlo usando el parámetro -i de ls. Considere los siguientes contenidos de un directorio:

$ ls -li
total 224
3806696 -r--r--r-- 2 carol carol 111702 Jun  7 10:13 hardlink
3806696 -r--r--r-- 2 carol carol 111702 Jun  7 10:13 target.txt

El número que precede a los permisos es el número inode. ¿Ves que tanto el archivo hardlink como el archivo target.txt tienen el mismo número (3806696)? Esto es porque uno es un enlace duro del otro.

Pero, ¿cuál es el original y cuál es el enlace? No se puede decir realmente, ya que para todos los propósitos prácticos son los mismos.

Los archivos temporales son archivos utilizados por los programas para almacenar datos que solo se necesitan por un corto tiempo. Estos pueden ser los datos de procesos en ejecución, registros de bloqueo, archivos de memoria virtual de un autoguardado, archivos intermedios utilizados durante una conversión de archivos, archivos de caché, etc.

A diferencia de los enlaces simbólicos, solo puede crear enlaces duros a los archivos, y tanto el enlace como el destino deben residir en el mismo sistema de archivos.

Mover y eliminar enlaces duros

Dado que los enlaces duros se tratan como archivos normales, pueden eliminarse con rm y cambiarse de nombre o moverse por el sistema de archivos con mv. Y dado que un enlace duro apunta al mismo inodo de destino (target), puede moverse libremente, sin temor a “romper” el enlace.

Enlaces simbólicos

Creando enlaces simbólicos

El comando utilizado para crear un enlace simbólico también es ln, pero agregando el parámetro -s. Al igual que:

$ ln -s target.txt /home/carol/Documents/softlink

Esto creará un archivo llamado softlink en el directorio /home/carol/Documents/, apuntando al archivo target.txt en el directorio actual.

Al igual que con los enlaces duros, puede omitir el nombre del enlace para crear un enlace con el mismo nombre que el objetivo en el directorio actual.

Administrando los enlaces simbólicos

Los enlaces simbólicos apuntan a otra ruta en el sistema de archivos. Puede crear enlaces simbólicos a los archivos y directorios, incluso en diferentes particiones. Es bastante fácil detectar un enlace simbólico en la salida de ls:

$ ls -lh
total 112K
-rw-r--r-- 1 carol carol 110K Jun  7 10:13 target.txt
lrwxrwxrwx 1 carol carol   12 Jun  7 10:14 softlink -> target.txt

En el ejemplo anterior, el primer carácter en los permisos del archivo softlink es l, indicando un enlace simbólico. Además, justo después del nombre del archivo vemos el nombre del objetivo al que apunta el enlace, el archivo target.txt.

Observe que en los listados de archivos y directorios, los enlaces suaves, siempre muestran los permisos rwx para el usuario, el grupo y otros, pero en la práctica los permisos de acceso para ellos son los mismos que los del objetivo (target).

Mover y eliminar los enlaces simbólicos

Como los enlaces duros, los enlaces simbólicos pueden ser eliminados usando rm y movidos o renombrados usando mv. Sin embargo, se debe tener especial cuidado al crearlos, para evitar “romper” el enlace si se mueve de su ubicación original.

Cuando se crean enlaces simbólicos hay que tener en cuenta que, a menos que se especifique completamente un camino, la ubicación del objetivo se interpreta como relativa a la ubicación del enlace. Esto puede crear problemas si el enlace, o el archivo al que apunta, se mueve.

Esto es más fácil de entender con un ejemplo. Digamos que tenemos un archivo llamado original.txt en el directorio actual, y queremos crear un enlace simbólico a él llamado softlink. Podríamos usar:

$ ln -s original.txt softlink

Y aparentemente todo estaría bien. Comprobemos con ls:

$ ls -lh
total 112K
-r--r--r-- 1 carol carol 110K Jun  7 10:13 original.txt
lrwxrwxrwx 1 carol carol   12 Jun  7 19:23 softlink -> original.txt

Mira cómo se construye el enlace: softlink apunta a (→) original.txt. Sin embargo, veamos qué sucede si movemos el enlace al directorio padre e intentamos mostrar su contenido usando el comando less:

$ mv softlink ../
$ less ../softlink
../softlink: No such file or directory

Como no se especificó la ruta de acceso al original.txt, el sistema asume que está en el mismo directorio que el enlace. Cuando esto deja de ser cierto, el enlace deja de funcionar.

La forma de evitarlo es especificar siempre el camino completo al objetivo al crear el enlace:

$ ln -s /home/carol/Documents/original.txt softlink

De esta manera, no importa dónde muevas el enlace, este seguirá funcionando, porque apunta a la ubicación absoluta del objetivo (target). Compruébalo con ls:

$ ls -lh
total 112K
lrwxrwxrwx 1 carol carol   40 Jun  7 19:34 softlink -> /home/carol/Documents/original.txt

Ejercicios guiados

  1. Imagina que un programa necesita crear un archivo temporal de un solo uso que no se volverá a necesitar después de que el programa se cierre. ¿Cuál sería el directorio correcto para crear este archivo?

  2. ¿Cuál es el directorio temporal que debe ser limpiado durante el proceso de arranque?

  3. ¿Cuál es el parámetro para chmod en modo simbólico para habilitar el sticky bit en un directorio?

  4. Imagina que hay un archivo llamado documento.txt en el directorio /home/carol/Documents. ¿Cuál es el comando para crear un enlace simbólico a hacia al archivo llamado text.txt en el directorio actual?

  5. Explique la diferencia entre un enlace duro a un archivo y una copia de este archivo.

Ejercicios exploratorios

  1. Imagina que dentro de un directorio creas un archivo llamado receitas.txt. Dentro de este directorio, también creas un enlace duro a este archivo, llamado receitas.txt, y un enlace simbólico (o soft) a este llamado rezepte.txt.

    $ touch recipes.txt
    $ ln recipes.txt receitas.txt
    $ ln -s receitas.txt rezepte.txt

    El contenido del directorio debería aparecer así:

    $ ls -lhi
    total 160K
    5388833 -rw-r--r-- 4 carol carol 77K jun 17 17:25 receitas.txt
    5388833 -rw-r--r-- 4 carol carol 77K jun 17 17:25 recipes.txt
    5388837 lrwxrwxrwx 1 carol carol  12 jun 24 10:12 rezepte.txt -> receitas.txt

    Recuerda que, como enlace duro, receitas.txt apunta al mismo inodo que recetas.txt. ¿Qué pasaría con el enlace simbólico rezepte.txt si se elimina el nombre receitas.txt? ¿Por qué?

  2. Imagina que tienes una unidad flash conectada en tu sistema, y montada en /media/tu usuario/FlashA. Quieres crear en tu directorio principal un enlace llamado schematics.pdf, apuntando al archivo esquema.pdf en el directorio raíz del pendrive. Entonces, escribes el comando:

    $ ln /media/youruser/FlashA/esquema.pdf ~/schematics.pdf

    ¿Qué pasaría? ¿Por qué?

  3. Considere la siguiente salida de ls -lah:

    $ ls -lah
    total 3,1M
    drwxr-xr-x 2 carol carol 4,0K jun 17 17:27 .
    drwxr-xr-x 5 carol carol 4,0K jun 17 17:29 ..
    -rw-rw-r-- 1 carol carol 2,8M jun 17 15:45 compressed.zip
    -rw-r--r-- 4 carol carol  77K jun 17 17:25 document.txt
    -rw-rw-r-- 1 carol carol 216K jun 17 17:25 image.png
    -rw-r--r-- 4 carol carol  77K jun 17 17:25 text.txt
    • ¿Cuántos enlaces apuntan al archivo document.txt?

    • ¿Son enlaces suaves o duros?

    • ¿Qué parámetro debes pasar a ls para ver qué inodo ocupa cada archivo?

  4. Imagina que tienes en tu directorio ~/Documentos un archivo llamado clients.txt que contiene algunos nombres de clientes y un directorio llamado somedir. Dentro de esto hay un archivo diferente llamado también clients.txt con diferentes nombres. Para replicar esta estructura, usa los siguientes comandos.

    $ cd ~/Documents
    $ echo "John, Michael, Bob" > clients.txt
    $ mkdir somedir
    $ echo "Bill, Luke, Karl" > somedir/clients.txt

    Luego creas un enlace dentro de somedir llamado partners.txt apuntando a este archivo, con los comandos:

    $ cd somedir/
    $ ln -s clients.txt partners.txt

    Entonces, la estructura del directorio es:

    Documents
    |-- clients.txt
    `-- somedir
        |-- clients.txt
        `-- partners.txt -> clients.txt

    Ahora, mueva partners.txt de somedir a ~/Documentos y enumere su contenido.

    $ cd ~/Documents/
    $ mv somedir/partners.txt .
    $ less partners.txt

    ¿Seguirá funcionando el enlace? Si es así, ¿qué archivo tendrá su contenido listado? ¿Por qué?

  5. Considere los siguientes archivos:

    -rw-r--r-- 1 carol carol 19 Jun 24 11:12 clients.txt
    lrwxrwxrwx 1 carol carol 11 Jun 24 11:13 partners.txt -> clients.txt

    ¿Cuáles son los permisos de acceso para "partners.txt"? ¿Por qué?

Resumen

En esta lección usted aprendió:

  • ¿Donde se almacenan los archivos temporales?

  • ¿Cuál es el permiso especial que se les aplica?

  • ¿Qué son los enlaces?

  • La diferencia entre los enlaces simbólicos y los duros.

  • ¿Cómo crear enlaces?

  • ¿Cómo moverlos, renombrarlos o eliminarlos?

Los siguientes comandos se discutieron en esta lección:

  • ln

  • El parámetro -i a ls

Respuestas a los ejercicios guiados

  1. Imagina que un programa necesita crear un archivo temporal de un solo uso que no se volverá a necesitar después de que el programa se cierre. ¿Cuál sería el directorio correcto para crear este archivo?

    Como no nos importa el archivo después de que el programa termine de ejecutarse, el directorio correcto es /tmp.

  2. ¿Cuál es el directorio temporal que debe ser limpiado durante el proceso de arranque?

    El directorio es run o en algunos sistemas, /var/run.

  3. ¿Cuál es el parámetro para chmod en modo simbólico para habilitar el sticky bit en un directorio?

    El símbolo para el sticky bit en modo simbólico es t. Ya que queremos habilitar (agregar) este permiso al directorio, el parámetro debe ser +t.

  4. Imagina que hay un archivo llamado documento.txt en el directorio /home/carol/Documents. ¿Cuál es el comando para crear un enlace simbólico a hacia al archivo llamado text.txt en el directorio actual?

    ln -s es el comando para crear un vínculo simbólico. Ya que debes especificar la ruta completa del archivo al que estás enlazando, el comando es:

    $ ln -s /home/carol/Documents/document.txt text.txt
  5. Explique la diferencia entre un enlace duro a un archivo y una copia de este archivo.

    Un enlace duro es sólo otro nombre para un archivo. Aunque parezca un duplicado del archivo original, a todos los efectos tanto el enlace como el original son iguales, ya que apuntan a los mismos datos en el disco. Los cambios realizados en el contenido del enlace se reflejarán en el original y viceversa. Una copia es una entidad completamente independiente, que ocupa un lugar diferente en el disco. Los cambios realizados en la copia no se reflejarán en el original y viceversa.

Respuestas a los ejercicios exploratorios

  1. Imagina que dentro de un directorio creas un archivo llamado recipes.txt. Dentro de este directorio, también crearás un enlace duro a este archivo llamado receitas.txt y un enlace simbólico (o soft) a este llamado rezepte.txt.

    $ touch recipes.txt
    $ ln recipes.txt receitas.txt
    $ ln -s receitas.txt rezepte.txt

    El contenido del directorio debe ser así:

    $ ls -lhi
    total 160K
    5388833 -rw-r--r-- 4 carol carol 77K jun 17 17:25 receitas.txt
    5388833 -rw-r--r-- 4 carol carol 77K jun 17 17:25 recipes.txt
    5388837 lrwxrwxrwx 1 carol carol  12 jun 24 10:12 rezepte.txt -> receitas.txt

    Recuerda que, como enlace duro, receitas.txt apunta al mismo inodo que recetas.txt. ¿Qué pasaría con el enlace blando rezepte.txt si se elimina el nombre receitas.txt? ¿Por qué?

    El enlace simbólico receitas.txt dejaría de funcionar. Esto se debe a que ese tipo de enlace apunta a nombres, no a inodos, y el nombre receitas.txt ya no existiría, aunque los datos sigan en el disco con el nombre recetas.txt.

  2. Imagina que tienes una unidad flash conectada en tu sistema, y montada en /media/tu usuario/FlashA. Quieres crear en tu directorio principal un enlace llamado schematics.pdf, apuntando al archivo esquema.pdf en el directorio raíz del pendrive. Entonces, escribes el comando:

    $ ln /media/youruser/FlashA/esquema.pdf ~/schematics.pdf

    ¿Qué pasaría? ¿Por qué?

    El comando fallaría. El mensaje de error sería Invalid cross-device link, y deja clara la razón: los enlaces duros no pueden apuntar a un objetivo (target) en una partición o dispositivo diferente. La única manera de crear un enlace como este es usar un enlace simbólico o soft, añadiendo el parámetro s a ln.

  3. Considere la siguiente salida de ls -lah:

    $ ls -lah
    total 3,1M
    drwxr-xr-x 2 carol carol 4,0K jun 17 17:27 .
    drwxr-xr-x 5 carol carol 4,0K jun 17 17:29 ..
    -rw-rw-r-- 1 carol carol 2,8M jun 17 15:45 compressed.zip
    -rw-r--r-- 4 carol carol  77K jun 17 17:25 document.txt
    -rw-rw-r-- 1 carol carol 216K jun 17 17:25 image.png
    -rw-r--r-- 4 carol carol  77K jun 17 17:25 text.txt
    • ¿Cuántos enlaces apuntan al archivo document.txt?

      Cada archivo comienza con un recuento de enlaces de 1. Dado que el recuento de enlaces para el archivo es de 4, hay tres enlaces que apuntan a ese archivo.

    • ¿Son enlaces suaves o duros?

      Son enlaces duros, ya que los enlaces suaves no aumentan el número de enlaces de un archivo.

    • ¿Qué parámetro debes pasar a ls para ver qué inodo ocupa cada archivo?

      El parámetro es -i. El inode se mostrará como la primera columna en la salida de ls, como se ve observa a continuación:

      $ ls -lahi
      total 3,1M
      5388773 drwxr-xr-x 2 rigues rigues 4,0K jun 17 17:27 .
      5245554 drwxr-xr-x 5 rigues rigues 4,0K jun 17 17:29 ..
      5388840 -rw-rw-r-- 1 rigues rigues 2,8M jun 17 15:45 compressed.zip
      5388833 -rw-r--r-- 4 rigues rigues  77K jun 17 17:25 document.txt
      5388837 -rw-rw-r-- 1 rigues rigues 216K jun 17 17:25 image.png
      5388833 -rw-r--r-- 4 rigues rigues  77K jun 17 17:25 text.txt
  4. Imagina que tienes en tu directorio ~/Documentos un archivo llamado clients.txt que contiene algunos nombres de clientes y un directorio llamado somedir. Dentro de esto hay un archivo diferente llamado también clients.txt con diferentes nombres. Para replicar esta estructura, usa los siguientes comandos.

    $ cd ~/Documents
    $ echo "John, Michael, Bob" > clients.txt
    $ mkdir somedir
    $ echo "Bill, Luke, Karl" > somedir/clients.txt

    Luego creas un enlace dentro de somedir llamado partners.txt apuntando a este archivo, con los comandos:

    $ cd somedir/
    $ ln -s clients.txt partners.txt

    Entonces, la estructura del directorio es:

    Documents
    |-- clients.txt
    `-- somedir
        |-- clients.txt
        `-- partners.txt -> clients.txt

    Ahora, mueva partners.txt de somedir a ~/Documentos y enumere su contenido.

    $ cd ~/Documents/
    $ mv somedir/partners.txt .
    $ less partners.txt

    ¿Seguirá funcionando el enlace? Si es así, ¿qué archivo tendrá su contenido listado? ¿Por qué?

    Este es un “truco”, pero el enlace funcionará, y el archivo listado será el de Documents, que contiene los nombres John, Michael, Bob.

    Recuerde que como no especificó la ruta completa al destino clients.txt al crear el enlace blando partners.txt, la ubicación del destino se interpretará como relativa a la ubicación del enlace, que en este caso es el directorio actual.

    Cuando el enlace fue movido de ~/Documentos/somedir a ~/Documents, debería dejar de funcionar, ya que el objetivo ya no estaba en el mismo directorio que el enlace. Sin embargo, sucede que hay un archivo llamado clients.txt en ~/Documentos, por lo que el enlace apuntará a este archivo, en lugar del destino original dentro de ~/somedir.

    Para evitar esto, siempre especifica el camino completo al objetivo al crear un enlace simbólico.

  5. Considere los siguientes archivos:

    -rw-r--r-- 1 rigues rigues 19 Jun 24 11:12 clients.txt
    lrwxrwxrwx 1 rigues rigues 11 Jun 24 11:13 partners.txt -> clients.txt

    ¿Cuáles son los permisos de acceso para partners.txt? ¿Por qué?

    Los permisos de acceso para partners.txt son rw-r—​r--, ya que los enlaces siempre heredan los mismos permisos de acceso que el objetivo.

Linux Professional Insitute Inc. Todos los derechos reservados. Visite el sitio web de Learning Materials: https://learning.lpi.org
Este trabajo está registrado bajo la Licencia Internacional Creative Commons Attribution-NonCommercial-NoDerivatives 4.0

Linux Professional Insitute Inc. Todos los derechos reservados. Visite el sitio web de Learning Materials: https://learning.lpi.org
Este trabajo está registrado bajo la Licencia Internacional Creative Commons Attribution-NonCommercial-NoDerivatives 4.0

LPI es una organización sin fines de lucro.

© 2023 Linux Professional Institute (LPI) es la organización global de certificación y apoyo académico para profesionales de código abierto. Con más de 200,000 titulares de certificación, es el primer y más grande organismo de certificación no comercial del mundo para Linux y Open Source. LPI cuenta con profesionales certificados en más de 180 países, realiza exámenes en varios idiomas y tiene cientos de socios de capacitación.

Nuestro propósito es hacer que las oportunidades económicas y creativas estén disponibles para todos, haciendo que el conocimiento de código abierto y la certificación sea universalmente accesible.

  • LinkedIn
  • flogo-RGB-HEX-Blk-58 Facebook
  • Twitter
  • Contáctenos
  • Política de privacidad y cookies

¿Detecta un error o desea ayudar a mejorar esta página? Por favor háznoslo saber.

© 1999–2023 The Linux Professional Institute Inc. Todos los derechos reservados.