|
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
|