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.