Sé que es una vieja pregunta, pero estaba buscando información sobre la estructura del directorio y encontré esto.
Para obtener los datos sin procesar dentro de un archivo de directorio, puede usar debugfs
. Por ejemplo:
sudo debugfs /dev/sda1
Puede ls
, cd
y así sucesivamente como de costumbre, o cat
un directorio. Esto no es muy legible, por lo que puede usar:
dump / dumproot
Esto crea un archivo llamado dumproot
en la ubicación donde invocó debugfs
. Para obtener el contenido sin procesar, puede usar xxd
. Por ejemplo:
xxd dumproot | head -n2
00000000: 0200 0000 0c00 0102 2e00 0000 0200 0000 ................
00000010: 0c00 0202 2e2e 0000 0b00 0000 1400 0a02 ................
Esto muestra las entradas .
y ..
de mi directorio /
, ambas tienen el número de inodo 2, ese es el 02000000 al principio. Con números de inodo más grandes, los verá al comienzo de una entrada en little endian. .
es hexadecimal 2e, por lo que también es visible allí. No estoy muy seguro de qué representa "0c00 0102" o cómo se especifica el final de una entrada. Eso es lo que estaba buscando cuando encontré este hilo.
С помощью 2 команд вы можете добиться этого :вот пример клонирования структуры каталогов /etc
и создания символических ссылок для всех файлов в/etc
:
# create directories
find /etc -type d -exec mkdir.{} \;
# symlink files
find /etc -type f -exec ln -s {}.{} \;