Guida ai comandi da terminale - Gestione del File System
Guida ai comandi da terminale |
Sommario |
Se non si ha chiaro cosa sia un file system si veda prima questa pagina introduttiva.
Lista dei File System montati
Se si avesse l’esigenza di conoscere i File System montati nel sistema, utile per sapere come sono allocati in /dev, che tipo di permessi di lettura e scrittura si hanno in essi, e così via, si può semplicemente lanciare da qualunque utente il comando:
mount
Per ottenere in output la lista che cerchiamo. Oppure, per una rappresentazione ad albero dei punti di montaggio:
findmnt
Il file che dice a Linux quali dispositivi vanno montati all'avvio del sistema e dove vanno montati è /etc/fstab
.
Monitoraggio di RAID Software
Per monitorare lo stato delle partizioni RAID create con lo strumento mdadm
di Debian:
# cat /proc/mdstat
Monitoraggio dei dischi LVM
Per vedere lo stato di partizioni LVM e conoscere quali dischi fisici ne fanno parte:
# lvs --segments -o +pe_ranges
(richiede il pacchetto lvm2)
Connessione di nuove risorse
Nota Dischi ottici, dischi rigidi, memorie usb e partizioni remote sono tutti esempi di risorse, ovvero di filesystem esterni che un utente può agganciare a quello locale della macchina in uso. |
L'operazione di montaggio (in inglese mount) di una risorsa permette di "agganciare" un dispositivo tra quelli elencati in /dev
a una directory del file system, per renderlo utilizzabile all'interno del sistema.
Collegato ad esempio un nuovo disco fisso al PC ed ipotizzato che questo sia identificato da Linux come /dev/hdd1
è possibile renderlo raggiungibile sotto una certa directory arbitraria, per esempio /mnt
, tramite la seguente procedura:
- creare all'interno di
/mnt
una directory a cui "agganciare" il disco:# mkdir /mnt/disco_dati
- eseguire il mount del disco:
# mount -t auto /dev/hdd1 /mnt/disco_dati
L'opzione -t auto
dice a Linux di riconoscere automaticamente il filesystem con cui il nostro disco è stato formattato.
Da questo momento i dati contenuti nel nostro hard disk saranno raggiungibili andando nella directory /mnt/disco_dati
.
Il principale pregio di mount
risiede nell'elevato numero di filesystem supportati, nativamente o ottraverso appositi pacchetti che ne estendono le capacità. Esistono quattro tipi di sintassi generica (si veda il manuale), qui di seguito si descrive solo l'ultima:
# mount [-fnrsvw] -t tipo_fs -o fsopzione1,fsopzione2,ecc. /origine/risorsa /punto/montaggio
- [-fnrsvw], sono opzioni specifiche e facoltative dell'eseguibile mount, si veda il manuale per il significato di ciascuna lettera.
- -t, specifica il tipo di filesystem che verrà montato, ad esempio auto,ext3,fat, ecc. Come già scritto auto incarica mount di capire autonomamente che filesystem si andrà a montare.
- -o, specifica una o più opzioni relative al filesystem. Esistono sia opzioni valide per tutti i filesystem, altre specifiche dei singoli filesystem e infine altre utili solo se dichiarate nel file
/etc/fstab
- /origine/risorsa, indica semplicemente dove andare a prendere il filesystem della risorsa, per esempio
/dev/sdc
nel caso del disco rigido o chiavetta usb identificata dalla lettera "c". - /punto/montaggio, in quale directory (che deve già esistere) sarà visibile il contenuto della risorsa montata.
Di seguito alcuni esempi specifici.
Montaggio di una pendrive USB
Se dovesse capitare di dover montare un dispositivo USB senza poter usufruire del montaggio automatico fornito da molti Desktop Environment, è possibile farlo facilmente da terminale.
- Innanzitutto bisogna verificare a quale device è associato il dispositivo. Eseguire, prima di inserire la pendrive, il comando:
$ lsblk
- Inserire la pendrive e rieseguire lo stesso comando; la differenza tra i due output fornirà il device.
- A questo punto si può montare la pendrive creando prima un punto di mount:
# mkdir /mnt/lamiapendrive
per poi passare al montaggio vero e proprio:# mount -t auto /dev/sdb1 /mnt/miapendrive
In questo esempio si è supposto che la pendrive sia associata al device sdb e che sdb1 sia la partizione da montare.
Ora è possibile utilizzare la directory /mnt/miapendrive
per tutte le operazioni che dobbiamo svolgere. Ad esempio si possono visualizzare i file contenuti sulla pendrive:
$ ls -l /mnt/miapendrive
Copiare file sulla pendrive:
$ cp /etc/network/interfaces /mnt/miapendrive
Cancellare file dalla pendrive:
$ rm /mnt/miapendrive/filedacancellare.txt
Alla fine, per smontare il dispositivo:
# umount /mnt/miapendrive
Montaggio di un immagine ISO
Il comando mount
viene molto utile quando abbiamo un'immagine ISO di un CD-Rom e vogliamo vederne il contenuto senza masterizzarla:
# mount -t iso9660 -o loop /cartella/immagine.iso /cartella/di/montaggio
È possibile montare immagini anche senza privilegi di amministrazione (dopo aver installato il pacchetto fuseiso):
$ fuseiso /cartella/immagine.iso /cartella/di/montaggio
Montaggio di una partizione NTFS
Per montare una partizione formattata NTFS occorre che sia installato il pacchetto:
# apt install ntfs-3g
Quindi si proceda come visto in precedenza:
# mkdir /mnt/disco_ntfs # mount -t ntfs-3g /dev/sdb1 /mnt/disco_ntfs
E' possibile eseguire automaticamente all'avvio di Debian il montaggio di una partizione NTFS aggiungendo al file /etc/fstab
la seguente riga:
/dev/sdb1 /mnt/disco_ntfs ntfs-3g rw,users,suid,umask=000 0 0
Montaggio di una partizione NFS
Si veda questa pagina .
Montaggio di una cartella SAMBA
Il montaggio di una condivisione Windows di rete può essere eseguito con il comando:
# mount -t cifs -o username=Nome_utente,password=Password_utente,gid=1000,uid=1000,sec=ntlm //Indirizzo.IP.del.Server/Nome_condivisione /media/punto_di_mount
Per approfondimenti si veda questa pagina .
Disconnessione di una risorsa già presente
Se volessimo al contrario "sganciare" un disco dal nostro sistema, ci servirà il comando:
# umount /cartella/da/smontare/
Ad esempio:
# umount /mnt/disco_dati
Da questo momento il nostro disco non sarà più raggiungibile.
ATTENZIONE State attenti a non eseguire lo smontaggio di dischi di sistema o potreste rendere inutilizzabile il vostro PC |
Sincronizzare la cache dei filesystem
A volte, soprattutto su condivisioni Samba, può capitare che le modifiche in scrittura al filesystem restino in cache; se si stanno trasferendo file pesanti è possibile che la cache saturi la memoria RAM del PC, degradandone le prestazioni o portandolo a un blocco.
Per forzare la scrittura su disco dei dati in cache, liberando quindi la memoria, si può utilizzare il comando:
# sync; echo 3 > /proc/sys/vm/drop_caches
Conoscere la dimensione della directory corrente
Il seguente comando permette di conoscere la dimensione (in MB, GB o TB) della directory corrente comprese tutte le sottoridectory:
$ du -sh
Cercare le directory che occupano più spazio
Il seguente comando permette di ricercare le directory di dimensioni più grosse all'interno del nostro filesystem. Il comando ricerca le sottodirectory a partire dalla directory corrente.
$ du -sk */ | sort -rn