
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.
Automator 101: Come automatizzare le attività ripetitive sul Mac
Per tutti i vecchi scherzi sui mouse a un pulsante e la semplicità, i Mac hanno alcune funzionalità di power-user che Windows non offre. Automator è uno di questi, offre un modo semplice per automatizzare le attività ripetitive senza software di terze parti. Automator è uno strumento potente e ci sono molte cose che puoi fare con esso.
Come installare le estensioni in Microsoft Edge
Microsoft Edge supporta infine le estensioni del browser grazie all'aggiornamento Anniversario di Windows 10. Le estensioni Edge sono ora disponibili su Windows Store, anche se solo alcune sono inizialmente disponibili. Microsoft rilascerà anche uno strumento che può facilmente convertire estensioni Chrome esistenti in estensioni Edge, in quanto le due sono molto simili.