domingo, 26 de enero de 2020

Enlaces simbólicos y enlaces duros y alias

Enlaces simbólicos y enlaces duros y alias:

En linux, no existen los enlaces directos, existen solo los enlaces.

Existen dos tipos de enlaces: Duros y Simbólico (o blando).

  • Duros: 

Es un archivo que apunta al mismo contenido almacenado en el disco duro igual que el original. (TODOS SON ORIGINALES PERO SOLAMENTE ES UN ARCHIVO). Puedes tener varios archivos con igual nombre, en distintas particiones o discos. Y si se modifica un archivo, se modifican todos.

  • Blandos o simbólicos:

Este apunta al nombre del archivo original, pero crea un enlace distinto al duro, si de alguna manera se elimina el archivo original, se rompe el enlace que se tiene, y se perdería la información.

Este se suele utilizar más por compatibilidad, para enlazar los programas librerías, etc... Además que se suele utilizar más diariamente.

Los duros suelen ser estrictamente para el SO: drivers, hardware, etc... Aunque también se pueden utilizar para otros tipos de archivos.

Como se crea un enlace simbólico:

El comando para crear un enlace simbólico sería: 

ln -s ruta del archivo original/ nombre_archivo nombre_enlace (El que queramos dar al vínculo):

(TENEMOS QUE ESTAR UBICADOS EN LA CARPETA DONDE QUEREMOS QUE TENGA EL ENLACE SIMBÓLICO).

Por ejemplo:
Creamos un archivo en el escritorio, en mi caso "antonio", se puede utilizar tanto el "nano" como el "mousepad".


Una vez tengamos el fichero creado en la consola de comandos apuntando al escritorio ponemos:


Y seguidamente le damos a "Intro" al hacerlo se nos creará un fichero con una flecha, esto quiere indicar que es un enlace blando.


Crear un enlace duro:

El comando para crear un enlace duro sería:
ln ruta_archivo/nombre_archivo nombre_enlace (Es prácticamente igual que el blando, pero si el atributo -s).


Otros comandos útiles para los enlaces duros y blandos:


Como listar inodes: (Numero de identificación de enlaces duros y blandos que puede tener el archivo)

ls -i


Los enlaces duros que hemos creado, tendrán el mismo numero de identificación (inode), pero el blando, además de aparecer en azul, tendrá otro distinto.


Buscar inode en el disco:

find / (ruta) -inum numero(Identificador el inode)


Al escribir este comando, buscamos en la ruta deseada, todos los archivos que tengan el mismo inode.

Listar los números de enlaces a ficheros que tengan:

ls -la (listar todos los archivos).


Este comando lista los enlaces que tiene el original, los números seleccionados en azul, indica los enlaces que tienen creados.

Buscar en el directorio raiz (o ruta) el mismo "nombre" del fichero original:

sudo find / -samefile prueba 


Esto mira el los enlaces duros, y busca en la ruta los ficheros que tienen el mismo "inode".

Mostrar números de inode además de más información: 

ls -li



Este borra los vínculos duros y el original:

sudo find / -samefile prueba | xargs rm 


¿Qué es un Alias?

Un Alias como su nombre lo indica, nos servirá para reemplazar una palabra o serie de palabras con otra más corta y sencilla.

Se suele utilizar para combinar comandos en una sola palabra, o incluso hacerlo más sencillo.

Como se hace un alias:

Hay dos maneras distintas de hacerlas:

1º: Crearlo en el terminal, pero este si apagas la máquina se quita.

alias nombre nuevo='comando antiguo'


2º Crearlo en el archivo .bashrc:
Para ir al archivo .bashrc (desde el escritorio del usuario):
cd ..
cd ls -la (Y buscamos):



nano .bashrc

Y debajo de esta linea de comentarios podemos poner:

function actualizar() {
   sudo apt-get update && sudo apt-get upgrade
}


Para crear una función para eliminar todos los enlaces duros (incluido el fichero original).

function rmduro() {

  sudo find / $1 -samefile "nombre" | xargs rm

}

No hay comentarios:

Publicar un comentario