GNU/Linux >> Linux Esercitazione >  >> Linux

dump ottale della directory

Ogni tipo di filesystem memorizza le directory in modo diverso. Esistono molti tipi di filesystem diversi con caratteristiche diverse:buoni per un throughput elevato, buoni per un'elevata concorrenza, buoni per ambienti con memoria limitata, diversi compromessi tra prestazioni di lettura e scrittura, tra complessità e stabilità, ecc. Il tuo libro descrive un filesystem utilizzato all'inizio Sistemi Unix. I sistemi moderni supportano molti filesystem differenti.

Le primissime versioni di Unix avevano molte manipolazioni del filesystem al di fuori del kernel. Ad esempio, mkdir e rmdir ha funzionato modificando direttamente alcune strutture di dati del filesystem. Questo è stato rapidamente sostituito da un'interfaccia di accesso alla directory uniforme, il opendir /readdir /closedir family, che consentiva alle applicazioni di manipolare le directory senza dover sapere come erano state implementate sotto il cofano.

Il motivo per cui non puoi leggere i contenuti delle directory sotto Linux non è perché devono essere nascosti, ma perché le funzionalità esistono solo se sono implementate, e questa funzionalità è inutile e ha un costo. Dato che il formato dipende dal filesystem, è una caratteristica piuttosto inutile:un programma non può conoscere il formato di ciò che sta leggendo. Non è nemmeno una funzionalità completamente banale da supportare:alcuni filesystem organizzano le directory in modi che non sono solo un flusso di byte, ad esempio può essere organizzato come un B-tree. Alcune varianti di Unix consentono ancora alle applicazioni di leggere direttamente i contenuti delle directory, per compatibilità con le versioni precedenti, ma Linux non ha questa funzionalità (e non l'ha mai avuta per quanto posso ricordare:era già una funzionalità obsoleta nei primi anni '90).


Sì, ma:

  • i sistemi moderni memorizzano i nomi dei file in modo diverso. In Unix originale, i nomi erano limitati a 14 caratteri, con 2 byte per inode.
  • l'interfaccia alla directory è tramite le funzioni opendir , readdir , closedir anziché open , read , close per riflettere il cambiamento nell'organizzazione.
  • poiché nessuno ha la necessità pratica di leggere voci di directory a 16 byte, i progettisti hanno omesso la possibilità di leggere file di directory non elaborati da programmi progettati per leggere file .

Ulteriori letture:

  • Howto:programmazione in C con directory su Linux
  • domanda su opendir, readdir, ecc., thread Usenet nel 1990 che discuteva del moderno implementazione di opendir , ecc.

Linux
  1. Usa "pushd" e "popd" per una navigazione efficiente del filesystem in Linux

  2. Esempi di comandi OD Linux (Octal Dump)

  3. directory core dump configurabile per processo

  4. Come creare una directory temporanea in C++?

  5. Come posso montare manualmente un file system Linux in lettura/scrittura come utente normale?

Du comando in Linux

Comando mv in Linux

Come leggere un file con spazi in Linux

Una guida per principianti alla navigazione nel filesystem Linux

Come eseguire il backup del filesystem Linux utilizzando il comando dump

Esegui rispetto al bit di lettura. Come funzionano i permessi di directory in Linux?