Dimensione: 2141
Commento:
|
Dimensione: 8288
Commento: Sostituzione del documento e prima formattazione
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 1: | Linea 1: |
||<tablestyle="float:right; font-size: 0.9em; width:40%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;">'''Contents'''[[BR]][[TableOfContents]]|| | [[BR]] ||<tablestyle="float:right; font-size: 0.9em; width:30%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;">'''Indice:'''[[BR]][[TableOfContents]]|| |
Linea 3: | Linea 4: |
Documento originale: https://help.ubuntu.com/community/CommandlineHowto |
= A cosa serve la shell = Le definizioni shell, terminale, linea di comando indicano tutti e tre un dispositivo ad interfaccia testuale che può servire a svolgere gran parte delle mansioni in un sistema operativo. Muoversi attraverso il file system per creare/cancellare/rinominare file, scaricare/installare/disinstallare programmi, settare l'hardware, creare script e molte altre cose.[[BR]] Tante delle azioni sopra elencate, come noto alla maggior parte degli utenti, possono essere svolte tramite programmi ad interfaccia grafica. La shell può essere utile qualora sussistano dei malfunzionamenti di tali programmi, oppure non esistano programmi ad interfaccia grafica per certe mansioni o semplicemente perché l'utente ritiene comodo usarla. |
Linea 6: | Linea 8: |
= Introduzione = Ubuntu è una distribuzione linux caratterizzata da un'interfaccia grafica semplice e gradevole, e rappresenta l'ideale punto di partenza per coloro che si avvicinano ad un sistema GNU/Linux per la prima volta. Tuttavia, alcune operazioni necessarie per l'amministrazione del sistema richiedono ancora di impartire dei comandi da tastiera attraverso un'interfaccia a caratteri (Linea di Comando, dal termine inglese Command Line); ciò si traduce in un maggiore controllo sul sistema e, con un briciolo di esperienza, anche in un non trascurabile risparmio in termini di tempo. D'altra parte non bisogna dimenticare che Linux è un sistema operativo di tipo unix, in cui la Linea di Comando costituisce la principale finestra di interazione con il calcolatore. Non spaventatevi: sebbene al principio possa sembrare uno strumento un po' esoterico, presto diventerà nelle vostre mani, pardon: sotto i vostri polpastrelli ;-) un 'coltellino svizzero' cui non saprete più rinunciare. |
= Come funziona la shell = Cerchiamo di capire come funziona la shell prendendo ad esempio un utente che durante l'installazione, fra le varie cose ha impostato:[[BR]] ''nome utente:'' '''pippo'''[[BR]] ''nome computer:'' '''miopc'''[[BR]] Questo utente all'interno della directory `home` avrà un'altra directory con il suo stesso nome, cioè `pippo` (percorso: `/home/pippo`). Questa cartella è anche nota come '''home-utente'''. Per avere un quadro completo del file system, potete accedervi dai menù ''`Risorse -> Computer`'', cliccando sull'icona ''File system'' o selezionando ''File system'' dalla barra laterale di sinistra. |
Linea 9: | Linea 14: |
== Di cosa si tratta? == Una Linea di Comando è molto semplicemente, un'interfaccia utente basata su, lo dice la parola stessa, linee di comandi. Tecnicamente non è altro che un '''processore seriale diretto a carattere'''; più comunemente l'utente interagisce con il computer introducendo dei caratteri direttamente da tastiera lungo, appunto, una linea o riga (ovviamente anche più di una se il caso lo richiede), cosa che induce una risposta da parte del calcolatore, sulla base della sintassi propria del processore testuale citato poco sopra.[[BR]] Ora prima che le cose inizino a sembrare più complicate di quanto non siano in realtà, procediamo oltre. /!\ Chi non vede l'ora di scaldare i polpastrelli può procedere fin d'ora al paragrafo intitolato ''' Sintassi dei Comandi''', nei prossimi paragrafi ricostruiremo in breve la '''biografia''' della nostra Linea di Comando. |
## Immagini: file system con la home cerchiata + home utente + contenuto home utente Nella shell la '''home-utente''' viene generalmente indicata con questo simbolo '''~''' chiamato “tilde”. Per ottenerlo occorre digitare i tasti [AltGr]+[ì]. Aprendo un terminale (''`Applicazioni -> Accessori -> Terminale`'') quello che vedrà il nostro utente pippo, sarà questo:[[BR]] || {{{pippo@miopc:~$}}} || ## possibile immagine della shell Questo messaggio ci dice che l'utente '''pippo''', all'interno del computer '''miopc''', si trova attualmente nella sua '''home-utente''', cioè `pippo`, cioè '''~'''.[[BR]] Il simbolo ''$'' rappresenta la modalità "utente". Esiste anche una modalità amministratore (comando: `sudo su`) caratterizzata dal simbolo ''#'', che però in Ubuntu capita di vedere di rado. Si veda a tal proposito la pagina [http://wiki.ubuntu-it.org/Sudo Sudo]. Per avere conferma di essere nella cartella pippo, il nostro nuovo utente può dare il comando pwd, che serve a visualizzare il percorso attuale in cui si trova la shell. Quindi pippo digiterà pwd:[[BR]] || {{{pippo@miopc:~$ pwd}}} || dopo aver dato l'invio (ovviamente va sempre dato l'invio per far partire un comando) otterrà:[[BR]] {{{ /home/pippo }}} Se invece darà il comando “ls”, otterrà la lista dei file presenti nella cartella pippo.[[BR]] Il nostro utente può muoversi attraverso il file sistem con la shell usando il comando cd. Supponiamo voglia spostarsi nella cartella doc (percorso: `/usr/share/doc`). Dovrà dare il comando `cd /usr/share/doc`[[BR]] || {{{pippo@miopc:~$ cd /usr/share/doc}}} || ed otterrà[[BR]] || {{{pippo@miopc:/usr/share/doc$}}} || Si noti che ora alla sinistra del simbolo $, ci viene indicata la nostra nuova posizione nella cartella doc. Abbiamo quindi capito che con la shell ci possiamo spostare “a spasso” per il file system e al suo interno sarà possibile eseguire i comandi di cui abbiamo bisogno.[[BR]] Sulla guida ComandiBase potrete familiarizzare con i comandi basilari. Questa guida procede ora con alcuni esempi pratici e relativi suggerimenti sull'uso della shell. = Esempi & Suggerimenti = == AUTOCOMPLETAMENTO == Per evitare di digitare ogni singola lettera scrivendo per es. /home/home-utente/Desktop, si può usare il tasto [TAB] quello con le due frecce alla sinistra del tasto della lettera “Q”. Digitando /h e cliccando sul tasto [TAB], la stringa si autocomleta in /home/, ripetendo /home/h + [TAB] = /home/home-utente/ e così via fino ad ottenre /home/home-utente/Desktop. == PERCORSI == Per agire sui file (creare, rimuovere, spostare, copiare, ecc.) occorre indicare il percorso delle cartelle, oppure spostarsi all'interno della directory in cui si trova il file. Per esempio supponiamo con il comando '''rm''' di voler rimuovere il file canzone.ogg che si trova in `/home/home-utente/Desktop`. Si può dare subito il comando con il percorso[[BR]] {{{ rm /home/home-utente/Desktop/canzone.ogg }}} oppure prima ci possiamo spostare nella directory `Desktop`[[BR]] {{{ cd /home/home-utente/Desktop }}} e poi dare il comando[[BR]] {{{ rm canzone.ogg }}} -COMANDO SENZA PERCORSO: Dalla shell certi comandi si possono lanciare indipendentemente dalla directory in cui ci troviamo. Un esempio puo essere l'installazione di programmi tramite apt-get:[[BR]] {{{ sudo apt-get install nome_programma }}} == SPAZI == È importante rispettare gli spazi nelle linee di comando.[[BR]] Nel caso precedente, usando `rm /home/home-utente/Desktop/canzone.ogg` è stata rispettata questa forma:[[BR]] comando (spazio) percorso file.[[BR]] Ci vorrà più attenzione se aumentano gli input. Per esempio supponiamo di avere un file chiamato canzone.ogg nel `Desktop` e di volerne creare una copia con il nome `song.ogg` in una sotto-cartella del `Desktop` chiamata `archivio_musica`. Usando il comando '''cp''' si ha:[[BR]] {{{ cp /home/home-utente/Desktop/canzone.ogg /home/home-utente/Desktop/archivio_musica/song.ogg }}} Comando (spazio) percorso file (spazio) percorso file copiato con nuovo nome.[[BR]] Se non si rispettano gli spazi il comando non va a buon fine. [[Immagine(Icone/Piccole/warning.png,,left)]] É consigliabile scrivere i nomi di file e cartelle privi di spazi. Per esempio se una directory è nominata `cartella miei documenti` la shell può avere problemi a riconoscerla. Supponiamo di spostarci al suo interno con il comando '''cd''': `cd cartella senza nome` non viene riconosciuto, mentre viene riconosciuto `cd cartella\ senza\ nome/`. Questa formattazione può essere raggiunta anche usando il tasto TAB. Quindi conviene dare dei nomi del tipo `cartella_miei_documenti` o `cartella-miei-documenti`.[[BR]] È bene evitare il punto “.” , dal momento che in genere contraddistingue un formato tipo `foto.jpg`, `canzone.ogg`, ecc. Evitando di usarlo si possono evitare possibili equivoci.[[BR]] Il punto viene inoltre usato per indicare un file nascosto se posizionato davanti al nome (per esempio `.file_nascosto`). == IMMISSIONE PASSWORD == La password viene richiesta quando si può agire solo con i permessi dell'amministratore, tipo spostarsi in directory riservate o per modificare file di sistema.[[BR]] Supponiamo di voler modificare con l'editor di testo gedit il file sources.list appartenente alla directory etc (percorso: /etc/sources.list). Per farlo occorre usare il comando sudo che viene sempre anteposto a tutti gli altri comandi.[[BR]] {{{ sudo gedit /etc/sources.list }}} dopo l'invio verrà richiesta la password[[BR]] {{{ Password: }}} Quando verrà immessa la password, per motivi di sicurezza, non appariranno i caratteristici asterischi (****), bensì il campo rimarrà vuoto. Non preoccupatevi, digitate la password e date l'invio.[[BR]] Per alcuni minuti la password rimane attiva, quindi se bisogna riusare sudo, non ci sarà bisogno di ridigitarla. Se vogliamo interrompere il suo effetto basterà digitare[[BR]] {{{ sudo -k }}} == ERRORI == In caso di errori la shell ci avvertirà con dei messaggi. Al contrario, quando il comando è andato a buon fine, non avremo nessuna segnalazione.[[BR]] Torniamo all'utente pippo che vuole creare la cartella musica sul desktop con il comando mkdir.[[BR]] || {{{pippo@miopc:~$ mkdir /home/pippo/Desktop/musica}}} || dopo aver dato l'invio otterrà[[BR]] || {{{pippo@miopc:~$}}} || A volte questo può spiazzare un utente alle prime armi che magari si aspetterebbe un segnale di conferma dell'avvenuta creazione della directory musica. Andando a controllare sul Desktop, pippo trovera la sua nuova cartella. ---- CategoryNuoviDocumenti |
Indice:BRTableOfContents |
A cosa serve la shell
Le definizioni shell, terminale, linea di comando indicano tutti e tre un dispositivo ad interfaccia testuale che può servire a svolgere gran parte delle mansioni in un sistema operativo. Muoversi attraverso il file system per creare/cancellare/rinominare file, scaricare/installare/disinstallare programmi, settare l'hardware, creare script e molte altre cose.BR Tante delle azioni sopra elencate, come noto alla maggior parte degli utenti, possono essere svolte tramite programmi ad interfaccia grafica. La shell può essere utile qualora sussistano dei malfunzionamenti di tali programmi, oppure non esistano programmi ad interfaccia grafica per certe mansioni o semplicemente perché l'utente ritiene comodo usarla.
Come funziona la shell
Cerchiamo di capire come funziona la shell prendendo ad esempio un utente che durante l'installazione, fra le varie cose ha impostato:BR nome utente: pippoBR nome computer: miopcBR Questo utente all'interno della directory home avrà un'altra directory con il suo stesso nome, cioè pippo (percorso: /home/pippo). Questa cartella è anche nota come home-utente. Per avere un quadro completo del file system, potete accedervi dai menù Risorse -> Computer, cliccando sull'icona File system o selezionando File system dalla barra laterale di sinistra.
Nella shell la home-utente viene generalmente indicata con questo simbolo ~ chiamato “tilde”. Per ottenerlo occorre digitare i tasti [AltGr]+[ì].
Aprendo un terminale (Applicazioni -> Accessori -> Terminale) quello che vedrà il nostro utente pippo, sarà questo:BR
pippo@miopc:~$ |
Questo messaggio ci dice che l'utente pippo, all'interno del computer miopc, si trova attualmente nella sua home-utente, cioè pippo, cioè ~.BR Il simbolo $ rappresenta la modalità "utente". Esiste anche una modalità amministratore (comando: sudo su) caratterizzata dal simbolo #, che però in Ubuntu capita di vedere di rado. Si veda a tal proposito la pagina [http://wiki.ubuntu-it.org/Sudo Sudo].
Per avere conferma di essere nella cartella pippo, il nostro nuovo utente può dare il comando pwd, che serve a visualizzare il percorso attuale in cui si trova la shell. Quindi pippo digiterà pwd:BR
pippo@miopc:~$ pwd |
dopo aver dato l'invio (ovviamente va sempre dato l'invio per far partire un comando) otterrà:BR
/home/pippo
Se invece darà il comando “ls”, otterrà la lista dei file presenti nella cartella pippo.BR Il nostro utente può muoversi attraverso il file sistem con la shell usando il comando cd. Supponiamo voglia spostarsi nella cartella doc (percorso: /usr/share/doc). Dovrà dare il comando cd /usr/share/docBR
pippo@miopc:~$ cd /usr/share/doc |
ed otterràBR
pippo@miopc:/usr/share/doc$ |
Si noti che ora alla sinistra del simbolo $, ci viene indicata la nostra nuova posizione nella cartella doc.
Abbiamo quindi capito che con la shell ci possiamo spostare “a spasso” per il file system e al suo interno sarà possibile eseguire i comandi di cui abbiamo bisogno.BR Sulla guida ComandiBase potrete familiarizzare con i comandi basilari. Questa guida procede ora con alcuni esempi pratici e relativi suggerimenti sull'uso della shell.
Esempi & Suggerimenti
AUTOCOMPLETAMENTO
Per evitare di digitare ogni singola lettera scrivendo per es. /home/home-utente/Desktop, si può usare il tasto [TAB] quello con le due frecce alla sinistra del tasto della lettera “Q”. Digitando /h e cliccando sul tasto [TAB], la stringa si autocomleta in /home/, ripetendo /home/h + [TAB] = /home/home-utente/ e così via fino ad ottenre /home/home-utente/Desktop.
PERCORSI
Per agire sui file (creare, rimuovere, spostare, copiare, ecc.) occorre indicare il percorso delle cartelle, oppure spostarsi all'interno della directory in cui si trova il file. Per esempio supponiamo con il comando rm di voler rimuovere il file canzone.ogg che si trova in /home/home-utente/Desktop. Si può dare subito il comando con il percorsoBR
rm /home/home-utente/Desktop/canzone.ogg
oppure prima ci possiamo spostare nella directory DesktopBR
cd /home/home-utente/Desktop
e poi dare il comandoBR
rm canzone.ogg
-COMANDO SENZA PERCORSO: Dalla shell certi comandi si possono lanciare indipendentemente dalla directory in cui ci troviamo. Un esempio puo essere l'installazione di programmi tramite apt-get:BR
sudo apt-get install nome_programma
SPAZI
È importante rispettare gli spazi nelle linee di comando.BR Nel caso precedente, usando rm /home/home-utente/Desktop/canzone.ogg è stata rispettata questa forma:BR comando (spazio) percorso file.BR Ci vorrà più attenzione se aumentano gli input. Per esempio supponiamo di avere un file chiamato canzone.ogg nel Desktop e di volerne creare una copia con il nome song.ogg in una sotto-cartella del Desktop chiamata archivio_musica. Usando il comando cp si ha:BR
cp /home/home-utente/Desktop/canzone.ogg /home/home-utente/Desktop/archivio_musica/song.ogg
Comando (spazio) percorso file (spazio) percorso file copiato con nuovo nome.BR Se non si rispettano gli spazi il comando non va a buon fine.
Immagine(Icone/Piccole/warning.png,,left) É consigliabile scrivere i nomi di file e cartelle privi di spazi. Per esempio se una directory è nominata cartella miei documenti la shell può avere problemi a riconoscerla. Supponiamo di spostarci al suo interno con il comando cd: cd cartella senza nome non viene riconosciuto, mentre viene riconosciuto cd cartella\ senza\ nome/. Questa formattazione può essere raggiunta anche usando il tasto TAB. Quindi conviene dare dei nomi del tipo cartella_miei_documenti o cartella-miei-documenti.BR È bene evitare il punto “.” , dal momento che in genere contraddistingue un formato tipo foto.jpg, canzone.ogg, ecc. Evitando di usarlo si possono evitare possibili equivoci.BR Il punto viene inoltre usato per indicare un file nascosto se posizionato davanti al nome (per esempio .file_nascosto).
IMMISSIONE PASSWORD
La password viene richiesta quando si può agire solo con i permessi dell'amministratore, tipo spostarsi in directory riservate o per modificare file di sistema.BR Supponiamo di voler modificare con l'editor di testo gedit il file sources.list appartenente alla directory etc (percorso: /etc/sources.list). Per farlo occorre usare il comando sudo che viene sempre anteposto a tutti gli altri comandi.BR
sudo gedit /etc/sources.list
dopo l'invio verrà richiesta la passwordBR
Password:
Quando verrà immessa la password, per motivi di sicurezza, non appariranno i caratteristici asterischi (****), bensì il campo rimarrà vuoto. Non preoccupatevi, digitate la password e date l'invio.BR Per alcuni minuti la password rimane attiva, quindi se bisogna riusare sudo, non ci sarà bisogno di ridigitarla. Se vogliamo interrompere il suo effetto basterà digitareBR
sudo -k
ERRORI
In caso di errori la shell ci avvertirà con dei messaggi. Al contrario, quando il comando è andato a buon fine, non avremo nessuna segnalazione.BR Torniamo all'utente pippo che vuole creare la cartella musica sul desktop con il comando mkdir.BR
pippo@miopc:~$ mkdir /home/pippo/Desktop/musica |
dopo aver dato l'invio otterràBR
pippo@miopc:~$ |
A volte questo può spiazzare un utente alle prime armi che magari si aspetterebbe un segnale di conferma dell'avvenuta creazione della directory musica. Andando a controllare sul Desktop, pippo trovera la sua nuova cartella.