Prima di iniziare, � utile svolgere un breve ripasso di alcuni aspetti fondamentali dei sistemi Linux.
Ricordiamo innanzitutto i comandi:
- man [comando]: mostra la guida per un comando. Davvero utile se non ci ricordiamo qualcosa.
- ls: mostra il contenuto di una directory.
- mv [sorgente] [destinazione]: Se destinazione � una directory, sposta la sorgente (file o directory) nella directory di destinazione. Se sorgente e destinazione sono lo stesso file, rinomina il file.
- mkdir [nome_dir]: crea una directory.
- rm: cancella un file.
- rmdir: cancella una directory se � vuota.
- ps: visualizza i processi in esecuzione.
- find [nome]: cerca un file o una directory.
- sort [sorgente]: ordina un elenco sorgente (proveniente ad esempio da un file) in base a un criterio.
- grep [ricerca] [sorgente]: visualizza sullo schermo solo le righe di sorgente che che contengono ricerca.
- head/tail [sorgente]: i due comandi mostrano solo le prime o le ultime 10 righe di un file.
- chgrp / chown / chmod: cambiano i permessi dei file relativi a gruppo, proprietario, permessi.
Redirezione dell'input/output
Nella shell di Linux, come in praticamente tutte le interfacce testuali, i comandi hanno una sorgente e una destinazione dei dati standard. Cos� per esempio il comando "sort" di default visualizza il risultato dell'ordinazione sullo schermo:
sort mio_file.txt
Tuttavia potremmo voler inviare l'output di questo comando in un'altra direzione, ad esempio scriverlo su un file. In tal caso possiamo usare gli operatori di redirezione. In particolare:
- Caratteri < e > (maggiore e minore): sono usati per prendere o inviare i dati a / da un file.
- Carattere | (pipe): utilizzato per concatenare due o pi� comandi, cio� per prendere l'output di un comando e inviarlo all'input di un altro comando.
Vediamo due esempi. Se vogliamo salvare il risultato di sort su un file, possiamo scrivere:
sort mio_file.txt > mio_file_ordinato.txt
mentre se vogliamo ordinare il file
mio_file.txt e poi visualizzarne solo le righe contenenti la parola "er", possiamo scrivere:
grep er mio_file.txt | sort