Al prompt dei comadi con il carattere $ si identifica un utente con meno privilegi, mentre con il carattere # si identifica l'utente amministratore chiamato root.
Gestione File System
In Linux la struttura delle cartelle è un albero con al vertice la cartella root (rappresentata con il carattere della barra "/") e a scendere le cartelle ramificate in rami più piccoli.
La struttura delle cartelle è documentata e definita nel Linux Filesystem Hierarchy Standard (FHS) uno standard utilizzato da tutte le distribuzioni Linux.
La funzione principale di un file system è organizzare i file su uno spazio di memoria, così da permettere di reperire i file contenuti su:
- memorie di massa progettato per memorizzare dei file su un'unità a disco o a stato solido, tra quelli più conosciuti: Ext4, FAT32, NTFS;
- computer remoti tramite rete come Samba e NFS.
Le cartelle all'interno della cartella root ed il loro contenuto:
bin | File binari principali per tutti gli utenti |
boot | File del boot loader |
dev | File dei dispositivi fisici |
etc | File di configurazione di sistema |
home | File degli utenti di sistema |
lib | Librerie |
media | Cartella di montaggio dei media rimovibili |
mnt | Cartella di montaggio temporanea |
opt | File di applicazioni aggiuntivi |
proc | Stato del kernel e dei processi attivi |
root | Cartella home dell'utente root |
run | Directory con dati volatili di run-time |
sbin | File binari per l'utente root |
srv | I dati per i servizi |
sys | File di sistema |
tmp | File temporanei |
usr | Contiene tutti i file binari dell'utente |
var | File variabili come log dei processi |
Con il comando cd ci si sposta tra le cartelle. Per accedere alla cartella root rappresentata dalla barra "/":
$ cd / |
Da linea di comando fare la lista delle cartelle e dei file con il comando ls.
$ ls -l |
Gestione file
$ touch file_1 | Crea il file_1 |
$ echo "ciao ciao" >> file_1 | Scrive all'interno del file |
$ cat file_1 | Visualizza il contenuto del file |
$ cp file_1 /tmp/file_1 | Copia del file |
$ rm file_1 | Rimozione del file |
$ mv file_1 /home/utente2 | Muove il file_1 in un'altra posizione |
$ mv file_1 file_1_rinominato | Rinomina il file |
Gestione directory
$ pwd | Per conoscere la directory corrente |
$ mkdir directory_1 | Crea la cartella directory_1 |
$ cp -R directory_1 directory_2 | Copia ricorsiva della directory_1 in directory_2 |
$ rmdir directory_1 | Rimuove la cartella vuota |
$ rmdir -R directory_1 | Rimuove la cartella principale e le sottodirectory |
$ mv directory_1 /home/utente2 | Muove la cartella in un'altra posizione |
$ mv directory_1 directory_2 | Rinomina la cartella |
Visualizzare lo spazio disponibile
$ df -h | Visualizza lo spazio disponibile nel disco |
$ du /home | Visualizza lo spazio disponibile nella directory |
Parted
Parted è una applicazione da poter eseguire in modalità manuale oppure in modalità interattiva come utente root.
Parted funziona sia con MBR che con GPT.
# parted -l | Visualizza le informazioni del partizionamento dell'intero disco |
# parted /dev/sdx print | Visualizza le informazioni del partizionamento di una singola partizione |
# parted | Modalità interattiva |
Swap
Uno dei fattori da considerare in fase di progettazione dello schema di partizionamento del Personal Computer è la dimensione della partizione di swap.
Lo swap è uno spazio su disco a cui viene fatto ricorso quando la RAM tende a riempirsi, questo per evitare errori di out of memory, perdite di dati. La RAM scarica alcuni dati su disco, a scapito delle prestazioni per evitare di esaurire completamente la memoria e per permettere l'esecuzione di altri programmi.
Lo swap può risiedere in una partizione oppure in un file.
Per visualizzare la partizione o il file di swap:
$ swapon -s | Visualizza tutte le partizioni/file di swap in uso sul sistema |
$ cat /proc/swaps | Visualizza tutte le partizioni/file di swap in uso sul sistema |
$ free -m | Visualizza le informazioni sulla dimensione della RAM e lo swap |
$ nano /etc/fstab | All'interno del file /etc/fstab è contenuto il riferimento della partizione di swap: UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx none swap sw 0 0 |
Mount
Per accedere al file system è necessaria una cartella che vi punti: questa operazione è chiamata montaggio.
La cartella /dev contiene i file delle periferiche. Un esempio:
sda: primo disco
sda1: la prima partizione del primo disco
sda2: la seconda partizione del primo disco
sdb: secondo disco
sdb2: la seconda partizione del secondo disco
Ad esempio, con il comando mount è possibile eseguire il montaggio della prima partizione del secondo disco all'interno della cartella /mnt:
# mount -t ext4 /dev/sdb1 /mnt |
Quindi, spostarsi all'interno della cartella /mnt e fare una lista di file e cartelle:
# cd /mnt |
# ls -l |
Per lo smontaggio della cartela /mnt:
# umount /mnt |
File /etc/fstab
Le informazioni di montaggio delle periferiche e delle partizioni sono contenute nel file /etc/fstab:
# cat /etc/fstab |
#file system | mount point | type | options | dump | pass |
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx | / | ext4 | errors=remount-ro | 0 | 1 |
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx | /home | ext4 | defaults | 0 | 2 |
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx | none | swap | defaults | 0 | 0 |
/dev/sr0 | /media/cdrom0 | udf,iso9660 | user,noauto | 0 | 0 |
file system
Per identificare una partizione sul disco, anzichè utilizzare come dicitura classica, ad esempio /dev/sda1, è possibile utilizzare il codice UUID unico (universally unique identifier) generato quando la partizione viene creata o formattata. Per visualizzare l'UUID:
$ lsblk -no UUID /dev/sda1 |
$ blkid /dev/sda1 |
$ ls -l /dev/disk/by-uuid |
mount point
Mount della cartella dove è montata la partizione
type
File system della partizione
options
auto - monta il file system automaticamente all'avvio
noauto - monta il file system manualmente all'avvio
exec - abilita l'esecuzione dei file eseguibili nella partizione
noexec - impedisce l'esecuzione dei file eseguibili nella partizione
ro - il mount del file system è in sola lettura
rw - il mount del file system è in lettura e scrittura
suid - consente l'uso di operazioni di suid e sgid
nosuid - impedisce le operazioni di suid e sgid
user - tutti gli utenti possono montare il file system (include noexec, nosuid, nodev)
users - gli utenti del gruppo users possono montare il filesystem
noatime - non aggiorna l'inode con i tempi di accesso al file system
defaults - impostazioni di default per ext4 sono rw,suid,dev,exec,auto,nouser,async
dump
E' utilizzato dal programma dump per eseguire backup nel caso è installato. Impostare il valore a 0 se il programma non è installato o non si vuole eseguire il backup, impostare il valore ad 1 per eseguire il backup del file system.
pass
I possibili valori sono 0, 1 e 2. Il comando fsck, utilizzato per controllare e riparare i file system, determina l'ordine in cui i file system saranno controllati: la partizione di root deve avere valore 1 per avere la massima priorità, gli altri file system devono avere valore 2. Nel caso il valore sia impostato a 0 fsck non farà alcun controllo.