Usar ligazóns duras aos arquivos de enlace en Linux

Existen 2 tipos de ligazóns que podes crear dentro de Linux:

Unha ligazón simbólica é semellante a un atallo de escritorio dentro de Windows. A ligazón simbólica apunta só á localización dun ficheiro.

Se eliminas unha ligazón simbólica non ten ningún efecto sobre o ficheiro físico ao que está a ligar.

Unha ligazón simbólica pode apuntar a calquera ficheiro do sistema de ficheiros actual ou de outros sistemas de ficheiros. Isto fai que sexa máis flexible que unha ligazón dura.

Unha ligazón dura é realmente o mesmo ficheiro que conecta pero con outro nome. A forma máis sinxela de pensar nela é a seguinte:

Imaxina que naciches co primeiro nome de Robert. Outras persoas poden sabelo como Robbie, Bob, Bobby ou Rob. Cada persoa estaría falando sobre a mesma persoa.

Cada ligazón engade 1 a un contador de ligazóns que significa eliminar o arquivo físico que ten que eliminar todas e cada unha das ligazóns.

Por que usar enlaces duros?

As ligazóns duras proporcionan unha forma eficiente de organizar ficheiros. O xeito máis sinxelo de describir isto é cun episodio antigo de Sesame Street.

Bert dixo a Ernie que ordenase todas as cousas e que Ernie fixese a súa tarefa. Primeiro de todo, decidiu ordenar todas as cousas vermellas. "O motor de lume é vermello". Entón Ernie pon o motor de bombeiros afastado.

A continuación Ernie decide botar todos os xoguetes con rodas. O motor de bombeiros ten rodas. Entón Ernie ordenou que o motor de lume se afastase.

Non hai dito de dicir que Bert chega a casa para atopar exactamente a mesma lea que antes, pero Ernie ordenou a máquina de lume lonxe media ducia de veces.

Imaxina que o motor de bomberos era só unha imaxe dun motor de bombeiros. Podería ter diferentes cartafoles na súa máquina como segue:

Agora podes crear unha copia da foto e poñela en cada unha das carpetas. Isto significa que tes tres copias do mesmo arquivo ocupando tres veces o espazo.

Categorizar fotos facendo copias deles pode non ocupar moito espazo, pero se probas a mesma cousa cos vídeos, reducirías considerablemente o espazo no teu disco.

Unha ligazón dura non ocupa ningún espazo. Podería, polo tanto, almacenar o mesmo vídeo en varias categorías diferentes (por exemplo, ano, xénero, elenco, directores) sen reducir o espazo no disco.

Como crear un enlace duro

Pode crear unha ligazón dura usando a seguinte sintaxe:

ln path / para / file / path / para / hard / link

Por exemplo, na imaxe de arriba temos un cartafol de música Alice Cooper chamado lixo no camiño / home / gary / Music / Alice Cooper / Trash. Neste cartafol, hai 10 cancións, unha delas é o clásico Veneno.

Agora Poison é unha canción de rock polo que creamos un cartafol chamado Rock baixo a carpeta de música e creou unha ligazón dura para Poison escribindo o seguinte ficheiro:

ln "01 - Poison.mp3" "~ / Music / rock / Poison.mp3"

Esta é unha boa forma de organizar a música .

Como dicir a diferenza entre unha conexión dura e unha ligazón simbólica

Podes saber se un ficheiro ten unha ligazón dura usando o comando ls:

ls -lt

Un ficheiro estándar sen enlaces será o seguinte

-rw-r - r-- 1 gary gary 1000 18 de decembro 21:52 poison.mp3

As columnas son as seguintes:

Se isto fose un vínculo duro, a saída sería a seguinte:

-rw-r - r-- 2 gary gary 1000 18 de decembro 21:52 poison.mp3

Observe que a columna de número de ligazón mostra 2. Cada vez que se crea unha ligazón dura ese número aumentará.

Unha ligazón simbólica verase como segue:

-rw-r - r-- 1 gary gary 1000 18 de decembro 21:52 poison.mp3 -> poison.mp3

Pode ver claramente que un ficheiro apunta a outro.

Como atopar todas as ligazóns duras a un ficheiro

Todos os ficheiros do seu sistema Linux conteñen un número de inode que identifica de forma exclusiva o ficheiro. Un ficheiro ea súa conexión dura conterán o mesmo inode.

Para ver o número de inode para un tipo de ficheiro o seguinte comando:

ls -i

A saída dun só ficheiro será a seguinte:

Nome de ficheiro 1234567

Para atopar as ligazóns duras dun ficheiro só precisa facer unha busca de ficheiros para todos os ficheiros co mesmo inode (é dicir, 1234567).

Podes facelo co seguinte comando:

atopar ~ / -xdev -inum 1234567