Unix / Linux - Nozioni di base sul file system
Un file system è una raccolta logica di file su una partizione o un disco. Una partizione è un contenitore di informazioni e può occupare un intero disco rigido, se lo si desidera.
Il disco rigido può avere varie partizioni che di solito contengono un solo file system, ad esempio un file system contenente l'estensione /file system o un altro contenente il /home file system.
Un file system per partizione consente la manutenzione e la gestione logica di diversi file system.
Tutto in Unix è considerato un file, inclusi dispositivi fisici come DVD-ROM, dispositivi USB e unità floppy.
Struttura delle directory
Unix utilizza una struttura di file system gerarchica, molto simile a un albero capovolto, con root (/) alla base del file system e tutte le altre directory che si estendono da lì.
Un filesystem Unix è una raccolta di file e directory che ha le seguenti proprietà:
Ha una directory principale (/) che contiene altri file e directory.
Ogni file o directory è identificato in modo univoco dal suo nome, dalla directory in cui risiede e da un identificatore univoco, tipicamente chiamato inode.
Per convenzione, la directory root ha un'estensione inode numero di 2 e il lost+found directory ha un'estensione inode numero di 3. Numeri Inode0 e 1non vengono utilizzati. I numeri di inode del file possono essere visualizzati specificando l'estensione-i option per ls command.
È autonomo. Non ci sono dipendenze tra un filesystem e un altro.
Le directory hanno scopi specifici e generalmente contengono gli stessi tipi di informazioni per individuare facilmente i file. Di seguito sono riportate le directory che esistono nelle versioni principali di Unix:
Sr.No. | Directory e descrizione |
---|---|
1 | / Questa è la directory principale che dovrebbe contenere solo le directory necessarie al livello superiore della struttura del file |
2 | /bin Qui è dove si trovano i file eseguibili. Questi file sono disponibili per tutti gli utenti |
3 | /dev Questi sono driver di dispositivo |
4 | /etc Comandi della directory del supervisore, file di configurazione, file di configurazione del disco, elenchi di utenti validi, gruppi, Ethernet, host, dove inviare messaggi critici |
5 | /lib Contiene file di libreria condivisa e talvolta altri file relativi al kernel |
6 | /boot Contiene file per l'avvio del sistema |
7 | /home Contiene la home directory per utenti e altri account |
8 | /mnt Utilizzato per montare altri file system temporanei, come cdrom e floppy per il CD-ROM guidare e floppy diskette drive, rispettivamente |
9 | /proc Contiene tutti i processi contrassegnati come file da process number o altre informazioni dinamiche al sistema |
10 | /tmp Contiene i file temporanei utilizzati tra gli avviamenti del sistema |
11 | /usr Utilizzato per scopi vari e può essere utilizzato da molti utenti. Include comandi amministrativi, file condivisi, file di libreria e altri |
12 | /var In genere contiene file di lunghezza variabile come file di registro e di stampa e qualsiasi altro tipo di file che può contenere una quantità variabile di dati |
13 | /sbin Contiene file binari (eseguibili), generalmente per l'amministrazione del sistema. Per esempio,fdisk e ifconfig utilità |
14 | /kernel Contiene i file del kernel |
Navigazione nel file system
Ora che hai compreso le basi del file system, puoi iniziare a navigare verso i file di cui hai bisogno. I seguenti comandi vengono utilizzati per navigare nel sistema:
Sr.No. | Comando e descrizione |
---|---|
1 | cat filename Visualizza un nome file |
2 | cd dirname Ti sposta nella directory identificata |
3 | cp file1 file2 Copia un file / directory nella posizione specificata |
4 | file filename Identifica il tipo di file (binario, testo, ecc.) |
5 | find filename dir Trova un file / directory |
6 | head filename Mostra l'inizio di un file |
7 | less filename Sfoglia un file dalla fine o dall'inizio |
8 | ls dirname Mostra il contenuto della directory specificata |
9 | mkdir dirname Crea la directory specificata |
10 | more filename Sfoglia un file dall'inizio alla fine |
11 | mv file1 file2 Sposta la posizione o rinomina un file / directory |
12 | pwd Mostra la directory corrente in cui si trova l'utente |
13 | rm filename Rimuove un file |
14 | rmdir dirname Rimuove una directory |
15 | tail filename Mostra la fine di un file |
16 | touch filename Crea un file vuoto o modifica un file esistente o i suoi attributi |
17 | whereis filename Mostra la posizione di un file |
18 | which filename Mostra la posizione di un file se è nel tuo PERCORSO |
È possibile utilizzare la Guida della pagina di manuale per controllare la sintassi completa per ogni comando menzionato qui.
Il comando df
Il primo modo per gestire lo spazio delle partizioni è con l'estensione df (disk free)comando. Il comandodf -k (disk free) visualizza il file disk space usage in kilobytes, come mostrato di seguito -
$df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vzfs 10485760 7836644 2649116 75% /
/devices 0 0 0 0% /devices
$
Alcune delle directory, come /devices, mostra 0 nelle colonne kbyte, utilizzato e disp, nonché 0% per la capacità. Questi sono file system speciali (o virtuali) e sebbene risiedano sul disco sotto /, da soli non consumano spazio su disco.
Il df -kl'output è generalmente lo stesso su tutti i sistemi Unix. Ecco cosa include di solito:
Sr.No. | Colonna e descrizione |
---|---|
1 | Filesystem Il nome del file system fisico |
2 | kbytes Kilobyte totali di spazio disponibile sul supporto di memorizzazione |
3 | used Kilobyte totali di spazio utilizzato (dai file) |
4 | avail Kilobyte totali disponibili per l'uso |
5 | capacity Percentuale dello spazio totale utilizzato dai file |
6 | Mounted on Su cosa è montato il file system |
Puoi usare il file -h (human readable) option per visualizzare l'output in un formato che mostri la dimensione in una notazione più facile da capire.
Il du Command
Il du (disk usage) command consente di specificare le directory per mostrare l'utilizzo dello spazio su disco in una determinata directory.
Questo comando è utile se si desidera determinare quanto spazio occupa una determinata directory. Il comando seguente visualizza il numero di blocchi consumati da ciascuna directory. Un singolo blocco può richiedere 512 byte o 1 kilo byte a seconda del sistema.
$du /etc
10 /etc/cron.d
126 /etc/default
6 /etc/dfs
...
$
Il -h l'opzione rende l'output più facile da comprendere -
$du -h /etc
5k /etc/cron.d
63k /etc/default
3k /etc/dfs
...
$
Montaggio del file system
Un file system deve essere montato per essere utilizzabile dal sistema. Per vedere cosa è attualmente montato (disponibile per l'uso) sul tuo sistema, usa il seguente comando:
$ mount
/dev/vzfs on / type reiserfs (rw,usrquota,grpquota)
proc on /proc type proc (rw,nodiratime)
devpts on /dev/pts type devpts (rw)
$
Il /mntdirectory, secondo la convenzione Unix, è dove si trovano i montaggi temporanei (come unità CDROM, unità di rete remote e unità floppy). Se è necessario montare un file system, è possibile utilizzare il comando mount con la seguente sintassi:
mount -t file_system_type device_to_mount directory_to_mount_to
Ad esempio, se vuoi montare un file CD-ROM nella directory /mnt/cdrom, puoi digitare -
$ mount -t iso9660 /dev/cdrom /mnt/cdrom
Ciò presuppone che venga richiamato il dispositivo CD-ROM /dev/cdrom e su cui vuoi montarlo /mnt/cdrom. Fare riferimento alla pagina man mount per informazioni più specifiche o digitare mount-h nella riga di comando per informazioni sulla guida.
Dopo il montaggio, è possibile utilizzare il comando cd per navigare nel file system appena disponibile attraverso il punto di montaggio appena creato.
Smontaggio del file system
Per smontare (rimuovere) il file system dal sistema, utilizzare l'estensione umount comando identificando il punto di montaggio o il dispositivo.
Per esempio, to unmount cdrom, usa il seguente comando:
$ umount /dev/cdrom
Il mount command ti consente di accedere ai tuoi file system, ma sulla maggior parte dei moderni sistemi Unix, il automount function rende questo processo invisibile all'utente e non richiede alcun intervento.
Quote utente e gruppo
Le quote utente e gruppo forniscono i meccanismi con cui la quantità di spazio utilizzata da un singolo utente o da tutti gli utenti all'interno di un gruppo specifico può essere limitata a un valore definito dall'amministratore.
Le quote operano attorno a due limiti che consentono all'utente di intraprendere un'azione se la quantità di spazio o il numero di blocchi del disco inizia a superare i limiti definiti dall'amministratore:
Soft Limit - Se l'utente supera il limite definito, è previsto un periodo di grazia che consente all'utente di liberare spazio.
Hard Limit - Quando viene raggiunto il limite rigido, indipendentemente dal periodo di grazia, non è possibile allocare ulteriori file o blocchi.
Esistono numerosi comandi per amministrare le quote:
Sr.No. | Comando e descrizione |
---|---|
1 | quota Visualizza l'utilizzo del disco e i limiti per un utente del gruppo |
2 | edquota Questo è un editor di quote. La quota di utenti o gruppi può essere modificata utilizzando questo comando |
3 | quotacheck Esegue la scansione di un filesystem per l'utilizzo del disco, crea, controlla e ripara i file di quota |
4 | setquota Questo è un editor di quote della riga di comando |
5 | quotaon Questo annuncia al sistema che le quote disco dovrebbero essere abilitate su uno o più filesystem |
6 | quotaoff Questo annuncia al sistema che le quote disco dovrebbero essere disabilitate per uno o più filesystem |
7 | repquota Stampa un riepilogo dell'utilizzo del disco e delle quote per i file system specificati |
È possibile utilizzare la Guida della pagina di manuale per controllare la sintassi completa per ogni comando menzionato qui.