Se hai pensato di dare un'occhiata più da vicino a Linux ma sei scoraggiato da barre, punti, radici, montaggi e stranezze del terminale, questa introduzione alla struttura del filesystem di Linux spiega tutto da una prospettiva DOS/Windows. L'unico presupposto che ho fatto è che tu abbia una certa familiarità con il layout del filesystem di Windows, così come con alcuni DOS o Command (CMD ) Navigazione nella finestra. Scoprirai che Linux non è così diverso da Windows in molti modi. Non toccheremo nemmeno chi ha rubato cosa da chi perché è evidente che l'ispirazione viene da molti luoghi.
Solo così siamo chiari, so che Windows non è più basato su DOS. Ma sia Linux che Windows hanno un'interfaccia a riga di comando (CLI) e invece di chiamarla CMD , Command Window o qualcos'altro, è più semplice utilizzare il termine legacy, DOS per la CLI di Windows. Sto anche usando i termini filesystem e struttura del filesystem in modo intercambiabile. Quello a cui mi riferisco è il layout di file, directory, configurazioni, paging e così via, e non la formattazione a livello di bit del filesystem come NTFS o XFS, per esempio.
Innanzitutto, sia Linux che Windows (e Mac) hanno un layout di filesystem gerarchico, il che significa che esiste una singola directory "root" e tutte le altre directory si diramano da quella. In Windows, le directory principali sono contrassegnate da lettere, come C: o D: . Windows può avere molte directory principali In Linux, la directory principale è designata come / e c'è solo una directory radice per computer Linux. Alcuni riferimenti chiamano questo layout una struttura ad "albero":quando tutte le directory e le sottodirectory vengono espanse, il riferimento visivo è un albero invertito.
Confronta i due layout di seguito. Red Hat Enterprise Linux 8 è a sinistra e Microsoft Windows Server 2012 R2 è a destra. Nota le somiglianze e le differenze tra i due:
[Vuoi provare Red Hat Enterprise Linux? Scaricalo ora gratuitamente.]
Linux ha diverse directory sotto root (/ ), mentre Windows ne ha relativamente pochi. Questo perché Windows mantiene tutto tranne le applicazioni sotto C:\Windows directory. Le applicazioni risiedono in Program Files o il Program Files (x86) directory. Linux mantiene le sue applicazioni sotto il /usr directory. Il /home di Linux corrisponde al C:\Users di Windows directory.
La tabella seguente mostra importanti directory Linux e le loro funzioni (il -> è un collegamento simbolico o una scorciatoia, nella terminologia di Windows):
| Directory | Scopo |
|---|---|
bin -> /usr/bin | Directory contenente i file binari utente. |
boot | Directory contenente i file del bootloader. |
dev | Directory contenente i file del dispositivo. |
etc | Directory contenente i file di configurazione. |
home | Directory contenente le home directory degli utenti. |
lib -> /usr/lib | Directory contenente le librerie di sistema. |
lib64 -> /usr/lib64 | Directory contenente le librerie di sistema a 64 bit. |
media | Dove vengono montati automaticamente DVD e dispositivi rimovibili. |
mnt | Directory utilizzata per il montaggio temporaneo di filesystem remoti e altri media. |
opt | Directory in cui sono installati alcuni software di terze parti. |
proc | Directory contenente le informazioni sul processo di sistema. |
root | La home directory dell'utente root. |
run | Una directory scratch di runtime (basata sulla RAM). |
sbin -> /usr/sbin | Directory contenente i file binari di sistema. |
srv | Directory contenente i dati del servizio. |
sys | Directory contenente dispositivi, moduli del kernel, filesystem e altre informazioni sui componenti del kernel. |
tmp | Directory contenente file temporanei. |
usr | Directory contenente i programmi utente. |
var | Directory contenente file variabili, come log e file temporanei. |
Nota che quando scrivi i nomi delle directory in Linux, includi sempre la directory principale (/ ) e allo stesso modo, hai incluso (C:\ ) in Windows. È importante includere i riferimenti alla directory principale su entrambi i sistemi operativi. Ad esempio, in Linux ci sono directory come /usr/bin , /usr/sbin e /tmp . Windows può avere più radici, quindi potresti avere C:\Temp , D:\Temp e E:\Temp sullo stesso sistema. Puoi vederlo semplicemente facendo riferimento a tmp in Linux o Temp in Windows è confuso e non abbastanza specifico per fare chiaramente riferimento a una directory specifica.
Noterai anche dai miei scritti che le barre per Linux sono barre inverse e Windows sono barre o "colpi". Ti sei mai chiesto perché la barra rovesciata è una parola ma la barra in avanti è due? In Linux, la barra rovesciata è un operatore che significa ignorare il carattere successivo, il che rovinerebbe davvero il percorso del file. Quindi, ci sono alcune differenze nel modo in cui interagisci con i due sistemi operativi, come navighi, dove si trovano le cose e PATH designazioni, ma vedi anche molte somiglianze.
Sebbene Windows memorizzi i file di configurazione in molte posizioni diverse, la maggior parte di essi risiede da qualche parte sotto il C:\Windows directory e le sue dozzine di sottodirectory. Linux usa quasi esclusivamente /etc directory per le configurazioni. Le applicazioni in Linux spesso archiviano i propri file di configurazione nei propri etc sottodirectory (si pronuncia etc come et-see ). Nelle discussioni, se fai riferimento a /etc directory, /tmp , /home , o qualsiasi altra directory di primo livello, non è necessario dire "barra". Dì solo la directory "etc", "home" o "tmp". Se ti riferisci a una sottodirectory, puoi dire "usr bin"(/usr/bin ) o "usr local bin"(/usr/local/bin ). E usr si pronuncia "utente". È simile al modo in cui ti riferisci a C:\Windows directory dicendo "la directory di Windows" (C:\Windows ) o in C:\Windows\System32 dicendo "la directory di Windows System32."
A proposito, Windows ha anche un etc directory, ma è ben nascosto in C:\Windows\System32\drivers\etc . In questo etc directory, troverai file comuni a entrambi i sistemi operativi come hosts , lmhosts , protocol , networks e services .
Alla riga di comando, navighi in entrambi i sistemi usando il cd comando. L'unica cosa che devi ricordare è da che parte vanno le barre. Quando passi a Linux, scoprirai che la navigazione viene naturale e il / la chiave si trova in una posizione molto più comoda rispetto a \ la chiave è. Anche se la direzione della barra non sarà il problema più grande che hai. Aspetta solo di digitare ls in un C:\> chiedi e renditi conto di ciò che hai fatto quando vedi 'ls' is not recognized as an internal or external command, operable program, or batch file errore. Digitando dir al prompt dei comandi di Linux è molto meno traumatico. Suggerimento:dir è un alias per ls in Linux.
Penso che troverai il filesystem di Linux organizzato, facile da navigare e un piacere da gestire. Nei post futuri tratteremo le autorizzazioni di Linux e ti mostreremo quanto sia veramente potente e sicuro Linux. Per ora, concentrati a familiarizzare con il layout e le posizioni di file e directory importanti.