In Unix le directory dei file system sono solo file speciali con strutture di directory speciali che contengono il nome del file figlio, la dimensione del nome del file e il numero di riferimento dell'inode.
I metadati del file effettivi oltre a questo vengono normalmente archiviati nell'inode stesso.
La mia domanda è. Come si fa a leggere l'effettiva struttura della directory speciale nella sua forma grezza anziché nella sua forma interpretata.
Sì, lo so che puoi usare ls per vedere i file lì. Non è quello che cerco.
Risposta accettata:
La semplice risposta è che quello che vuoi fare è leggere il file della directory,
con un comando come cat .
, cat /etc
o cat mydir
.
Naturalmente, poiché si tratta di dati "grezzi",
vorresti utilizzare un programma più adatto
per visualizzare dati non ASCII in un modo a misura d'uomo; ad esempio, hexdump
o od
.
Sfortunatamente, come discusso in Quando le directory hanno smesso di essere leggibili come file?, la maggior parte delle versioni di Unix
rilasciate negli ultimi due decenni circa non lo consentono.
Quindi la risposta alla tua domanda potrebbe essere
"trova una versione di Unix che consenta ancora di leggere le directory".
AIX, la maggior parte delle versioni di BSD,
e tutte le versioni di Solaris tranne le più recenti potrebbero essere idonee.
Trovare un Linux che lo consenta potrebbe richiedere l'uso di una macchina del tempo.