- Tipo de archivo (ejecutable, bloque especial, etc)
- Permisos (leer, escribir, etc)
- Propietario
- Grupo
- Tamaño del Archivo
- Acceso al archivo, el cambio y hora de modificación (recuerdar que Linux no almacena el momento de creación)
- Número de enlaces (soft / hard)
- Lista de Control de Acceso (ACL)
Toda esta información es la que se almacena en un inodo. Cada inodo está identificado por un número único dentro del sistema de archivos. definición de inodo Un inodo es una estructura de datos en un sistema de archivos al estilo Unix, como UFS o ext3. El inodo almacena información básica sobre un archivo regular, directorio, o cualquier otro objeto del sistema de archivos. ¿Cómo podemos ver el número de inodo de un archivo? Puede utilizar el comando ls-i para ver el número de inodo de archivo
$ ls -i /etc/passwd 32820 /etc/passwdTambién podemos utilizar el comando stat para averiguar el número de inodo y sus atributos:
$ stat /etc/passwd Archivo: `/ etc / passwd ' Tamaño: 1988 Blocks: 8 IO Block: 4096 archivo normal Dispositivo: Inode 341h/833d: 32820 Enlaces: 1 Acceso: (0644/-rw-r--r--) Uid: (0 / root) gid: (0 / root) Acceso: 2005-11-10 01:26:01.000000000 0530 Modificar: 2005-10-27 13:26:56.000000000 0530 Cambio: 2005-10-27 13:26:56.000000000 0530Inodo aplicación Muchos de comandos a menudo dan números de inodo para designar un archivo. Vamos a ver.
$ ls -li /etc/passwd 12886034 -rw-r--r-- 1 root root 1903 sep 28 13:01 /etc/passwdSi escribimos los siguientes comandos:
$ cd / tmpAhora si ententamos eliminar el archivo "la *, veremos que no es posible. No podremos eliminar los archivos si los hemos creado con caracteres de control o un carácter especial como?, * ^ Etc. En estos casos tendremos usar el número de inodo para eliminar archivos.
$ touch \ "la *
$ ls -l
# ls -iEnlaces duros y simbólicos Para crear un enlace duro utilizamos el comando ln de la siguiente forma:# ls -i * 2781528 index.php 2781559 ??! # find . -inum 2781559 -exec rm -i {} \;
# ln /root/file1 root/file2 / # ls -lCon los comandos anteriores creamos un enlace al file1. Con esto creamos un nuevo apuntador hacia el inodo donde se almacenaba la información de file1 Los enlaces simbólicos se refieren a:
$ ln -s /home/user/file1.txt /home/user/file2.txt $ ls -aliCon el comando anterior crearemos un enlace simbólico a file1.txt. Tarea: creación de enlaces simbólicos y eliminación Vamos a crear un directorio llamado foo, escribimos:
$ mkdir foo $ cd fooCopiamos el archivo /etc/resolv.conf:
$ cp /etc/resolv.conf .Observar el número de inodo y escribir:
$ ls -ali 152 Total 1048600 drwxr-xr-x 2 vivek vivek 09/12/2008 20:19 4096. 1015809 drwxrwxrwt root root 220 143 360 12.09.2008 20:19 .. 1048601-rwxr-xr-x 1 vivek vivek 09/12/2008 20:19 129 resolv.conf Ahora crear enlace simbólico al resolv.conf, introduzca: $ ln -s alink.conf resolv.conf $ ls -ali 152 Total 1048600 drwxr-xr-x 2 vivek vivek 09/12/2008 20:24 4096. 1015809 drwxrwxrwt root root 220 143 360 12.09.2008 20:19 .. 1048602 lrwxrwxrwx 1 vivek vivek 09/12/2008 20:24 11 alink.conf -> resolv.conf 1048601-rwxr-xr-x 1 vivek vivek 09/12/2008 20:19 129 resolv.confEl contador de referencias del directorio no ha cambiado (total 152). Nuestra simbólico enlace se almacena en un inodo diferente que el archivo de texto (1048602). La información almacenada en resolv.conf es accesible a través del archivo de alink.conf. Si borramos el archivo de texto resolv.conf, alink.conf se convierte en un vínculo roto y nuestros datos se pierden:
$ rm resolv.conf $ ls -aliSi alink.conf era un vínculo físico, los datos todavía serían accesibles a través de alink.conf. Además, si se elimina el enlace simbólico en sí, los datos todavía estarían allí.
No hay comentarios:
Publicar un comentario