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