Enlaces Simbólicos
Un enlace simbólico (enlace blando, o acceso directo) es un archivo especial que contiene un nombre de camino. Así, los enlaces blandos pueden apuntar a ficheros en sistemas de ficheros diferentes (posiblemente montados por NFS desde máquinas diferentes, unidades extraibles), y no tienen por qué apuntar a ficheros que existan realmente.
Un enlace simbólico permite dar a un fichero el nombre de otro, pero no enlaza el fichero con un inodo, es decir, en realidad lo que hacemos es enlazar directamente al nombre del fichero. Los enlaces simbólicos son ampliamente usados para las librerías compartidas.
Para comprendelo mejor, un "enlace simbólico" no es más que una referencia (enlace) a una carpeta (directorio) o fichero que está situado en un lugar físico distinto.
Crear enlaces simbólicos de directorios
La mejor forma de explicarlo es creando un enlace simbólico, pasemos a ello, el directorio publico contiene varios documentos, y está localizado en /publico
Ahora vamos a crear un enlace simbólico en /home/pepe al directorio /publico
La forma de operar es la siguiente:
Entonces podemos crear un enlace simbólico desde donde nos encontramos escribiendo la ruta completa con el siguiente comando:
o podemos ir al directorio donde deseamos crear el enlace
Podemos comprobar los resultados por consola, si listamos veremos que el enlace tiene el carácter l que lo identifica como enlace simbólico y se puede saber a que archivo están apuntando ya que se muestra la ruta -->
Como se ve los bits de permisos en un enlace simbólico no se usan (siempre aparecen como (rwxrwxrwx). En su lugar, los permisos del enlace simbólico son determinados por los permisos del fichero o directorio apuntado.
Si intenta efectuar la orden chmod sobre el enlace simbólico recién creado, en realidad cambiará los permisos del fichero al que apunta el enlace simbólico.
El comando anterior dará un mensaje de error, ya que el directorio 2013 no existe, esto significa que ha podido crear un enlace simbólico al directorio aunque no exista.
Entonces nos disponemos a crear el directorio /publico/2013 con permisos 755
Y verificamos que se creo con los permisos asignados:
Repetimos el comando que nos dio error antes:
Ahora no obtuvimos el error por que el directorio existe, si listamos vemos que el enlace simbólico mantiene sus permisos y que el directorio /publico/2013 fue el que cambio los permisos, de 755 a 750.
Para confirmar que el enlace simbólico tiene un inodo distinto usamos el comando ls -il:
De forma gráfica el resultado esta a la vista sin mucho más que explicar.
A continuación vamos a crear un archivo, haciendo uso del enlace simbólico al directorio 2013:
Esto crea un archivo en enlace-a-publico llamado mifichero, pero la ubicación de este archivo es /publico/2013 vamos a listar para verlo.
El fichero se ha creado en realidad en /publico/2013
Debemos tener presente:
Hay que tener en cuenta, que si borramos el archivo o directorio origen, el enlace simbólico permanece pero los datos desaparecen para siempre, pero si borramos el enlace simbólico no borraremos el directorio o archivo real.
Es importante remarcar que si accedemos al directorio por el atajo y luego hacemos un cd .. volveremos al directorio donde está el atajo y no al directorio superior.
Borrar enlaces simbólicos
Para eliminar un enlace tenemos dos posibles opciones:
o podemos usar el conocido comando rm
Una vez que borramos el enlace simbólico comprobamos que el directorio al que estaba apuntando aun existe.
En cambio si borramos el directorio 2013 al cual apunta el enlace simbólico veremos que los enlaces todavía existen, y obviamente ya no esta accesible el fichero original.
Crear enlaces simbólicos de archivos
En el caso que quisiéramos crear un enlace simbólico al archivo tesis-grupal que esta en el directorio /publico lo hacemos con los siguientes comandos.
Creamos el archivo tesis-grupal
Como sabemos podemos crear el enlace desde donde nos encontramos escribiendo la ruta completa con el siguiente comando:
o podemos ir al directorio donde deseamos crear el enlace y le asignamos el nombre tesis-enlace-simbolico
Y con el comando cat podemos ver que el enlace apunta hacia el archivo que creamos antes:
Enlaces duros
Los enlaces duros lo que hacen es asociar dos o más ficheros compartiendo el mismo inodo. Esto hace que cada enlace duro sea una copia exacta del resto de ficheros asociados, tanto de datos como de permisos, propietario, etc. Esto implica también que cuando se realicen cambios en uno de los enlaces o en el fichero este también se realizará en el resto de enlaces.
En sistemas GNU/Linux, los enlaces duros, tienen varias limitaciones. Una es que sólo se pueden hacer enlaces duros a archivos, y no a directorios.
La segunda limitación es que no pueden expandirse a través de distintos sistemas de archivos. Esto significa que no puede crear un enlace permanente desde /usr/bin/bash hacia /bin/bash si sus directorios / y /usr pertenecen a distintos sistemas de archivos.
Vamos a crear un enlace duro al fichero "tesis-grupal" que antes usamos y veremos que efectivamente comparten inodo y que los datos de propietario, grupo y permisos se mantienen sincronizados:
o podemos ir al directorio donde deseamos crear el enlace
Luego listamos para analizar los resultados con ls -il
En la primera columna verificamos que tienen el mismo número de inodo y en la tercera se especifica cuandos enlaces duros tiene el fichero, vamos a crear otro enlace y el numero se va a incrementar.
o podemos ir al directorio donde deseamos crear el enlace
Luego listamos para analizar los resultados con ls -il
Si editamos o modificamos un enlace duro veremos que también se modifican el resto de los enlaces y en el archivo origen.
Por ejemplo vamos a agregar texto al enlace tesis-enlace-duro2 para comprobar como el cambio afecta al archivo tesis-grupal y al otro enlace duro
Y finalmente hacemos un cat a los archivos para verificar los resultados:
y como podemos ver la edición al archivo tesis-enlace-duro también afecto al archivo tesis-grupal y a tesis-enlace-duro2
Si queremos obtener más datos para comprobar que son iguales los 3 archivos podemos recurrir a el comando stat
En el caso de los enlaces duros si borras en archivo de origen no vamos a perder el fichero, ya que los enlaces duros son una copia fiel de el.
Borramos el archivo origen
el enlace duro funciona sin problemas
y vemos que existen dos enlaces duros todavía.
Borrando enlaces duros
Igual que con los enlaces simbólicos podemos usar dos comandos para borrar los enlaces duros:
o podemos usar el conocido comando rm
Con el comando anterior el único enlace duro que nos queda es el tesis-enlace-duro si lo eliminamos ya perderíamos definitivamente el archivo, así que a no confundirse con este concepto.
Como una breve conclusión podemos decir que:
✔ Los enlaces simbólicos se pueden hacer con ficheros y directorios, los enlaces duros solo con ficheros.
✔ Los enlaces simbólicos se pueden hacer entre distintos sistemas de archivos, los enlaces duros no.
✔ En los enlaces simbólicos si se borra el archivo o directorio original la información se pierde, en los enlaces duros no.
✔ Los enlaces duros son copias de los originales que comparten el numero de inodo, mientras de los enlaces simbólicos son meros punteros.
Para consultas puntuales sobre este tema, o temas relacionados con servidores pasen por esta comunidad, todos serán bienvenidos!!
Fuentes de conocimiento:
Visita mis aportes o bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
Un enlace simbólico (enlace blando, o acceso directo) es un archivo especial que contiene un nombre de camino. Así, los enlaces blandos pueden apuntar a ficheros en sistemas de ficheros diferentes (posiblemente montados por NFS desde máquinas diferentes, unidades extraibles), y no tienen por qué apuntar a ficheros que existan realmente.
Un enlace simbólico permite dar a un fichero el nombre de otro, pero no enlaza el fichero con un inodo, es decir, en realidad lo que hacemos es enlazar directamente al nombre del fichero. Los enlaces simbólicos son ampliamente usados para las librerías compartidas.
Para comprendelo mejor, un "enlace simbólico" no es más que una referencia (enlace) a una carpeta (directorio) o fichero que está situado en un lugar físico distinto.
Crear enlaces simbólicos de directorios
La mejor forma de explicarlo es creando un enlace simbólico, pasemos a ello, el directorio publico contiene varios documentos, y está localizado en /publico
Ahora vamos a crear un enlace simbólico en /home/pepe al directorio /publico
La forma de operar es la siguiente:
ln -s /origen /enlace-a-origen
Entonces podemos crear un enlace simbólico desde donde nos encontramos escribiendo la ruta completa con el siguiente comando:
ln -s /publico/2013 /home/pepe/enlace-a-publico
o podemos ir al directorio donde deseamos crear el enlace
cd /home/pepe
ln -s /publico/2013 enlace-a-publico
Podemos comprobar los resultados por consola, si listamos veremos que el enlace tiene el carácter l que lo identifica como enlace simbólico y se puede saber a que archivo están apuntando ya que se muestra la ruta -->
ls -l /home/pepe/enlace-a-publico
Como se ve los bits de permisos en un enlace simbólico no se usan (siempre aparecen como (rwxrwxrwx). En su lugar, los permisos del enlace simbólico son determinados por los permisos del fichero o directorio apuntado.
Si intenta efectuar la orden chmod sobre el enlace simbólico recién creado, en realidad cambiará los permisos del fichero al que apunta el enlace simbólico.
chmod 750 /home/pepe/enlace-a-publico
El comando anterior dará un mensaje de error, ya que el directorio 2013 no existe, esto significa que ha podido crear un enlace simbólico al directorio aunque no exista.
Entonces nos disponemos a crear el directorio /publico/2013 con permisos 755
mkdir -m 755 /publico/2013
Y verificamos que se creo con los permisos asignados:
ls -dl /publico/2013
Repetimos el comando que nos dio error antes:
chmod 750 /home/pepe/enlace-a-publico
Ahora no obtuvimos el error por que el directorio existe, si listamos vemos que el enlace simbólico mantiene sus permisos y que el directorio /publico/2013 fue el que cambio los permisos, de 755 a 750.
ls -l /home/pepe/enlace-a-publico
ls -dl /publico/2013
Para confirmar que el enlace simbólico tiene un inodo distinto usamos el comando ls -il:
ls -ild /publico/2013
ls -il /home/pepe/enlace-a-publico
De forma gráfica el resultado esta a la vista sin mucho más que explicar.
A continuación vamos a crear un archivo, haciendo uso del enlace simbólico al directorio 2013:
touch /home/pepe/enlace-a-publico/mifichero
Esto crea un archivo en enlace-a-publico llamado mifichero, pero la ubicación de este archivo es /publico/2013 vamos a listar para verlo.
ls -l /publico/2013
El fichero se ha creado en realidad en /publico/2013
Debemos tener presente:
Hay que tener en cuenta, que si borramos el archivo o directorio origen, el enlace simbólico permanece pero los datos desaparecen para siempre, pero si borramos el enlace simbólico no borraremos el directorio o archivo real.
Es importante remarcar que si accedemos al directorio por el atajo y luego hacemos un cd .. volveremos al directorio donde está el atajo y no al directorio superior.
Borrar enlaces simbólicos
Para eliminar un enlace tenemos dos posibles opciones:
unlink /home/pepe/enlace-a-publico
o podemos usar el conocido comando rm
rm /home/pepe/enlace-a-publico
Una vez que borramos el enlace simbólico comprobamos que el directorio al que estaba apuntando aun existe.
ls -ld /publico/2013
En cambio si borramos el directorio 2013 al cual apunta el enlace simbólico veremos que los enlaces todavía existen, y obviamente ya no esta accesible el fichero original.
Crear enlaces simbólicos de archivos
En el caso que quisiéramos crear un enlace simbólico al archivo tesis-grupal que esta en el directorio /publico lo hacemos con los siguientes comandos.
Creamos el archivo tesis-grupal
echo "Tesis sobre GNU/Linux" > /publico/tesis-grupal
Como sabemos podemos crear el enlace desde donde nos encontramos escribiendo la ruta completa con el siguiente comando:
ln -s /publico/tesis-grupal /home/pepe/tesis-enlace-simbolico
o podemos ir al directorio donde deseamos crear el enlace y le asignamos el nombre tesis-enlace-simbolico
cd /home/pepe
ln -s /publico/tesis-grupal tesis-enlace-simbolico
Y con el comando cat podemos ver que el enlace apunta hacia el archivo que creamos antes:
cat /home/pepe/tesis-enlace-simbolico
Enlaces duros
Los enlaces duros lo que hacen es asociar dos o más ficheros compartiendo el mismo inodo. Esto hace que cada enlace duro sea una copia exacta del resto de ficheros asociados, tanto de datos como de permisos, propietario, etc. Esto implica también que cuando se realicen cambios en uno de los enlaces o en el fichero este también se realizará en el resto de enlaces.
En sistemas GNU/Linux, los enlaces duros, tienen varias limitaciones. Una es que sólo se pueden hacer enlaces duros a archivos, y no a directorios.
La segunda limitación es que no pueden expandirse a través de distintos sistemas de archivos. Esto significa que no puede crear un enlace permanente desde /usr/bin/bash hacia /bin/bash si sus directorios / y /usr pertenecen a distintos sistemas de archivos.
Vamos a crear un enlace duro al fichero "tesis-grupal" que antes usamos y veremos que efectivamente comparten inodo y que los datos de propietario, grupo y permisos se mantienen sincronizados:
ln /publico/tesis-grupal /home/pepe/tesis-enlace-duro
o podemos ir al directorio donde deseamos crear el enlace
cd /home/pepe
ln /publico/tesis-grupal tesis-enlace-duro
Luego listamos para analizar los resultados con ls -il
ls -il /publico/tesis-grupal
ls -il /home/pepe/tesis-enlace-duro
En la primera columna verificamos que tienen el mismo número de inodo y en la tercera se especifica cuandos enlaces duros tiene el fichero, vamos a crear otro enlace y el numero se va a incrementar.
ln /publico/tesis-grupal /home/pepe/tesis-enlace-duro2
o podemos ir al directorio donde deseamos crear el enlace
cd /home/pepe
ln /publico/tesis-grupal tesis-enlace-duro2
Luego listamos para analizar los resultados con ls -il
ls -il /publico/tesis-grupal
ls -il /home/pepe/tesis-enlace-duro
ls -il /home/pepe/tesis-enlace-duro2
Si editamos o modificamos un enlace duro veremos que también se modifican el resto de los enlaces y en el archivo origen.
Por ejemplo vamos a agregar texto al enlace tesis-enlace-duro2 para comprobar como el cambio afecta al archivo tesis-grupal y al otro enlace duro
echo "Cap. 1 Enlaces simbolicos" >> /home/pepe/tesis-enlace-duro
Y finalmente hacemos un cat a los archivos para verificar los resultados:
cat /publico/tesis-grupal
cat /home/pepe/tesis-enlace-duro
cat /home/pepe/tesis-enlace-duro2
y como podemos ver la edición al archivo tesis-enlace-duro también afecto al archivo tesis-grupal y a tesis-enlace-duro2
Si queremos obtener más datos para comprobar que son iguales los 3 archivos podemos recurrir a el comando stat
stat /publico/tesis-grupal
stat /home/pepe/tesis-enlace-duro
stat /home/pepe/tesis-enlace-duro2
En el caso de los enlaces duros si borras en archivo de origen no vamos a perder el fichero, ya que los enlaces duros son una copia fiel de el.
Borramos el archivo origen
rm /publico/tesis-grupal
el enlace duro funciona sin problemas
cat /home/pepe/tesis-enlace-duro
y vemos que existen dos enlaces duros todavía.
stat /home/pepe/tesis-enlace-duro
Borrando enlaces duros
Igual que con los enlaces simbólicos podemos usar dos comandos para borrar los enlaces duros:
unlink /home/pepe/tesis-enlace-duro2
o podemos usar el conocido comando rm
rm /home/pepe/tesis-enlace-duro2
Con el comando anterior el único enlace duro que nos queda es el tesis-enlace-duro si lo eliminamos ya perderíamos definitivamente el archivo, así que a no confundirse con este concepto.
cat /home/pepe/tesis-enlace-duro
stat /home/pepe/tesis-enlace-duro
Como una breve conclusión podemos decir que:
✔ Los enlaces simbólicos se pueden hacer con ficheros y directorios, los enlaces duros solo con ficheros.
✔ Los enlaces simbólicos se pueden hacer entre distintos sistemas de archivos, los enlaces duros no.
✔ En los enlaces simbólicos si se borra el archivo o directorio original la información se pierde, en los enlaces duros no.
✔ Los enlaces duros son copias de los originales que comparten el numero de inodo, mientras de los enlaces simbólicos son meros punteros.
Para consultas puntuales sobre este tema, o temas relacionados con servidores pasen por esta comunidad, todos serán bienvenidos!!
Comunidad Servidores GNU/Linux
Visitala haciendo clic en la imagen!!!
Fuentes de conocimiento:
_____________________________________________________________________
Si te gusto el post comenta!
Estas sin tiempo para leerlo detenidamente? Agregalo a favoritos ya!
No entendiste algo? mandame un MP que te ayudo.
Te gustan mis aportes? Seguime! no te defraudaré.
Estas sin tiempo para leerlo detenidamente? Agregalo a favoritos ya!
No entendiste algo? mandame un MP que te ayudo.
Te gustan mis aportes? Seguime! no te defraudaré.
Visita mis aportes o bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF
---- Bajalo en PDF