it.phhsnews.com


it.phhsnews.com / Che cosa significa "tutto è un file" in Linux?

Che cosa significa "tutto è un file" in Linux?


Una delle caratteristiche che definiscono Linux e altri sistemi operativi simili a UNIX è che "tutto è un file". Questo è un semplificazione eccessiva, ma capire cosa significa aiuterà a capire come funziona Linux.

Molte cose su Linux appaiono nel tuo file system, ma non sono in realtà dei file. Sono file speciali che rappresentano dispositivi hardware, informazioni di sistema e altre cose, incluso un generatore di numeri casuali.

Questi file speciali possono trovarsi in pseudo o sistemi di file virtuali come / dev, che contiene file speciali che rappresentano dispositivi e / proc, che contiene file speciali che rappresentano le informazioni di sistema e di processo.

/ proc

Ad esempio, supponiamo di voler trovare informazioni sulla tua CPU. La directory / proc contiene un file speciale - / proc / cpuinfo - che contiene queste informazioni.

Non è necessario un comando speciale che ti indichi le informazioni sulla CPU - puoi solo leggere il contenuto di questo file usando qualsiasi comando standard che funziona con file di testo semplice. Ad esempio, è possibile utilizzare il comando cat / proc / cpuinfo per stampare il contenuto di questo file sul terminale - stampando le informazioni della CPU sul terminale. Potresti anche aprire / proc / cpuinfo in un editor di testo per visualizzarne il contenuto.

Ricorda, / proc / cpuinfo non è in realtà un file di testo contenente queste informazioni - il kernel di Linux e il file system proc espongono queste informazioni a noi come un file. Questo ci permette di usare strumenti familiari per visualizzare e lavorare con le informazioni.

La directory / proc contiene anche altri file simili, ad esempio:

  • / proc / uptime - Espone il tempo di attività del tuo kernel Linux - in altre parole , per quanto tempo il tuo sistema è stato acceso senza spegnere.
  • / proc / version - Espone la versione del tuo kernel Linux.

/ dev

Nella directory / dev, troverai i file che rappresentano i dispositivi - così come i file che rappresentano altre cose speciali. Ad esempio, / dev / cdrom è l'unità CD-ROM. / dev / sda rappresenta il tuo primo disco rigido, mentre / dev / sda1 rappresenta la prima partizione sul tuo primo disco rigido.

Vuoi montare il tuo CD-ROM? Esegui il comando mount e specifica / dev / cdrom come dispositivo da montare. Vuoi partizionare il tuo primo disco rigido? Eseguire un'utilità di partizionamento del disco e specificare / dev / sda come disco rigido che si desidera modificare. Vuoi formattare la prima partizione sul tuo primo disco rigido? Esegui un comando di formattazione e digli di formattare /dev/sda1.

Come puoi vedere, l'esposizione di questi dispositivi come parte del file system ha i suoi vantaggi. Il file system fornisce uno "spazio dei nomi" coerente che tutte le applicazioni possono utilizzare per indirizzare e accedere ai dispositivi.

/ dev / null, / dev / random e / dev / zero

Il file system / dev non fa t contenere solo file che rappresentano dispositivi fisici. Ecco tre dei dispositivi speciali più importanti che contiene:

  • / dev / null - Scarta tutti i dati scritti su di esso - pensateci come un cestino o buco nero. Se vedi un commento che ti dice di inviare reclami a / dev / null - questo è un modo geniale di dire "buttali nella spazzatura".
  • / dev / random - Produce casualità usando il rumore ambientale. È un generatore di numeri casuali a cui puoi attingere.
  • / dev / zero - Produce zeri - un flusso costante di zeri.

Se pensi a questi tre come file, non ne vedrai l'uso. Invece, pensateli come strumenti.

Ad esempio, per impostazione predefinita, i comandi Linux generano messaggi di errore e altri output che stampano sullo standard output, normalmente il terminale. Se si desidera eseguire un comando e non si preoccupa del suo output, è possibile reindirizzare tale output su / dev / null. Il reindirizzamento dell'output di un comando a / dev / null lo elimina immediatamente. Invece di far eseguire a ogni comando la sua "modalità silenziosa", puoi utilizzare questo metodo con qualsiasi comando.

comando> / dev / null

Se vuoi una fonte di casualità, ad esempio, per generare una chiave di crittografia, non avresti bisogno di scrivere il tuo generatore di numeri casuali - potresti usare / dev / random

Per cancellare il contenuto di un disco rigido scrivendone degli 0, non è necessaria un'utilità speciale dedicata all'azzeramento di un'unità: è possibile utilizzare utilità standard e / dev / zero. Ad esempio, il comando dd legge da una posizione e scrive in un'altra posizione. Il seguente comando legge gli zeri da / dev / zero e li scrive direttamente nella prima partizione del disco rigido del tuo sistema, cancellandone completamente il contenuto.

( Avviso : questo comando cancellerà tutti i dati sul tuo prima partizione se la si esegue. Esegui solo questo comando se vuoi distruggere i dati.)

dd if = / dev / zero di = / dev / sda1

Qui stiamo usando dd con file speciali (/ dev / zero e / dev / sda1), ma potremmo anche usare dd per leggere e scrivere su file reali. Lo stesso comando funziona sia per manipolare i dispositivi direttamente che per lavorare con i file.

Precisione

In pratica, è più preciso dire che "tutto è un flusso di byte" rispetto a "tutto è un file." / Dev / random non è un file, ma sicuramente è un flusso di byte. E sebbene queste cose tecnicamente non siano file, sono accessibili nel file system - il file system è uno "spazio dei nomi" universale in cui tutto è accessibile. Vuoi accedere a un generatore di numeri casuali o leggere direttamente da un dispositivo? Troverete entrambi nel file system; nessuna altra forma di indirizzamento necessaria.

Naturalmente, alcune cose non sono in realtà dei file - i processi in esecuzione sul sistema non fanno parte del file system. "Tutto è un file" è impreciso, ma molte cose si comportano come file.


Dare una pausa ai tuoi occhi Rendendo tutto in OS X Bigger

Dare una pausa ai tuoi occhi Rendendo tutto in OS X Bigger

OS X ha un'eccellente chiarezza visiva ed è molto carino agli occhi, appena estratto dalla scatola. Ma, se hai problemi nel creare piccoli caratteri tipografici o semplicemente vuoi fare cose più grandi, allora ci sono alcune cose che puoi fare. Chiunque abbia familiarità con gli standard e le pratiche di Apple sa che sono piuttosto severi su come i loro prodotti sembrano E lavoro.

(how-to)

Come forzare la chiusura di un'applicazione su qualsiasi smartphone, computer o tablet

Come forzare la chiusura di un'applicazione su qualsiasi smartphone, computer o tablet

Ctrl + Alt + Canc non è solo necessario su Windows e altri sistemi operativi desktop. Le applicazioni possono bloccarsi o rimanere bloccate in cattivi stati su iPhone moderni, iPad e dispositivi Android. Ogni sistema operativo è in grado di terminare forzatamente le applicazioni che presentano anomalie.

(how-to)