dal 2015 - visita n. 634
Seminario.05
Seminario.05

 

Comandi Base (parte 4)



Operazioni con i file

Tra le operazioni che è possibile compiere sui file ci sono quelle relative ai cosiddetti collegamenti o link.
Linux ha due tipi di collegamenti:


Come utenti Windows si ha probabilmente dimestichezza con i collegamenti (link simbolici), che sono quelle icone con la freccina ed il cui nome inizia con 'Collegamento a'. Si tratta di un sistema molto comodo per radunare in un unico posto le applicazioni e i documenti usati più frequentemente, che però materialmente restano dove sono. Il collegamento è un semplice puntatore.

Vediamo, in Linux, con un esempio la differenza tra un file con un hard link e uno con un soft link, eseguiamo allora i seguenti comandi:

touch prova                creazione del file prova
ln prova prova-h           creazione link fisico
ln -s prova prova-s        creazione link simbolico
ls -il prova*              listato (con inode) dei vari file prova generati

Otterremo come output qualcosa del genere:

286483 -rw-r--r--  2 alunno itis 0 2005-11-12 10:47 prova
286483 -rw-r--r--  2 alunno itis 0 2005-11-12 10:47 prova-h
286500 lrwxrwxrwx  1 alunno itis 5 2005-11-12 10:47 prova-s -> prova

Come si vede, prova e prova-h hanno lo stesso inode (286483), mentre prova-s ne ha uno diverso 8286500.
I link simbolici si notano perchè hanno la lettera l all'inizio del blocco permessi, ed alla fine, inoltre, viene indicato dove punta il collegamento: -> prova.

Per quanto riguarda il termine inode per il momento è sufficiente fare questa riflessione: le persone richiamano i file e le directory usando il loro nome, i sistemi Linux invece li richiamano per mezzo di un numeretto detto inode.
I collegamenti simbolici utilizzano un inode extra, invece i collegamenti fisici utilizzano lo stesso. In altre parole con il collegamento simbolico si crea un altro file (anche se particolare), con il collegamento fisico si punta allo stesso file o se si preferisce SONO lo stesso file chiamato con nomi diversi.

Questa spiegazione non è ovviamente esaustiva, ma è sufficiente per iniziare. Per ulteriori informazioni usate il comando: man ln.

Se in /dev date un'occhiata ai vari devices, troverete probabilmente anche il device /dev/cdrom che non è affatto un device, ma un collegamento simbolico al vero device /dev/hdb

ls -l /dev/cd*
lrwxrwxrwx  1 root root      8 2005-11-12 06:54 /dev/cdburner -> /dev/hdb
lrwxrwxrwx  1 root root      8 2005-11-12 06:54 /dev/cdrom -> /dev/hdb
lrwxrwxrwx  1 root root      8 2005-11-12 06:54 /dev/cdrom1 -> /dev/hdd

I collegamenti simbolici in Konqueror sono mostrati in corsivo e mettendoci sopra il mouse appare nella parte inferiore la destinazione cui puntano..

Riassumendo, per la creazione dei collegamenti si utilizza il seguente comando:

ln [opz]   TARGET LINK_NAME



Informazioni spazio su disco

Per avere una dettagliata statistica sull'utilizzo dello spazio del disco fisso in tutte le partizioni, directory e sottodirectory di Linux utilizzeremo i comandi du e df.

Il primo, du (disk usage), restituisce informazioni su dimensioni di file e directory. Usato senza argomenti, analizza lo spazio su disco per la directory corrente mostrando ricorsivamente le dimensioni dei file contenuti anche nelle eventuali sottodirectory. Si suggerisce di provarlo anche con le opzioni base in combinazione tra di loro.

du [opz] [NOME_FILE|NOME_DIRECTORY)...]



Il secondo comando df (disk filling) visualizza una tabella con indicazioni sull'occupazione di spazio su ogni partizione del sistema. Il comando:

df -h

può visualizzare una tabella riassuntiva come la seguente:

Filesystem         Dimens. Usati Disp. Uso% Montato su
/dev/hda7              38G   33G  5,6G  86% /
tmpfs                 506M     0  506M   0% /dev/shm
/dev/hda1              12G  2,2G  9,1G  20% /mnt/hda1
/dev/hda2              12G  2,1G  9,2G  19% /mnt/hda2
/dev/hda3              12G  1,4G  9,8G  13% /mnt/hda3
/dev/hda6              38G   18G   21G  47% /mnt/hda6
/dev/hda8              38G  1,8G   36G   5% /mnt/hda8
/dev/hdc1              12G  7,5G  4,2G  65% /mnt/hdc1
/dev/hdc2              12G   33M   12G   1% /mnt/hdc2
/dev/hdc3              62G   23G   36G  40% /mnt/hdc3
/dev/sdc              490M   56M  434M  12% /mnt/sdc
/dev/sdd1             124M   14M  110M  12% /mnt/sdd1



Montaggio/Smontaggio dei dischi

La gestione del montaggio e dello smontaggio dei filesytem, tipicamente a cura dell'amministratore del sistema, si effettua con i comandi mount e umount e per il tramite del file di configurazione /etc/fstab.

Il comando mount, usato da solo senza alcuna opzione, fornisce una tabella come la seguente:

/dev/hda7          on /              type reiserfs  (rw)
proc               on /proc          type proc      (rw,nodiratime)
sysfs              on /sys           type sysfs     (rw)
tmpfs              on /dev/shm       type tmpfs     (rw)
/dev/hda1          on /mnt/hda1      type reiserfs  (rw,nosuid,nodev)
/dev/hda2          on /mnt/hda2      type reiserfs  (rw,nosuid,nodev)
/dev/hda3          on /mnt/hda3      type reiserfs  (rw,nosuid,nodev)
/dev/hda6          on /mnt/hda6      type reiserfs  (rw,nosuid,nodev)
/dev/hda8          on /mnt/hda8      type reiserfs  (rw,nosuid,nodev)
/dev/hdc1          on /mnt/hdc1      type reiserfs  (rw,nosuid,nodev)
/dev/hdc2          on /mnt/hdc2      type reiserfs  (rw,nosuid,nodev)
/dev/hdc3          on /mnt/hdc3      type ext3      (rw,nosuid,nodev)
devpts             on /dev/pts       type devpts    (rw,gid=5,mode=620)
usbfs              on /proc/bus/usb  type usbfs     (rw,devmode=0666)
/dev/sdc           on /mnt/sdc       type vfat      (rw,noexec,nosuid,nodev,sync,
                                                     uid=1000,gid=1000,shortname=mixed,
                                                     quiet,umask=0002,showexec)
automount(pid3527) on /mnt/auto      type autofs    (rw,fd=4,pgrp=3527,minproto=2,maxproto=4)
/dev/sdd1          on /mnt/sdd1      type vfat      (rw,noexec,nosuid,nodev,sync,
                                                     uid=1000,gid=1000,shortname=mixed,
                                                     quiet,umask=0002,showexec)

con tutte le informazioni relative ai filesystem montati in un determinato momento (la tabella è stata qui formattata per esigenze di chiarezza, ma i vari campi spesso sono separati soltanto da spazi).

Ma la forma più frequente del comando mount è la seguente:

mount [-o opzioni] [-t tipo] device puntodimontaggio

mount /dev/hdc1 /mnt/hdc1                           
esempio generico
mount -t vfat /dev/fd0 /mnt/floppy                  
monta il primo floppy disk, formattato vfat, nel punto di montaggio /mnt/flopyy
mount [-t auto] /dev/hda10 /mnt/extra               
monta la partizione /dev/hda10 in /mnt/extra, effettuando l'autoriconoscimento del filesystem
mount -o ro, loop -t iso9660 nomeiso.iso /mnt/iso   
monta un'immagine iso (nomeiso.iso) nel punto di montaggio /mnt/iso



Il comando umount, invece, provvede a smontare un dispositivo montato. La sua forma generale è:

umount puntodimontaggio

umount /mnt/hdc1                                    
esempio generico








Configurazione (parte 1)
Editor di testo
Help - Aiuto - HowTo
Comandi Base (parte 4)


Amministrazione Linux
Guida a Vim
Guida Rapida Comandi
Pagine man online


Cap05.pdf
Lucidi 05 PDF



Un ricordo, un dolore, sono mobili. Ci sono giorni in cui fuggono così lontano che a stento li scorgiamo, e li crediamo andati via per sempre.
Marcel Proust (1871-1922)

Valid CSS!
pagina generata in 0.001 secondi