Dans les systèmes de fichiers Unix, les répertoires ne sont que des fichiers spéciaux avec des structures de répertoires spéciales qui contiennent le nom de fichier enfant, la taille du nom de fichier et le numéro de référence de l'inode.
Les métadonnées réelles du fichier au-delà sont normalement stockées dans l'inode lui-même.
Ma question est. Comment lire la structure de répertoire spéciale réelle dans sa forme brute au lieu de sa forme interprétée.
Oui, je sais que vous pouvez utiliser ls pour voir les fichiers là-bas. Ce n'est pas ce que je recherche.
Réponse acceptée :
La réponse simple est que ce que vous voulez faire est de lire le fichier répertoire,
avec une commande comme cat .
, cat /etc
, ou cat mydir
.
Bien sûr, puisqu'il s'agit de données "brutes",
vous voudriez utiliser un programme mieux adapté
pour afficher des données non ASCII d'une manière conviviale ; par exemple, hexdump
ou od
.
Malheureusement, comme indiqué dans Quand les répertoires ont-ils cessé d'être lisibles en tant que fichiers ?, la plupart des versions d'Unix
publiées au cours des deux dernières décennies ne le permettent pas.
La réponse à votre question peut donc être
"trouvez une version d'Unix qui autorise toujours la lecture des répertoires".
AIX, la plupart des versions de BSD,
et toutes les versions de Solaris sauf les plus récentes peuvent être éligibles.
Trouver un Linux qui le permet peut nécessiter l'utilisation d'une machine à voyager dans le temps.