Dans le passé, j'ai appris que dans les systèmes de fichiers Linux / UNIX, les répertoires ne sont que des fichiers, qui contiennent les noms de fichiers et les numéros d'inode des fichiers à l'intérieur du répertoire.
Existe-t-il un moyen simple de voir le contenu d'un répertoire? Je veux dire la façon dont les noms de fichiers et les inodes sont stockés / organisés.
Je ne cherche pasls
, find
ou quelque chose de similaire. Je ne veux pas non plus voir le contenu des fichiers dans un répertoire. Je veux voir l'implémentation des répertoires. Si chaque répertoire n'est qu'un fichier texte avec du contenu, il existe peut-être un moyen simple de voir le contenu de ce fichier texte.
Dans le bash sous Linux, il n'est pas possible de faire un cat folder
. La sortie est juste Is a directory
.
Mettre à jour la question Comment inspecter les informations de structure de répertoire d'un fichier unix / linux? résout le même problème, mais il n'a pas de solution utile comme celle de mjturner .
la source
vi <folder>
convienne à vos besoins? Je viens de le mentionnervim <DIR>
c'est ce que tu veux?stat
commande.stat folder
.cat
cela aurait fonctionné. Mais cette approche était obsolète il y a des décennies. Je ne connais aucun moyen direct de voir le stockage réel du système de fichiers. Au lieu de cela, il y a de nouveaux appels système pour renvoyer les informations dans un format normalisé qui reste le même quel que soit le système de fichiers sous-jacent utilisé.Réponses:
L'outil pour afficher les détails de l'inode pour un système de fichiers sera spécifique au système de fichiers. Pour le
ext2
,ext3
, lesext4
systèmes de fichiers (le plus de systèmes de fichiers Linux communs), vous pouvez utiliserdebugfs
, pour XFSxfs_db
, pour ZFSzdb
. Pourbtrfs
certaines informations est disponible en utilisant labtrfs
commande.Par exemple, pour explorer un répertoire sur un
ext4
système de fichiers (dans ce cas,/
c'estdev/sda1
):Dans ce qui précède, nous commençons par trouver l'inode de directory
src
(664488
), puis vidons son contenu dans un fichiersrc.out
, puis affichons cela en utilisantod
. Comme vous pouvez le voir, le contenu de tous les fichiers de ce répertoire (Animation.js
, etc.) est visible dans le vidage.Ce n'est qu'un début - voir la
debugfs
page de manuel ou taperhelp
dedansdebugfs
pour plus d'informations.Si vous utilisez
ext4
, vous pouvez trouver plus d'informations sur la structure et la disposition des entrées de répertoire dans la documentation du noyau .la source
od -x
pour vider le fichier d'entrée de répertoire.Vous pouvez utiliser le langage de programmation de votre choix, ouvrir le répertoire comme s'il s'agissait d'un fichier et lire les octets du descripteur de fichier résultant. Cela ne vous dira pas grand-chose, cependant, car ce ne sera que des ordures (avec quelques chaînes reconnaissables) tant que vous ne savez pas comment il est organisé. Son organisation est à peu près un problème d'implémentation pour le système de fichiers en question. Si vous voulez approfondir ces choses, je vous suggère de commencer par lire
man dirent.h
. Cela devrait suffire à vous orienter davantage vers ce qui vous plaît le plus.la source
Vous pouvez essayer (la partition est un exemple).
utilisez le vidage pour écrire des données d'inode dans un fichier.
l'homme est votre ami, ceux-ci devraient vous donner quelques idées.
la source