Bash shell: una guida pratica - Parte 1
di Vincenzo CiagliaUna 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/).
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!
Ti sono rimasti dubbi? Chiedi
aiuto sul forum Linux o sul forum
di TuxJournal
Altri articoli e news su Linux puoi trovarle su TuxJournal.net