Gestione dei file


Cambiare directory di lavoro
Cancellare file o cartelle
Copiare dei file
Creare una nuova directory
Rinominare o spostare dei file
Visualizzare il contenuto di un file
Visualizzare la lista di file e cartelle

Operazioni sui file


Contare il numero di parole, caratteri e linee di un file
Inserire l'output di un comando su un file
Aggiungere l'output (di testo) di un comando ad un file esistente
Cercare determinate linee all'interno di un file
Ordinare secondo un certo ordine le linee di un file
Individuare linee ripetute in un file
Visualizzare l'output una schermata alla volta
Eseguire più comandi alla volta

Comandi principali da usare in UNIX per la gestione dei file

Comando UNIX

Descrizione Comando

cd Serve per cambiare la directory di lavoro indice
ls Serve per visualizzare la lista dei file e delle directory contenute nella directory aperta
Opzioni
-a Visualizza tutti i file contenuti nella cartella compresi quelli nascosti. In UNIX i file nascosti sono quelli il cui nome comincia con un punto come ad esempio il file.profile. Esempio di sintassi ls -a
-l Visualizza tutte le informazioni concernenti i file contenuti nella cartella. Le informazioni sono: natura dell'oggetto (indica se si tratta di un file o di una directory), modalità di accesso, numero di links, proprietario del file, gruppo di appartenenza del file, data e ora dell'ultima modifica, nome del file. Esempi di sintassi:
ls -l
o unito all'opzione precedente,
ls -al.
-F Inserisce uno slash alla fine del nome delle cartelle contenute nella directory e un asterisco alla fine del nome dei file eseguibili
indice
mkdir Serve per creare una nuova directory all'interno della directory di lavoro indice
rm Serve per rimuovere dei file o delle cartelle dalla cartella di lavoro o da altre cartelle (se ne viene specificato il percorso).
Opzioni
-i (es. rm -i): visualizza un prompt che richiede la conferma dell'eliminazione.
* (es rm *): elimina tutti i file contenuti nella directory
indice
cp Serve per copiare un file: la sintassi corretta del comando è: cp file_esistente nuovo_file. indice
mv Serve per rinominare o spostare dei file. La sintassi corretta è:
mv vecchio_nome nuovo_nome.
Se in nuovo_nome viene indicato un percorso completo il file verrà spostato nella posizione indicata dal percorso
N.b.: Questo comando elimina il file o il nome indicato in vecchio_nome
indice
cat Serve per visualizzare su schermo il contenuto di uno o più file. Il contenuto verrà visualizzato per linee sullo schermo all'interno dell'ambiente UNIX. La sintassi del comando è
cat file_1 file_2 ... file_n.
Il contenuto dei file verrà visualizzato per linee di seguito. Nel caso in cui il contenuto sia molto esteso è possibile concatenare il comando con il comando more
indice

Comandi per effettuare operazioni sui file

Comando UNIX

Descrizione Comando

wc Serve per contare il numero di parole all'interno di un file. Restituisce tre valori: il numero delle righe; il numero delle parole e il numero dei caratteri indice
> Serve per inserire l'output di un comando qualsiasi su un nuovo file.
Per esempio è possibile inserire il contenuto di un file in un nuovo file tramite il comando:
cat file_1 > file_2
oppure inserire del testo in un nuovo file tramite il comando
Testo da inserire nel nuovo file > file_3.
In quest' ultimo esempio il contenuto del file_3 sarà la stringa di testo: "Testo da inserire nel nuovo file".
indice
>> Serve per aggiungere a un file già esistente l'output (di testo) di un comando.
Per esempio è possibile aggiungere il contenuto di un file esistente ad un altro file esistente tramite il comando:
cat file_1 >> file_2
indice
grep Serve per cercare all'interno di un file quelle linee che rispettano un certo schema.
La sintassi del comando è: grep schema nome_file
Per schema si può intendere qualsiasi espressione, dalla stringa semplice a stringhe contenenti caratteri jolly (*, ? o [] )
N.b.: ricorda che UNIX è case-sensitive
Opzioni
-v recupera le linee che non corrispondono allo schema (molto utile per creare un file secondario da cui escludere tutta una serie di linee indesiderate. Per farlo basta un comando del tipo $ grep "Titolo" file_1 > file_2. Il risultato è un file in cui non è presente nessuna riga corrispondente alla stringa "Titolo")
-n recupera la linea corrispondente allo schema e riporta anche il numero della linea
-l produce in output una lista dei files che contengono almeno una linea corrisponedente allo schema (utile nel caso di ricerche fatte su più file)
-c produce in output il conteggio delle linee corrispondenti allo schema all'interno del file o dei file oggetto della ricerca
-i rende la ricerca case-insensitive per cui non si preoccupa se i caratteri sono maiuscoli o minuscoli
-f È un'opzione molto interessante. Da inserire al posto dello schema seguita da un nome di file. Utilizza le righe contenute nel file come schema per l'operazione di ricerca. Utilizzato in concomitanza con l'opzione -v può servire per eliminare da un file tutte le righe che coincidono con quelle contenute in un altro file.
Vedi il file del manuale di UNIX per questo comando.
indice
sort Serve per ordinare secondo un certo ordine le linee di un file. Se non viene indicata nessuna opzione di ordinamento il comando ordinerà in ordine alfabetico e numerico secondo il primo carattere della linea (in caso di uguaglianza ordinerà il secondo, e così via).
Opzioni
-n Mette in ordine numerico. In questo caso la linea 10 banana verrà dopo la linea 2 cocomero (mentre nell'ordine alfabetico sarebbe il contrario).
-r Ordina secondo l'ordine inverso
-f Non fa distinzione nell'ordine tra lettere maiuscole e lettere minuscole
+x x deve essere un valore numerico. Nell'ordinare il sistema ignorerà i primi xcampi. Il sistema intenderà come divisione tra campi gli spazi vuoti.
indice
uniq Serve per rintracciare all'interno di un file le linee identiche. Usato senza opzioni il comando visualizzerà tutte le linee del file. Nel caso in cui ci sia una linea che ne segue una identica verrà visualizzata una sola occorrenza della linea. Per questo motivo per recuperare delle linee duplicate che si trovano in diversi punti del file è necessario effettuare prima il comando sort e successivamente il comando uniq.
Opzioni
-u Esclude dalla visualizzazione tutte le linee che si ripetono (sempre in maniera sequenziale) lasciando solo quelle che sono presenti una sola volta.
-c Inserisce prima di ogni linea il numero di volte che essa viene ripetuta
-x x deve essere un carattere numerico. Rappresenta il numero di campi da saltare prima di cercare la stringa che deve essere usale. Nel caso di un comando del tipo uniq -1 le linee:
il cane
un cane
vengono riconosciute come uguali. Verrà pertanto visualizzata solo la prima occorrenza.
indice
more Serve per visualizzare l'output di qualsiasi comando una schermata o una riga alla volta. Nel caso di un grosso file di testo, ad esempio, è possibile usare il comando cat file_1 | more oppure direttamente more file_1 per visualizzare il contenuto del file una schermata alla volta. more non è esattamente un comando, bensì un vero e proprio programma.
TASTI FUNZIONE DI more
h Visualizza una schermata di aiuto che spiega i tasti da usare all'interno di more
barra spaziatrice Passa alla schermata successiva
b Passa alla schermata precedente
INVIO Avanza di una riga
indice
| Serve per aggiungere un comando su una stessa linea di comando. Attraverso questa opzione il sistema applicherà il secondo comando all'output del primo, senza la necessità di passare per un file di passaggio.
Per esempio il comando ls -l | sort +1 effettuerà una lista dei file contenuti nella cartella e li ordinerà seguendo l'ordine del secondo campo delle informazioni
indice