Struttura delle directory di Linux e gerarchia del file system
Ecco le directory di primo livello più comuni di cui devi essere a conoscenza e con cui puoi interagire come utente di un sistema Linux. Tutto, tutti i file e le directory, in Linux si trovano sotto ‘root’ rappresentato da ‘/’. Se osservi la struttura delle directory, ti renderai conto che è simile alla radice di una pianta. Poiché tutte le altre directory o file discendono da root, il percorso assoluto di qualsiasi file viene attraversato attraverso root. Ad esempio, se hai un file in /home/user/documents, puoi indovinare che la struttura della directory va da root->home->user->documents.
Dir | Descrizione |
---|---|
/ |
La directory chiamata “root”. È il punto di partenza per la gerarchia del file system. Si noti che questo non è correlato all’account root o superutente. |
/bin |
Binari e altri programmi eseguibili. |
/etc |
File di configurazione del sistema. |
/home |
Directory domestiche. |
/opt |
Software opzionale o di terze parti. |
/tmp |
Spazio temporaneo, in genere cancellato al riavvio. |
/usr |
Programmi relativi all’utente. |
/var |
Dati variabili, in particolare file di registro. |
La struttura delle directory di Linux è come un albero. La base della gerarchia del file system di Linux inizia dalla radice. Le directory si diramano dalla radice, ma tutto inizia dalla radice.
Il separatore di directory in Linux è la barra (/). Quando si parla di directory e di percorsi di directory, la “barra in avanti” è abbreviata in “barra”. Spesso la radice del file system viene definita “barra” poiché lo è il percorso completo /
. Se senti qualcuno dire “guarda nella barra” o “quel file è nella barra”, si riferisce alla directory principale.
1. / – root
- Ogni singolo file e directory inizia dalla directory principale.
- Solo l’utente root ha privilegi di scrittura in questa directory.
- Si noti che /root è la home directory dell’utente root, che non è la stessa di /.
2. /bin – Binari utente
- Contiene eseguibili binari.
- I comandi Linux comuni che è necessario utilizzare in modalità utente singolo si trovano in questa directory.
- Qui si trovano i comandi utilizzati da tutti gli utenti del sistema.
- Ad esempio: ps, ls, ping, grep, cp.
3. /sbin – Binari di sistema
- Proprio come /bin, anche /sbin contiene eseguibili binari.
- Tuttavia, i comandi linux che si trovano in questa directory sono usati tipicamente dall’amministratore di sistema, per scopi di manutenzione del sistema.
- Ad esempio: iptables, reboot, fdisk, ifconfig, swapon
4. /etc – File di configurazione
- Contiene i file di configurazione richiesti da tutti i programmi.
- Questo contiene anche script shell di avvio e arresto utilizzati per avviare/arrestare singoli programmi.
- Ad esempio: /etc/resolv.conf, /etc/logrotate.conf
5. /dev – File del dispositivo
- Contiene i file del dispositivo.
- Questi includono dispositivi terminali, USB o qualsiasi dispositivo collegato al sistema.
- Ad esempio: /dev/tty1, /dev/usbmon0
6. /proc – Informazioni sul processo
- Contiene informazioni sul processo di sistema.
- Questo è uno pseudo filesystem che contiene informazioni sul processo in esecuzione. Ad esempio: la directory /proc/{pid} contiene informazioni sul processo con quel particolare pid.
- Questo è un filesystem virtuale con informazioni di testo sulle risorse di sistema. Ad esempio: /proc/uptime
7. /var – File variabili
- var sta per file variabili.
- Il contenuto dei file che dovrebbero crescere si trova in questa directory.
- Ciò include: file di registro di sistema (/var/log); pacchetti e file di database (/var/lib); email (/var/mail); code di stampa (/var/spool); bloccare i file (/var/lock); file temporanei necessari al riavvio (/var/tmp);
8. /tmp – File temporanei
- Directory che contiene i file temporanei creati dal sistema e dagli utenti.
- I file in questa directory vengono eliminati quando il sistema viene riavviato.
9. /usr – Programmi utente
- Contiene binari, librerie, documentazione e codice sorgente per programmi di secondo livello.
- /usr/bin contiene i file binari per i programmi utente. Se non riesci a trovare un binario utente in /bin, cerca in /usr/bin. Ad esempio: at, awk, cc, less, scp
- /usr/sbin contiene file binari per gli amministratori di sistema. Se non riesci a trovare un binario di sistema sotto /sbin, guarda sotto /usr/sbin. Ad esempio: atd, cron, sshd, useradd, userdel
- /usr/lib contiene librerie per /usr/bin e /usr/sbin
- /usr/local contiene i programmi degli utenti che installi dal sorgente. Ad esempio, quando installi apache dal sorgente, va sotto /usr/local/apache2
10. /home – Directory domestiche
- Home directory per tutti gli utenti per archiviare i propri file personali.
- Ad esempio: /home/john, /home/nikita
11. /boot – File del caricatore di avvio
- Contiene i file relativi al caricatore di avvio.
- I file initrd, vmlinux e grub del kernel si trovano in /boot
- Ad esempio: initrd.img-2.6.32-24-generic, vmlinuz-2.6.32-24-generic
12. /lib – Librerie di sistema
- Contiene file di libreria che supportano i file binari che si trovano in /bin e /sbin
- I nomi dei file della libreria sono ld* o lib*.so.*
- Ad esempio: ld-2.11.1.so, libncurses.so.5.7
13. /opt – Applicazioni aggiuntive facoltative
- opt sta per facoltativo.
- Contiene applicazioni aggiuntive di singoli fornitori.
- le applicazioni aggiuntive devono essere installate nella sottodirectory /opt/ o /opt/.
14. /mnt – Monta directory
- Directory di montaggio temporanea in cui gli amministratori di sistema possono montare i filesystem.
15. /media – Dispositivi multimediali rimovibili
- Directory di montaggio temporanea per dispositivi rimovibili.
- Ad esempio, /media/cdrom per CD-ROM; /media/floppy per le unità floppy; /media/cdrecorder per il masterizzatore di CD
16. /srv – Dati di servizio
- srv sta per servizio.
- Contiene dati relativi a servizi specifici del server.
- Ad esempio, /srv/cvs contiene dati relativi a CVS.
IL /bin
directory è dove troverai i file binari o eseguibili. I programmi sono scritti in codice sorgente che è testo leggibile dall’uomo. Il codice sorgente viene quindi compilato in binari leggibili dalla macchina. Sono chiamati binari perché il codice macchina è una serie di zeri e uno. La cosa importante da sapere è che i comandi, i programmi e le applicazioni che puoi utilizzare a volte si trovano in /bin
.
I file di configurazione risiedono nel file /etc
directory. I file di configurazione controllano il comportamento del sistema operativo o delle applicazioni. Ad esempio, c’è un file in /etc
che indica al sistema operativo se eseguire l’avvio in modalità testo o grafica.
Le home directory degli utenti si trovano in /home
. Se il nome del tuo account è “pat”, lo sarà la tua home directory /home/pat
. I sistemi Linux possono e spesso hanno più account utente. Le home directory consentono a ciascun utente di separare i propri dati dagli altri utenti del sistema. IL pat
la directory è nota come sottodirectory. Una sottodirectory è semplicemente una directory che risiede all’interno di un’altra directory.
IL /opt
directory ospita software opzionale o di terze parti. Il software che non è in bundle con il sistema operativo sarà spesso installato /opt
. Ad esempio, il Google Earth l’applicazione non fa parte del sistema operativo Linux standard e viene installata nel file /opt/google/earth
directory.
Lo spazio temporaneo è assegnato in /tmp
. La maggior parte delle distribuzioni Linux cancella il contenuto di /tmp
al momento dell’avvio. Tieni presente che se inserisci i file in /tmp
e il sistema Linux si riavvia, è molto probabile che i tuoi file scompaiano. IL /tmp
directory è un ottimo posto per archiviare file temporanei, ma non inserire nulla /tmp
che vuoi mantenere a lungo termine.
IL /usr
la directory è chiamata “utente”. Troverai programmi binari ed eseguibili relativi all’utente nel file /usr/bin
directory.
I dati variabili come i file di registro risiedono in /var
. Nello specifico, il /var/log
La directory contiene i log generati dal sistema operativo e da altre applicazioni.
Gerarchia e significati delle sotto directory Linux
Linux è un sistema complesso che richiede un modo più complesso ed efficiente per avviare, arrestare, mantenere e riavviare un sistema, a differenza di Windows . C’è un file di configurazione ben definito, binari, pagine man, file info, ecc. per ogni processo in Linux.
Oltre alle principali directory, ecco un elenco di alcuni dei file e delle directory più importanti e dei loro usi.
- /boot/vmlinuz: il file del kernel di Linux .
- /dev/hda: File di dispositivo per il primo HDD IDE ( Hard Disk Drive ).
- /dev/hdc: file di dispositivo per l’ IDE Cdrom , comunemente.
- /dev/sda: file di dispositivo per la prima unità SATA (unità disco rigido).
- /dev/null: uno pseudo-dispositivo, che non esiste. A volte l’output della spazzatura viene reindirizzato a /dev/null, in modo che venga perso, per sempre.
- /etc/bashrc: questo file contiene impostazioni predefinite, funzioni e alias a livello di sistema tra gli altri file utilizzati da tutti gli utenti del sistema.
- /etc/crontab: questo è un file a livello di sistema che è formattato in modo univoco per pianificare o automatizzare le attività di sistema su un sistema Linux .
- /etc/exports: un file che determina quali file system vengono esportati su host remoti e specifica le opzioni.
- /etc/fstab: questo è un file speciale che contiene informazioni su tutti i punti di montaggio disponibili e le opzioni dei punti di montaggio. Ogni riga in questo file fornisce sei opzioni, ognuna delle quali denota informazioni su un punto di montaggio o un filesystem.
- /etc/hosts: questo è un file di configurazione che associa i nomi host di sistema agli indirizzi IP corrispondenti.
- /etc/hosts.allow: il file specifica a quali host è consentito connettersi al sistema locale.
- /etc/host.deny: il file specifica a quali host è negato l’accesso e i servizi sulla macchina locale.
- /etc/issue: contiene un messaggio di pre-accesso.
- /etc/modules: questo file contiene i nomi dei moduli del kernel che devono essere caricati all’avvio, uno per riga.
- /etc/motd: motd sta per a message of the day, il messaggio che gli utenti ricevono al momento del login.
- /etc/mtab: un file di sola lettura che contiene un elenco di filesystem attualmente montati.
- /etc/passwd: un file che contiene le informazioni dell’utente di sistema come nome utente, UID, GID e shell di login tra gli altri
- /etc/printcap: contiene informazioni sulla stampante generate dal file /etc/cups/printers.conf.
- /etc/profile: contiene l’ambiente a livello di sistema Linux e altri script di avvio.
- /etc/profile.d: script dell’applicazione, eseguito dopo il login .
- /etc/rc.d: informazioni sullo script specifico del livello di esecuzione .
- /etc/rc.d/init.d: esegue lo script di inizializzazione del livello .
- /etc/resolv.conf: questo è un file del risolutore DNS. Specifica in che modo il sistema sfrutta il DNS per risolvere i nomi host.
- /etc/security: contiene i file di configurazione per vari moduli PAM.
- /etc/skel: Questa è una directory che contiene una serie di file di configurazione utente che vengono copiati nella home directory dell’utente quando viene creato un utente.
- /etc/X11: Questa è una directory che contiene i file di configurazione per il sistema X-window.
- /usr/bin: Comandi eseguibili dall’utente normale .
- /usr/bin/X11: questa directory contiene directory e binari nidificati all’infinito per il sistema X Windows.
- /usr/include: la directory contiene i file di intestazione per i compilatori C. Questo include stdio.h, stdlib.h e string.h tra gli altri.
- /usr/share: directory condivise di file man , file info , ecc.
- /usr/lib: questa directory è composta da file oggetto e directory
- /usr/sbin: la directory contiene file binari con privilegi di superutente o per l’amministratore di sistema.
- /proc/cpuinfo: il file contiene informazioni di sistema tra cui il modello della CPU, il nome del modello, il numero di core e la velocità di clock per citare alcuni file.
- /proc/interrupts: informazioni sugli interrupt attualmente utilizzati.
- /proc/ioports: il file contiene tutti gli indirizzi di input/output utilizzati dai dispositivi sul server.
- /proc/meminfo: un file che memorizza le informazioni sull’utilizzo della memoria, comprese le informazioni di scambio.
- /proc/modules: un file che elenca tutti i moduli utilizzati dal kernel
- /proc/mount: il file contiene informazioni dettagliate sul file system montato.
- /proc/stat: il file contiene informazioni dettagliate sul sistema e sull’attività del kernel.
- /proc/swaps: il file contiene informazioni sul file di scambio.
- /proc/version: il file contiene informazioni sulla versione di Linux.
- /var/log/lastlog: un file binario che contiene informazioni sugli ultimi accessi utente riusciti.
- /var/log/messages: il file contiene un registro dei messaggi prodotti dal demone syslog all’avvio.
- /var/log/syslog: un file che contiene registri di sistema non critici.
- /var/log/wtmp: un file che elenca l’ ora di accesso e la durata di ogni utente sul sistema attualmente.
Ognuna delle directory di cui sopra (che è un file, in primo luogo) contiene informazioni importanti, necessarie per l’avvio di driver di dispositivo, file di configurazione, ecc.