7. Le shell bash e C di Linux

Transcript

7. Le shell bash e C di Linux
7. Le shell bash e C di Linux - Knoppix
Tempo stimato: 15 minuti
Finalità
In questa esperienza imparerai come utilizzare le seguenti shell:
bash
csh
Apparecchiature necessarie
Per lo svolgimento di questa esperienza è richiesto:
o un calcolatore con Sistema Operativo Knoppix 3.9 o successive versioni.
Scenario
Accreditarsi (Login) ed eseguire la shell bash e la shell C. Eseguire alcuni comandi per confrontare le due
interfacce.
Procedure
Operazioni preliminari per gli utenti di Knoppix
Per prima cosa, fare click sull’icona che rappresenta il pinguino di Knoppix, per accedere alla shell a livello di
radice (root shell). Assegnare una propria password all’utente root con il comando passwd, rd immettere la
password due volte.
passwd
Changing password for user root.
Enter new UNIX password:
Retype new UNIX password:
La password verrà aggiornata di conseguenza.
Passo 1: Informazioni preliminari sulla shell
Rispondere alle seguenti domande:
1. Che cos’è una shell?
È un’interfaccia al programma interprete dei comandi (command processor). Questo programma interpreta il
testo digitato (input) dall’utente, e fornisce funzionalità che agevolano l’utente nell’immissione dei comandi.
Inoltre intercetta i messaggi (output) prodotti dall’esecuzione del comando e li inoltra all’utente.
2. Chi ha scritto le shell bash e C?
La shell C è stata scritta da Bill Joy e la shell bash è una produzione GNU
In questa esperienza si utilizzerà il commando Linux ps. Questo commando fornisce un’istantanea dei
processi (o lavori, job) ps in esecuzione. Prima di iniziare l’esperienza, leggere qualche altra informazione
sul comando ps digitando:
man ps
Quali sono le due opzioni (switches) più significative del comando ps?
-e ed –f
Note: Tutte le shell di Linux hanno molti attribute in commune. Per esempio, i seguenti comandi da tastiera
determinano le seguenti funzioni:
Ctrl-C Invia un segnale di interruzione per terminare un processo.
Ctrl-D Invia un comando di ‘end of file’ al commando attualmente in esecuzione.
Ctrl-Z Sospende l’esecuzione del programma corrente.
Passo 2: Operazioni della Shell
Se non si è già entrati (logged) nel sistema, accreditarsi ora come utente ‘root’. Per determinare la shell
corrente, digitare I seguenti comandi:
ps
e
echo $SHELL
Il comando echo restituirà al video (echo) le informazioni relative alla shell attualmente in uso.
Nota: Knoppix utilizza come default per l’utente ‘root’ la shell bash. Se si crea un utente ordinario, Knoppix
propone per default un altro tipo di shell, chiamata ‘sh’. Altre distribuzioni di Linux utilizzano convenzioni e
shell diverse. La finestra a video è analoga a quella riportata in precedenza? Qual è la shell corrente?
Si. Bash
Passo 3: La C Shell
1. Passare alla C shell. Da prompt, digitare:
csh
Che forma assume il prompt? Da che cosa differisce dal promt della shell bash?
Nella C shell il prompt è solo il carattere ‘#’.
2. Eseguire di nuovo il comando ps, digitare:
ps
Descrivere l’esito (output) di questo comando:
Le indicazioni più significative sono l’utilizzo iniziale della shell bash, e poi l’esecuzione del comando csh.
Entrambi i processi hanno il proprio PID.
La finestra presente sullo schermo è simile a quella riportata in precedenza?
Si
Qual’è il Process Identification (PID) per la shell csh in questo calcolatore?
È variabile. Nella schermata precedente ha il valore 3972.
Passo 4: Uscire dalla shell C
Dall’interno della shell C digitare:
exit
In quale shell va a finire l’utente?
bash
Come si può verificare ciò?
Eseguire nuovamente il comando ps.
Passo 5: Uscire dalla shell bash
Dall’interno della shell bash digitare:
exit
In quale shell va a finire l’utente questa volta?
La finestra di dialogo (terminal window) viene chiusa e l’utente viene posizionato nel desktop.
Passo 6: Trucchi utili per le Shell
Se la finestra a linea di commando è stata chiusa, come suggerito al passo precedente, riaprirne una come
utente ‘root’ ricorrendo alla solita icona del pinguino Knoppix. Ci sono molti comandi attivabili da tastiera che
arricchiscono le funzionalità della shell bash. Ad esempio, se ci si ricorda che un comando inizia con i
caratteri gre, ma abbiamo dimenticato il resto del comando, proviamo digitando:
gre (e poi premere il tasto Tab)
Che cosa si ottiene?
grep
Ora andiamo nuovamente nella shell C (digitando csh) e proviamo lo stesso comando, digitando:
gre (e poi premere il tasto Tab)
Lo stesso comando funziona anche con la shell C? Spiegare perchè.
No, la shell C non possiede la caratteristica di completamento tramite Tab
Uscire dalla shell C digitando
exit
Passo 7: Percorrere la struttura dei file
Digitare:
cd /
Con questo commando si raggiungerà direttamente la radice dell’albero che rappresenta la struttura dei file,
/. Digitare ora:
cd /h (e poi premere il tasto Tab)
Il commando viene completato automaticamente?
Si
Premere il tasto Invio. Qual’è la directory corrente?
/home
provare la medesima sequenza di tasti nella shell C. Il completamento automatico funziona anche nella C
shell?
No
Riflessione
Le shell di Linux generalmente non sono considerate gradevoli da utilizzare. Tra le due shell, bash e C,
quale è la più semplice da utilizzare e perchè?
La shell bash è la più semplice. L’utente può lavorare più velocemente.

Documenti analoghi

Bash: history list (I)

Bash: history list (I) In questo caso alla prima doppia pressione del tasto Tab, la shell presenta tre possibili alternative; digitando una a e premendo il tasto Tab, la shell ha una quantità di informazione sufficiente...

Dettagli

Shell_scripting

Shell_scripting Sintassi diversa in base alla shell Nel caso di bash

Dettagli

La guida di Bash per i principianti

La guida di Bash per i principianti 3.4.5. La sostituzione dei comandi...........................................................................................64

Dettagli