GLM - 17/1/2018 - 1:31


Classifica dei relatori GLM 2014 (per numero di lezioni svolte)

  1. [9] Samuele Cacchiarelli
  2. [6] Andrea Bianchini
  3. [6] Gianluca Gabrielli
  4. [1] Matteo Ciccioli
  5. [1] Fabio Pagnotta
  6. [1] Alessandro Zampa
  7. [1] Emanuele
  8. [1] Roberto Marozzi
  9. [1] Giampiero Rubini

Vuoi diventare relatore GLM? presenta anche tu una lezione su un argomento che più ti piace relativo a Linux o al mondo dell'OpenSource


Archivio news

server glm
Il nostro Server

bella gnocca freebsd
FreeBSD It's Here!

Mercoledì 20 Giugno 2007 - La shell di Linux


Sesta Lezione del Corso Linux 2007: sono stati trattati i seguenti argomenti:

Il sistema operativo utilizzato è stato Linux DEBIAN "Etch".

Comandi utilizzati

Di seguito sono mostrati, come promemoria, solo alcuni dei comandi visti durante la lezione.

$ mkdir cartella\ musica

Il comando precedente crea una cartella chiamata "cartella musica". Da notare la presenza del carattere di ESCAPE "\" necessario per non far interpretare alla shell il carattere spazio come carattere speciale. Senza mettere "\" davanti allo spazio il comando precedente avrebbe creato 2 cartelle di nome "cartella" e "musica". Analogamente avremmo potuto racchiudere il nome della cartella da creare tra virgolette come nei comandi seguenti:

$ mkdir 'cartella musica'
$ mkdir "cartella musica"

Per eseguire più comandi in sequenza si usano i caratteri ';', '&&'

$ mkdir "cartella film"; cd "cartella film"; ls -al

Il comando precedente crea la "cartella film", vi entra dentro, e ne mostra il contenuto in forma estesa compresi i file nascosti.

$ mkdir "cartella film" && cd "cartella film" && ls -al

Come sopra con la differenza che se uno dei comandi non va a buon fine, la shell non passa al comando successivo.

Per eseguire uno o più comandi in background si usa il carattere '&'.

$ firefox & thunderbird & xclock &

Vengono eseguiti i programmi firefox, thunderbird, xclock contemporaneamente in background senza tenere impegnata la shell.

È possibile fare in modo che i programmi scrivano l'output non su schermo ma su un file, utilizzando il carattere '>'.

$ ls -a >tuttifile.txt

Viene scritto nel file tuttifile.txt l'elenco di tutti i file (compresi i nascosti) nella directory corrente.

Allo stesso modo, per fare in modo che un programma legga i dati da un file invece che dalla tastiera va utilizzato il carattere '<'.

$ fmt <email.txt

Viene mostrato a schermo il contenuto del file email.txt mandando a capo le linee lunghe. Naturalmente le due redirezioni si possono combinare.

$ fmt <email.txt >email-formattata.txt

Per passare l'output di un programma come input di un altro si usa il carattere '|' (pipe).

$ ls -a |less

Viene mostrato l'elenco di tutti i file della directory corrente, con la possibilità di scorrere in alto e in basso.

Se non si conosce quale comando svolge una funzione specifica, si può utilizzare il comando apropos seguito da parole chiave.

$ apropos "text formatter"
fmt (1) - simple optimal text formatter

Vengono mostrati tutti i comandi che nel nome o nella descrizione presentano la frase text formatter. La frase può essere anche in italiano, ma si potrebbero ottenere meno risultati (non tutti i comandi sono stati tradotti).

Una volta che conosciamo il nome di un programma, possiamo vedere come si utilizza attraverso il comando man.

man fmt

Per uscire dal manuale basta premere 'q'.


Links consigliati:
BASH Programming - Introduction HOWTO (italiano)
Advanced Bash-Scripting Guide (inglese, avanzato)
Guida avanzata di scripting Bash (trad. italiana aggiornata al 2005)

Relatore della serata:
Sergio Sbattentini