2.1 Copiare i file

cp (copy)

cp file1 file2 è il comando che crea una copia del file1 presente nella directory corrente e la chiama file2

Ciò che faremo adesso, è prendere un file memorizzato in un’area del filesystem ad accesso libero, e usare il comando cp per copiarlo nella tua directory corsolinux.

Per prima cosa, spostati nella directory corsolinux.

cd ~/corsolinux

Poi dal prompt di Linux, digita

cp /etc/passwd .

NOTA: Non dimenticarti il punto . alla fine. Ricordati in Linux il punto significa directory corrente.

Il comando precedente significa copia il file passwd nella directory corrente, mantenendo lo stesso nome.

Esercizio 2a

Crea una copia di backup del tuo file passwd copiandolo in un file chiamato passwd.copia.

2.2 Spostare i file

mv (move)

mv file1 file2 sposta (o rinomina) file1 in file2

Per spostare un file da un posto a un altro, usa il comando mv. Questo ha come effetto di spostare piuttosto che di copiare il file, quindi una volta usato il comando si avrà un’unico file invece di due.

Lo stesso comando può anche essere utilizzato per rinominare un file, spostandolo nella stessa directory, ma dandogli un altro nome.

Adesso sposteremo il file passwd.copia nella tua directory di backup.

Prima di tutto, spostati nella tua directory corsolinux (ti ricordi come?). Quindi, dentro la directory corsolinux, digita

mv passwd.copia backup

Digita ls e ls backup per vedere se ha funzionato.

2.3 Cancellare file e directory

rm (remove)

Per cancellare un file, usa il comando rm. Come esempio creeremo una copia del file passwd e quindi la cancelleremo.

All’interno della directory corsolinux, digita

cp passwd filetemp
ls rm filetemp
(se viene chiesta conferma della cancellazione rispondere premendo il tasto [s] e poi [Invio])
ls

Puoi usare il comando rm per eliminare una directory (assicurandoti prima che sia vuota).
Prova a rimuovere la directory backup.

Ti accorgerai che non ti è concesso, in quanto per rimuovere una directory devi aggiungere l’opzione -r al comando rm.

Esercizio 2b

Crea una directory chiamata robatemp usando il comando mkdir, quindi rimuovila usando il comando rm.

2.4 Visualizzare a schermo il contenuto di un file

clear (clear screen)

Prima di iniziare la sezione successiva potresti voler pulire la finestra del terminale dai precedenti comandi in modo da poter capire chiaramente  i messaggi che verranno stampati dai comandi successivi.

Al prompt, digita

clear

Questo cancellerà tutto il testo e ti lascerà con il prompt in alto nella finestra.

cat (concatenate)

Il comando cat può essere utilizzato per stampare il contenuto di un file a video. Digita:

cat passwd

Come puoi vedere, il file è più lungo della dimensione della finestra, e l’output scorre oltre rendendo il contenuto illeggibile (se così non fosse rimpicciolisci la dimensione della finestra per proseguire nell’esercitazione).

less

Il comando less visualizza il contenuto di un file una pagina alla volta. Digita

less passwd

Premi la [barra spaziatrice] se vuoi vedere la pagina successiva e premi il tasto [q] se vuoi uscire da less. Come puoi vedere, less è preferibile a cat per i file lunghi.

head

Il comando head stampa le prime dieci linee di un file a video.

Prima pulisci lo schermo, quindi digita

head passwd

successivamente prova a digitare

head -5 passwd

Che differenza ha apportato l’opzione -5 al comportamento del comando head?

tail

Il comando tail visualizza a terminale le ultime dieci linee di un file.

Pulisci lo scermo e digita

tail passwd

Domanda: Come puoi visualizzare le ultime 12 righe del file?

2.5 Cercare all’interno di un file

Semplice ricerca tramite less

Usando less, puoi cercare una parola chiave all’interno di un file di testo. Per esempio, per cercare la parola false in passwd, digita

less passwd

quindi, ancora mentre less è in esecuzione, premi [/] (ossia [SHIFT – 7]) seguito dalla parola da cercare

/false

Come puoi vedere, less trova e evidenzia la parola chiave. Premi il tasto [n] per cercare la successiva occorenza della parola. Per uscire, invece, il tasto è sempre [q].

grep

grep è una delle molti strumenti presenti in Linux. Analizza un file alla ricerca di specifiche parole chiave.

Prima pulisci lo schermo, quindi digita

grep False passwd

Come puoi vedere, grep ha stampato ogni linea contenente la parola False.

Oppure no?

Prova a scrivere

grep false passwd

Il comando grep è case sensitive cioè distingue tra Root e root.

Per ignorare le distinzioni tra maiuscole e minuscole, usa l’opzione -i, ad esempio digita

grep -i False passwd

Per ricercare una frase o più parole chiavi, devi racchiuderle tra apici singoli (l’apostrofo).
Per esempio per cercare ‘ daemon‘ (con uno spazio dopo il primo apice), digita

grep -i ‘ daemon’ passwd

Alcune delle altre opzioni di grep sono:

-v
visualizza quelle linee che NON hanno corrispondenze con il testo cercato

-n
precede ogni linea visualizzata con il numero della riga

-c
stampa soltanto il numero totale delle linee che contengono il testo ricercato

Provane qualcuna e osserva i differenti risultati che ottieni. Non dimenticare che puoi usare più di un’opzione alla volta. Per esempio, il numero di linee senza la parola False o false è

grep -ivc False passwd

wc (word count)

Una piccolo utile strumento è il comando wc, che permette di fare il conteggio delle parole presenti in un file. Per contare le parole in
passwd, digita

wc -w passwd

Per sapere quante linee ci sono nel file, digita

wc -l passwd

Sommario

Comando Significato
cp file1 file2 copia file1 e lo chiama file2
mv file1 file2 sposta o rinomina file1 in file2
rm file cancella un file
rm -r directory cancella una directory
cat file visualizza il contenuto di un file
less file visualizza il contenuto di un file una pagina alla volta
head file visualizza le prime 10 righe di un file
tail file visualizza le ultime 10 righe di un file
grep ‘parola chiave’ file cerca la parola chiave in un file
wc file conta il numero di righe/parole/caratteri presenti in un file

whitone@netstudent.polito.it, © 25 febbraio 2009
romen@netstudent.polito.it, © 9 novembre 2007
m.stonebank@surrey.ac.uk, © 9 ottobre 2000
Questa esercitazione è rilasciata sotto Creative Commons License