Comandos básicos del viaje de autoaprendizaje de Linux (enlace físico y enlace flexible)

Comandos básicos del viaje de autoaprendizaje de Linux (enlace físico y enlace flexible)


Prefacio

1. En la sección anterior, no hablé sobre comandos, pero hablé sobre algunos conocimientos simples sobre el sistema de archivos Ext4, y también hablé brevemente sobre algunos conocimientos sobre Inode y Block. Si no lo ha leído, haga clic en el enlace de abajo para ingresar: sistema de archivos Ext4

2. No se apresure a hablar sobre los comandos en esta sección. Sigamos entendiendo algunos conocimientos teóricos. En esta sección, hablaré sobre enlaces duros y enlaces suaves. Recuerdo que también mencioné enlaces duros y enlaces suaves (enlaces duros ). Conocimientos básicos de enlaces blandos ), pero acabo de hablar brevemente sobre algunos conceptos básicos de enlaces duros y enlaces blandos. En esta sección, veamos más de cerca las características, funciones y diferencias de los enlaces duros y enlaces blandos.


Sugerencia: El siguiente es el contenido de este artículo.

Uno, enlace duro

En primer lugar, todos todavía recuerdan algunos conceptos básicos de nuestro enlace duro, ¿es { 1. El archivo de origen y el archivo de enlace duro Inode son los mismos que el Bloque 2. El archivo de origen y el archivo de enlace duro se actualizan sincrónicamente y se eliminan uno de ellos. El otro todavía se puede utilizar ... } 1 .Echemos un vistazo a la diferencia entre el enlace físico creado y el archivo fuente:




[root@localhost ceshi]# 
[root@localhost ceshi]# ln /tmp/ceshi/y /tmp/ceshi/y.test
[root@localhost ceshi]# ls -lhi
总用量 0
148133 -rw-r--r--. 2 root root 0 1月  18 09:24 y
148133 -rw-r--r--. 2 root root 0 1月  18 09:24 y.test
[root@localhost ceshi]#

(我将硬链接创建在了本目录下,并用“ls -lhi”的形式查看当前目录下的所有非
隐藏文件的长格式信息还显示了他们的inode信息)
(这时候我们发现y.test这个硬链接文件和源文件长得一模一样,连Inode都一模一样,
那么这时候问题来了,如果他们的Inode都一模一样,那么我们找文件的时候,怎么
知道系统应该找哪个文件呢?)

*148133就是Inode

2. Sabemos que Inode no guarda nuestro nombre de archivo. Nuestro nombre de archivo se guarda en el Bloque de su directorio actual. A través del Bloque de su directorio actual, podemos encontrar el nombre de su archivo y luego encontrar el Inode correspondiente por nombre Finalmente, con
la guía de Inode , encontramos el bloque de datos original de su archivo. ( Es decir, el bloque del directorio guarda los nombres e inodos de todos los archivos y directorios del directorio, mientras que el bloque de nuestro archivo guarda los datos originales en el archivo )

3. Cuando queramos encontrar el archivo " / tmp / ceshi / y ", nuestros pasos deberían ser así:
{

3.1. Primero busque el Inode de nuestro directorio raíz (el sistema conoce el número de Inode del directorio "/" y el valor predeterminado es 2), y luego determine si el usuario tiene permiso para acceder al bloque del directorio raíz, si hay permiso, pasará el Blcok del directorio raíz Busque el nombre del directorio y el número de Inode de nuestro / tmp

3.2. A través del número de Inode de / tmp, podemos encontrar la información de Inode de / tmp, y luego determinar si el usuario tiene permiso para acceder al Bloque de / tmp, de ser así, podemos conocer el nombre del directorio y el Inode de nuestro / tmp / ceshi a través del bloque de / tmp número

3.3. A través del número de Inode de / tmp / ceshi, podemos encontrar la información de Inode de / tmp / ceshi, y luego determinar si el usuario tiene permiso para acceder al Bloque de / tmp / ceshi, y si es así, podemos encontrar qué queremos a través del Bloque de / tmp / ceshi El nombre del archivo y y su número de Inode

3.4. A través del número de inodo de / tmp / ceshi / y, podemos encontrar la información de inodo de / tmp / ceshi / y, y luego determinar si el usuario tiene permiso para acceder al bloque del archivo y, y si el bloque de y conoce el archivo y Datos brutos

}

4. Entonces, todos deberían entender casi aquí. Nuestro enlace duro e Inode de enlace suave son los mismos. Suponiendo que el Inode de su archivo original es 100, el Inode del enlace duro que creó también debería ser 100, luego ¿A qué archivo accede? es en realidad el archivo Inode = 100.
Así que este es el principio de nuestro vínculo físico: {

4.1: Si modifica el archivo fuente (y), el archivo de vínculo físico (y.test) también cambiará junto con él

4.2: Independientemente del archivo que elimine, si aún existe otro archivo con Inode = 100, significa que su archivo aún existe. A menos que elimine ambos, su archivo se considera eliminado.

4.3: Los enlaces duros no monopolizarán un nuevo Inode, es el mismo que el Inode de su archivo fuente, y el Bloque también es el mismo

4.4: No se pueden crear enlaces duros entre sistemas de archivos porque un enlace duro en otro sistema de archivos tendrá un nuevo Inode

4.5: Los enlaces duros no pueden vincular directorios (sin mencionar que no puede, si vincula directorios, entonces su directorio no solo debe volver a crearse, sino que también deben crearse enlaces duros para todos los archivos de su directorio, lo cual también es molesto)

}

** Si desea experimentar con las características anteriores de enlaces duros específicos, inténtelo usted mismo. No experimentaré aquí (soy un vago, emm). Generalmente, no se recomiendan los enlaces duros. Aquí hay un enlace suave que es utilizado a menudo.


Dos, enlace suave

1. Es mejor comprender el vínculo suave, echemos un vistazo a la brecha entre los dos archivos después de que se crea el vínculo suave en el archivo de origen:

[root@localhost ceshi]# ln -s /tmp/ceshi/r /tmp/ceshi/r.test
[root@localhost ceshi]# ls -li
总用量 0
148133 -rw-r--r--. 1 root root  0 1月  18 10:14 r
148134 lrwxrwxrwx. 1 root root 12 1月  18 10:14 r.test -> /tmp/ceshi/r
[root@localhost ceshi]# 

(相比硬链接,我们发现软链接的特征非常明显,首先Inode号不一致,
其次就是软链接后面会接”-> xx“来标识你的源文件在哪。)

--友情提醒一下:创建软链接的话源文件一定要写绝对路径哦亲,要不然会有问题的说

2. Los enlaces blandos pueden considerarse accesos directos en Windows. Las funciones son muy obvias y también puede enlazar directorios y enlaces entre particiones, por lo que a menudo usamos enlaces blandos.


3. Sabemos que los enlaces blandos tienen su propio Inode de forma independiente, entonces, ¿la forma de encontrar enlaces blandos funciona igual que los enlaces duros? En realidad no lo es. Los datos originales no se guardan en el bloque de enlace suave (es decir, el contenido de su archivo de origen no se guarda), entonces, ¿qué guarda el bloque en el enlace suave? De hecho, el bloque del enlace suave es el nombre del archivo y el Inode que guarda su archivo fuente.


4. Entonces, ¿cuál es el flujo de trabajo para encontrar el enlace suave "/tmp/ceshi/r.test"
{

4.1. Primero busque la información de Inode del directorio raíz, y luego determine si el usuario tiene permiso para acceder al bloque en el directorio raíz, si lo hay, puede conocer el nombre del directorio y el número de Inode de / tmp en el bloque en la raíz. directorio

4.2. Podemos encontrar la información de Inode de / tmp a través del número de Inode de / tmp, y luego determinar si el usuario tiene permiso para acceder al Bloque de / tmp, si lo hay, puede encontrar el directorio de / tmp / ceshi en el Bloque de / tmp Nombre y número de Inode

4.3. Podemos encontrar la información de Inode de / tmp / ceshi a través del número de Inode de / tmp / ceshi, y luego determinar si el usuario tiene permiso para acceder al Bloque de / tmp / ceshi, si lo hay, puede encontrarlo en el Bloque del directorio ceshi /tmp/ceshi/r.test el nombre y número de Inode de este archivo

4.4. A través del número de Inode de /tmp/ceshi/r.test, podemos encontrar la información de Inode del archivo r.test, y luego determinar si el usuario tiene permiso para acceder al bloque del archivo r.test, y si Entonces, puede verificar r.test Block, y luego encontramos que no hay datos reales en el archivo r.test, solo el nombre del archivo y el número de Inode del archivo fuente r

4.5. Luego podemos encontrar la información de Inodo de r a través del número de Inodo de r proporcionado por r.test, y luego juzgar si el usuario tiene permiso para acceder al bloque de r, y si es así, realmente podemos ver los datos del archivo fuente de r.

}

5. Entonces, el bloque de nuestro enlace suave no almacena los datos reales de nuestro archivo original, solo almacena el nombre de archivo de nuestro archivo fuente y el número de Inode del archivo fuente, luego hablemos sobre las características del enlace suave
{

5.1: Modifique el archivo de origen (r), nuestro archivo de enlace suave (r.test) también cambiará junto con él (porque el enlace suave apunta al archivo de origen)

5.2: Si elimina el enlace suave, el archivo de origen puede seguir utilizándose, pero si elimina el archivo de origen, el enlace suave dejará de ser válido (porque el enlace suave no se refiere a los datos del archivo de origen)

5.3: El enlace suave tiene su propio Inode y Block, que son diferentes del archivo fuente (el enlace suave Block almacena el nombre del archivo y el número de Inode del archivo fuente)

5.4: Los enlaces blandos pueden enlazar directorios

5.5: Los enlaces blandos se pueden vincular a través de sistemas de archivos
}

* Por favor, pruebe las características de enlaces suaves específicos usted mismo (todavía soy un vago, emm). Si todos usamos enlaces suaves, usaremos más. Después de todo, las características son obvias y también pueden vincular directorios y enlaces entre particiones.


para resumir

En esta sección, hablamos sobre algunos contenidos detallados de enlaces blandos y enlaces duros, que es suficiente para el conocimiento extracurricular. Cuando estaba aprendiendo Linux con el sistema de profesores antes, muchos de nuestros profesores no hablaban de ello. A muchos de ellos se les enseñó por mí mismo y luego fui profundo. Por lo tanto, si aprende Linux de forma sistemática con su propio profesor, se recomienda que a menudo consulte algún otro conocimiento extracurricular de Linux en Internet, de modo que tenga una mejor comprensión de Linux en su conjunto. Así que esta vez aprendimos { 1. Enlace duro: creado inconsistente con el Inode y el Bloque del archivo fuente 2. Enlace flexible: creado inconsistente con el Inode y el Bloque del archivo fuente }


Este es Jiehua, nos vemos la próxima.

Supongo que te gusta

Origin blog.csdn.net/qq313088385/article/details/112761509
Recomendado
Clasificación