Shell: manuale di base per l'uso

Visto che molte persone che ora si avvicinano a GNU/Linux credono la shell una  “oscura creatura dalla forza inimmaginabile”,  questo articolo vuole essere di aiuto proprio a queste che non riescono a capire quali forze possa avere questo magnifico programma. Iniziamo col dire che GNU/Linux prima di essere KDE, GNOME o XFCE è shell, quindi se si vuole avere un minimo di conoscenza di questo sistema operativo, secondo me è essenziale conoscere la riga di comando (o shell, terminale, bash…). Iniziamo allora😀

Usare la tastiera

Questa è una caratteristica finestra di un terminale (in questo caso, la mia Arch è equipaggiata di KDE4.3

Bruttino, eh?😀 Però molto potente.

Immaginiamoci la scena: scrivo un comando tipo “cd /Scrivania” (poi vedremo a cosa serve “cd”) e mettiamo caso che la cartella dove volevo andare non è “Scrivania” bensì “Scrivamia”, cosa facciamo?

Riscriviamo l’intero comando, ma non è una perdita di tempo?

Fortunatamente, il programmatore della shell ci ha pensato e per veder riapparire i comandi scritti in ordine ricorsivo inverso ((praticamente dall’ultimo che avete scritto fino al primo)) basta premere “SU”, il tasto con la freccetta che punta in alto per capirci😀

Un’altra tip molto utile è quella di usare il tasto “TAB” ((quello che si trova sopra il “Blocco Maiuscole” o “Bloc Maiusc” o “Tasto Con Il Lucchetto”)) per completare il nome di un comando oppure il nome di un file.

Ad esempio se nella cartella abbiamo tre file chiamati “peppe”, “antonio” e “francesco”, nel terminale basta scrivere “./pe” e premere TAB per vedere il nome del file autocompletarsi.

Casomai ci dovessero essere file che iniziano con una stessa parola, la funzione di autocompletamento si fermerà sino alla parte uguale per tutti i file, poi starà a voi finire di scrivere il nome del file/comando, oppure segnarsi la parte diversa, scriverla e premere TAB😀

Comandi principali

Quella che segue è una carrellata dei comandi principali che possiamo trovare di base in tutti i sistemi Unix-based (quindi Solaris, Linux, BSD, Mac OS X e via discorrendo).

Premettendo che, in questa carrellata, verranno descritti solo le opzioni principali dei vari comandi, per delucidazioni più esaustive basta scrivere “nomecomando –help”.

  • cd: importantissimo, permette di navigare fra le cartelle
  • rm: permette di eliminare file e cartelle
  • su: permette di acquisire i poteri di root ((o “Amministratore” o “SuperUtente” o “ColuiCheNonDeveEssereNominato” :D))
  • sudo: permette di acquisire i poteri di root solo per il tempo di un comando
  • ping: misura il tempo in millisecondi per far si che i pacchetti di dati arrivino a destinazione (funzione più usata: controllare se la connessione ad internet funziona)
  • ls: elenca file e cartelle della directory corrente
  • mkdir: crea una directory
  • cp: copia file e cartelle
  • mv: equivalente del comando “taglia” (usato anche per rinominare)

cd

Forse il comando più usato, cd ci permette di navigare nelle cartelle del nostro sistema.

Non ha molte opzioni, basta sapere che per entrare in una cartella bisogna scrivere

cd nomecartella

per tornare alla cartella superiore

cd ..

occhio allo spazio dietro i punti😉

Per ritornare alla home velocemente basta scrivere solo

cd

e dare invio.

rm

rm è il comando usato in ambienti Unix-like  per eliminare file o cartelle.

Per eliminare un singolo file si usa

rm nomefile

per eliminare una cartella con tutti i file all’interno

rm -R nomecartella

La “-R” significa ricorsivo, cioè elimina file e cartelle dall’ultima alla prima.

su

su è il comando usato per acquisire i poteri di amministratore per un tempo pari fino alla fine della sessione (fino a quando chiudiamo il terminale insomma);

essere amministratore significa avere completo controllo sul sistema, quindi quando si è in possesso di questi poteri BISOGNA FARE ATTENZIONE visto che si possono eliminare per sbaglio dei file importanti per il sistema.

Per diventare superutenti bisogna dare semplicemente

su

nel terminale, poi inserire la password di amministratore.

In Ubuntu, l’utente root non è abilitato e di conseguenza questo comando servirà a poco.

Per aggirare quest’ostacolo basta anteporre sudo davanti a su, come si vede nell’esempio:

sudo su

ATTENZIONE: comando non adatto ai novelli di GNU/Linux

sudo

sudo permette di acquisire i poteri di amministratore per il tempo di un comando; il suo utilizzo è molto semplice, basta anteporre lo stesso davanti al comando che vogliamo eseguire come amministratori:

sudo apt-get install emesene

Per essere incluso nei sudoers ((coloro che possono usare sudo. Eh si, non basta solo anteporre sudo, bisogna essere “nella lista”)) bisogna loggarsi come root e modificare il file /etc/sudoers. Per farlo è stato scritto un programmino apposito che si richiama attraverso

visudo

Per una piccola guida su come modificare /etc/sudoers ad arte, ho scritto un’altro articolo che potete trovare qui.

Per gli utenti Ubuntu: non avete bisogno di modificare il file /etc/sudoers per avere sudo abilitato, l’avete già pronto.

ping

ping è usato di solito per controllare se la nostra connessione ad internet funziona.

Se da risultato siamo a cavallo, se non lo da, proviamo a cambiare URL da pingare (verbo pingare: usare il comando ping) e se nemmeno cambiando indirizzo da risultato, allora internet non funziona.

Il suo utilizzo è semplice, basta scrivere il comando e un indirizzo web, come nell’esempio:

ping http://www.google.com

Semplice😉

ls

ls è il comando usato per elencare file e cartelle della directory dove ci siamo posizionati (usando cd). Il suo utilizzo è veramente semplice.

[gianguido@formattone ~]$ ls
Desktop/    2010-02-03-214821_1024x600_scrot.png
Downloads/
Immagini/
iPhone/
Nei sistemi Unix-like, i file nascosti presentano un “.” (si un punto) davanti al nome del file o cartella.
ls di norma non li visualizza, ma per far si che questo accada basta dare nel terminale
ls -a
e vedrete questi file magicamente rivelarsi🙂
mkdir

mkdir è il comando usato per creare cartelle. Il suo utilizzo è (ancora) molto semplice: basta scrivere il comando e il nome della cartella da creare, ad esempio:
mkdir cartella
Davvero semplice.
cp
cp copia file e cartelle.
Per copiare un singolo file:
cp file destinazione
per copiare più file in una volta
cp file1 file2 destinazione
Per copiare una cartella e tutti i suoi file
cp -R cartella destinazione
mv
mv è l’equivalente di “taglia”. Il suo uso non differisce da quello di cp.

Conclusione

Spero di essere stato il più esauriente possibile per quei pochi comandi che ho dato, e soprattutto che questa mini-guida sia servita a qualcuno🙂

Alla prossima😉

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...