Un utente avanzato che voglia definirsi tale deve necessariamente interagire con la riga di comando: la shell dei sistemi Unix. Tutti i comandi dei paragrafi seguenti sono digitati dalla console della shell. Per accedere ad una console potete usare due modi: cliccare sul simbolo (tipicamente una conchiglia13) disponibile nel vostro ambiente grafico preferito KDE/GNOME per accedere ad una console grafica oppure premere contemporaneamente Ctrl-Alt-F1 (per tornare alla grafica premere Ctrl-Alt-F7) per accedere ad una console di testo. Se usate il secondo metodo, dovrete rifare l'ingresso (login) nel sistema per ottenere l'invito (prompt) di una console di testo, reinserendo nome14 e parola d'ordine (password)15:
Password: ******
shell di login
Questa è la modalità usata se si fa il login nel sistema da una console di testo. Il sistema leggerà le impostazioni nel file /etc/profile e leggerà poi anche /home/<utente>/.bash_profile se esiste. Il primo file contiene impostazioni valide per tutti gli utenti del sistema, il secondo contiene impostazioni valide solo per un determinato utente.
shell interattiva
Questa è la modalità usata quando si fa partire un emulatore di terminale (la console); vengono lette le impostazioni nel file ~/.bashrc se esiste17. In pratica, dopo aver fatto il login ed ottenuto l'invito dal sistema voi usate la shell in modalità interattiva, se digitate dei comandi.
shell non interattiva
Questa è la modalità usata quando si usa la shell come un interprete18, per l'esecuzione di script. In gergo Unix uno script è un file di testo, contenente istruzioni che l'interprete shell può capire, che l'utente ha il permesso di mandare in esecuzione. Se si invia in esecuzione un file di questo tipo, il sistema cerca una prima linea nella forma:
Segue un semplice esempio per chiarire il concetto di script. Creiamo da root il file misc_custom col nostro editor preferito scrivendoci dentro:
e salviamo il file col nome indicato. Il comando che abbiamo inserito in seconda riga attiva il DMA sul disco fisso identificato come ``hda''. Aggiungiamo al file appena creato il permesso di esecuzione:
setting using_dma to 1 (on)
setting keep_settings to 1 (on)
using_dma = 1 (on)
keepsettings = 1 (on)
kppp è un programma a corredo del KDE per la connessione internet via modem avviato cliccando col mouse sull'apposita icona. Supponiamo che cliccando sull'icona il programma non si avvii. Ebbene, per investigare sul perché avviamolo allora dalla console:
bash: /usr/bin/kppp : permission denied
Mauro Darida 2006-07-25