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.
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:
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.
Il file system / dev non fa t contenere solo file che rappresentano dispositivi fisici. Ecco tre dei dispositivi speciali più importanti che contiene:
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.
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.
IOS 9 ha portato una nuova utile funzione che potresti non aver ancora notato. Conosciuto come "Rilevamento di rallentamenti", il tuo iPhone può rilevare quando viene posizionato a faccia in giù e non accenderà lo schermo quando arrivano le notifiche. Questo può risparmiare un sacco di energia della batteria se si ricevono regolarmente le notifiche Come Facedown Detection Opere CORRELATI:.
Come fare in modo che il tuo Nest venga rilevato automaticamente quando sei lontano
Quando parti per lavoro, probabilmente abbassi il termostato prima di uscire dalla porta per risparmiare energia. Ma il termostato Nest può farlo automaticamente per te, rilevando quando sei assente e quando torni a casa. Con una funzione chiamata A casa / Fuori casa, il termostato Nest può utilizzare il sensore integrato, così come la posizione GPS dal telefono, per determinare automaticamente se si è a casa o fuori.