[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico] [volume] [parte]


Capitolo 28.   Creazione, copia ed eliminazione di file

La creazione, la copia e l'eliminazione dei file sono operazioni elementari, ma importanti e delicate. Questa esercitazione deve essere fatta con cura e attenzione.

28.1   Creazione di un file

Esistono vari modi per creare un file. Il modo più semplice per creare un file vuoto è quello di usare il comando touch. Prima di tutto ci si sposta nella propria directory personale, che è il luogo più adatto per questo genere di esercizi.

cd[Invio]

touch pippo[Invio]

Dopo aver usato il comando touch per creare il file pippo non si ottiene alcuna conferma dell'avvenuta esecuzione dell'operazione. Questo atteggiamento è tipico dei sistemi Unix i cui comandi tendono a non manifestare il successo delle operazioni eseguite. Si può comunque verificare.

ls -l pippo[Invio]

-rw-rw-r--   1 tizio    tizio           0 Dec 23 10:49 pippo

Il file è stato creato.

In questa fase degli esercizi, in cui non è ancora stato descritto l'uso di un programma per creare o modificare file di testo, è possibile vedere un metodo semplice per creare un file del genere. Si utilizza il comando cat in un modo un po' strano che viene chiarito più avanti.

cat > pippo2[Invio]

Da questo momento inizia l'inserimento del testo come nell'esempio mostrato qui di seguito.

Esiste anche un modo semplice di scrivere[Invio]

un file di testo.[Invio]

Purtroppo si tratta di una scrittura a senso unico.[Invio]

[Ctrl d]

L'inserimento del testo termina con la combinazione [Ctrl d].(1)

Si può verificare che il file sia stato creato e contenga il testo digitato.

cat pippo2[Invio]

Esiste anche un modo semplice di scrivere
un file di testo.
Purtroppo si tratta di una scrittura a senso unico.

28.2   Copia di file

La copia dei file può essere fatta attraverso l'uso del comando cp.

cp pippo2 pippo3[Invio]

Eseguendo il comando appena mostrato, si ottiene la copia del file pippo2 per generare il file pippo3. Come al solito, se tutto va bene non si ottiene alcuna segnalazione.

La copia di un gruppo di file può avvenire solo quando la destinazione (l'ultimo nome indicato nella riga di comando) è una directory già esistente.

cp pippo pippo2 pippo3 /tmp[Invio]

Con il comando precedente si copiano i file creati fino a questo punto nella directory /tmp/. La stessa cosa si può fare in modo più semplice utilizzando i caratteri jolly.

cp pippo* /tmp[Invio]

28.3   Eliminazione di file

L'eliminazione dei file avviene normalmente per mezzo di rm. L'uso di questo comando deve essere fatto con molta attenzione, specialmente quando si agisce con i privilegi dell'utente root. Infatti, la cancellazione avviene senza obiezioni e senza richiedere conferme. Può bastare un errore banale per cancellare tutto ciò a cui si può accedere.

rm pippo pippo2[Invio]

Il comando appena mostrato elimina definitivamente e senza possibilità di recupero i file indicati: pippo e pippo2.

La cancellazione dei file può avvenire anche indicandone un gruppo attraverso l'uso dei caratteri jolly. L'uso di questi simboli rappresenta un rischio in più. Generalmente, quando non si ha ancora una buona preparazione e si può essere incerti sull'effetto di un comando di eliminazione, conviene prima controllare il risultato, per esempio attraverso ls.(2)

Volendo cancellare tutti i file il cui nome inizia per pippo, si potrebbe utilizzare il modello pippo*. Per sicurezza si verifica con ls.

ls pippo*[Invio]

pippo3

Risulta corrispondere al modello solo il file pippo3. Infatti, poco prima sono stati cancellati pippo e pippo2. In ogni caso, si vede che il modello è corretto e si procede con la cancellazione (tuttavia si deve fare attenzione ugualmente).

rm pippo*[Invio]

L'uso distratto di questo comando di eliminazione, può produrre danni gravi. Si pensi a cosa può accadere se, invece di digitare rm pippo* si inserisse accidentalmente uno spazio tra la parola pippo e l'asterisco. Il comando sarebbe rm pippo * e produrrebbe l'eliminazione del file pippo (se esiste) e successivamente l'eliminazione di tutti i file contenuti nella directory corrente (questo è ciò che rappresenta l'asterisco da solo). Come è già stato spiegato, rm non fa domande, così come accade con gli altri comandi, nel rispetto delle tradizioni Unix: quello che è cancellato è cancellato.

28.4   Conclusione

La creazione di file, normalmente vuoti, la copia e l'eliminazione, sono operazioni elementari ma fondamentali. Nella loro semplicità si tratta comunque di funzionalità che richiedono un po' di attenzione, soprattutto quando si interviene con i privilegi dell'utente root: con la copia si potrebbero sovrascrivere file già esistenti, con la cancellazione si potrebbe intervenire in un ambito diverso da quello previsto o desiderato.

Appunti di informatica libera 2007.02 --- Copyright © 2000-2007 Daniele Giacomini -- <daniele (ad) swlibero·org>


1) La combinazione di tasti [Ctrl d] termina l'inserimento di un testo se ciò viene fatto dopo aver concluso l'ultima riga, premendo [Invio], diversamente, la combinazione [Ctrl d] deve essere premuta due volte di seguito.

2) Per la precisione, sarebbe più opportuno l'uso del comando echo, che però non è ancora stato mostrato.


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome creazione_copia_ed_eliminazione_di_file.htm

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico]

Valid ISO-HTML!

CSS validator!