Sei sulla pagina 1di 2

Bash shell: una guida pratica - Parte 1 - a cura di Freeonline.it - Articol... http://www.freeonline.org/articolo_linux_dtml/a-291/guida_bash_shel...

Bash shell: una guida pratica - Parte 1

di Vincenzo Ciaglia

Una semplice ma pratica guida. In questa prima parte vediamo i comandi


fondamentali ed una introduzione.

Introduzione
Ogni volta che digitiamo un comando sulla nostra console o
quando lanciamo un programma tramite il famoso click, o
doppio click, su una delle icone del nostro desktop il sistema
operativo intrepreta la volontà dell'utente attraverso una shell
di comando. Ma cos'è esattamente una shell? Quali sono i
suoi scopi e i suoi principali usi? In questa serie di articoli
capiremo proprio questo: una guida di base per tutti coloro
che si avvicinano a Linux ma che vogliono imparare da subito
ad amministrare il proprio sistema dalla linea di comando e senza artifizi grafici.

/bin/sh: bourne again!


La shell è sicuramente una delle parti più importanti dell'intero sistema
operativo. Essa è l'interprete dei comandi dati in input dall'utente e non fa altro
che eseguirli. Sui sistemi Unix, la shell più famosa ed usata, dalla quale deriva
anche quella di Linux, è la shell bourne. La versione migliorata prende il nome
di “bourne again” shell o BASH. E' la shell più usata negli ambienti Linux
anche se ne esistono altre: la Public Domain Korn Shell (PDKSH), la shell TCSH
e la Z-Shell. Tutte le principali distribuzioni GNU/Linux usano la shell bash anche
se permettono di usare tutte le altre. Di solito, però, la shell bash è quella usata
di default dal nostro amato sistema operativo e anche noi la consideriamo tale.

Comandi fondamentali
Dopo questa breve introduzione siamo dunque pronti per partire alla scoperta
dei comandi fondamentali della shell bash.

cp
Esempio: cp tux1 tux2
cp tux1 ... tuxN dir/

Il comando cp (copy) viene utilizzato per creare delle copie conformi dello
stesso file su più parti del sistema, in un nuovo file o in qualche directory. Con il
primo comando, infatti, copieremo il contenuto del file tux1 nel file tux2 mentre
col secondo copieremo tutti i file tuxN nella directory indicata (dir/).

mv
Esempio: mv tux1 tux2
mv tux1 ... tuxN dir/

Il comando mv (move) utilizzato nella prima espressione permette di rinominare


il file tux1 in tux2. Nella seconda espressione sposta, invece, tutti i file indicati
nella directory prescelta (dir/).

touch
Esempio: touch tux

Il comando touch crea un nuovo file. Se il file che si vuole creare, tux, già
esiste, touch non lo cambierà ma ne aggiornerà soltanto la marcatura
temporale mostrata nell'elenco prodotto dal comando “ls -l”.

rm
Esempio: rm tux

Il comando rm (remove) rimuove un file dal sistema. Il file, però, una volta
eliminato sarà irrecuperabile. Attenzione, quindi!

echo
Esempio: echo Sono un lettore di TuxJournal.net

Il comando echo stampa i suoi argomenti, in questo caso “Sono un lettore di


TuxJournal.net”, nello standard output.

cd
Esempio: cd tuxdir

Il comando cd permette di cambiare la directory corrente e di portarsi in quella


desiderata (tuxdir/)

1 di 2 31/01/2007 10.44
Bash shell: una guida pratica - Parte 1 - a cura di Freeonline.it - Articol... http://www.freeonline.org/articolo_linux_dtml/a-291/guida_bash_shel...

desiderata (tuxdir/).
Se si omette l'argomento dopo il comando (tuxdir), la shell torna alla directory
home.

mkdir
Esempio: mkdir tuxdir

Il comando mkdir crea una nuova directory.

rmdir
Esempio: rmdir tuxdir

Il comando rmdir elimina una directory vuota. Se la directory in questione non è


vuota, rmdir, non eliminirà quest'ultima. Per farlo bisognerà eliminare prima
tutti i file contenuti in essa e poi eseguire il comando. E' comunque possibile
utilizare il comando “rm -rf tuxdir” per eliminare una directory e tutto il suo
contenuto. Attenzione, però, a quello che fate. Questo comando, soprattutto se
eseguito come utente root, può essere fatale al vostro sistema.

grep
Esempio: grep tuxjournal /home/magazines

Il comando grep stampa le righe tratta da un flusso di file o di input che


corrispondono ad una espressione. Nell'esempio proposto, grep, troverà nel file
magazines nella directory /home ogni riferimento a tuxjournal e lo stamperà in
output. Tante sono le funzioni associate a questo comando. Se volete ad
esempio trovare ogni riferimento alla parola tuxjournal in tutti i file della cartella
/home, è possibile farlo con il comando “grep tuxjournal /home/*”.

more e less
Esempio: more tuxjournal
less tuxjournal

I comandi less e more vengono principalmente usati quando si ha a che fare


con dei file ti testo troppo lunghi e in ogni modo scomodi da leggere. Quando
visualizziamo un file troppo lungo ed utilizziamo il comando “more”
visualizzeremo il contenuto di quest'ultimo una schermata alla volta. Per andare
avanti col testo basta premere la barra spaziatrice e per tornare indietro il tasto
b. Per uscire, digitare il tasto q. Il comando “less”, invece, è molto più potente
di more anche se svolge quasi le stesse funzioni. Con l'opzione “less –help”, per
esempio, è possibile ottenere un buon riepilogo delle operazioni del comando.

pwd
Esempio: pwd

Acronimo di “directory di lavoro di stampa” è il comando che mostra la directory


di lavoro corrente.

diff
Esempio: diff tux1 tux2

Il comando diff è molto utile per scovare le differenze tra due file di testo.
Digitando il comando dell'esempio, infatti, è possibile vedere in output quali
sono le sostanziali differenze tra i file di testo tux1 e tux2.

file
Esempio: file tuxfile

Il comando file è molto importante quando vedere un file e non siete sicuri del
formato. Provate ad utilizzarlo per vedere se il vostro amato sistema riesce a
indovinare sulla base di un vasto set di regole.

Conclusioni
La prima parte di questa intensa guida di base alla bash shell si è qui conclusa.
Nella seconda parte analizzeremo altri comandi imparando sicuramente
qualcosa in più rispetto ad oggi. Parleremo di caratteri speciali e jolly, editor di
testo, tasti di selezione rapida e molto altro ancora. Alla prossima, dunque!

2 di 2 31/01/2007 10.44

Potrebbero piacerti anche