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.
I modi più semplici per creare GIF animate su qualsiasi piattaforma
Le GIF animate sono il nuovo modo preferito di esprimersi. Sono diventati l'equivalente mobile dell'emoticon, quindi può essere utile sapere come crearne uno proprio. La GIF e il suo cugino animato sono in circolazione da quasi 30 anni. GIF, che sta per Graphics Interchange Format, non sono più ampiamente utilizzate per le immagini fisse, ma la variante animata ha dimostrato in modo schiacciante la sua capacità di resistenza.
PSA: è possibile utilizzare Time Machine anche se l'unità di backup non è collegata
Time Machine, l'utility di backup integrata di macOS, è uno dei programmi di backup più semplici in circolazione. Ecco un consiglio che molte persone non sanno, anche se: anche se la tua unità Time Machine non è collegata al tuo Mac, può comunque proteggere i tuoi file. CORRELATO: Come eseguire il backup del tuo Mac e Ripristina i file con Time Machine Se hai un laptop, probabilmente non lo hai collegato a un'unità esterna a tutte le ore del giorno.