Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "RigaDiComando"
Differenze tra le versioni 1 e 53 (in 52 versioni)
Versione 1 del 06/12/2006 01.18.20
Dimensione: 2141
Commento:
Versione 53 del 05/08/2007 19.34.17
Dimensione: 16401
Commento: sistemato un commento, grassetti sui nomi
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]]||

Documento originale:
https://help.ubuntu.com/community/CommandlineHowto
## page was renamed from CommandlineHowto
#LANGUAGE it
[[BR]]
||<tablebgcolor="#f1f1ed" tablewidth="35%" tablestyle="margin: 0pt 0pt 1em 1em; float: right; font-size: 0.9em;"style="padding: 0.5em;">'''Indice'''[[BR]][[TableOfContents(3)]] ||
Linea 7: Linea 7:
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.

== 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.

''Shell'', ''terminale'' e ''riga di comando'', sono termini che indicano in maniera equivalente un dispositivo a interfaccia testuale. Può servire a svolgere gran parte delle mansioni in un sistema operativo: muoversi attraverso il file system per creare, cancellare o rinominare file, scaricare, installare o rimuovere programmi, per configurare l'hardware, per creare script e molte altre cose.

Tante delle azioni sopra elencate, come noto alla maggior parte degli utenti, possono essere svolte tramite programmi a interfaccia grafica. La shell può essere utile qualora sussistano dei malfunzionamenti di tali programmi e si vogliano tracciare eventuali ''bug'', nel caso non esistano programmi a interfaccia grafica o semplicemente perché l'utente ritiene comodo usarla.

Il seguente tutorial non è una guida dettagliata all'uso dei comandi, vuole solo introdurre gli utenti alle prime armi alla linea di comando e ad alcuni aspetti del file system. Per approfondire l'uso dei singoli comandi si rimanda alla pagina [:ComandiBase] e alle singole pagine presenti nel wiki di Ubuntu.

= Come funziona la shell =

[[Anchor(aprire)]]
== Aprire un terminale ==

Per aprire un terminale:

 * con '''Ubuntu''':
  * '''''Applicazioni -> Accessori -> Terminale'''''
 * con '''Xubuntu''':
  * '''''Applications -> Accessories -> Terminale'''''

##aggiungere Kubuntu

== Home utente e file system ==

Per capire come funziona la shell si prenda come modello un utente che durante l'installazione, fra le varie cose, abbia impostato:
 * nome utente: '''mario'''
 * nome del computer: '''mario-desktop'''

Questo utente, all'interno della directory {{{home}}}, avrà un'altra directory con il suo stesso nome, cioè {{{mario}}} il cui percorso sarà {{{/home/mario}}}. Può accedervi dal menù '''''Risorse -> Cartella Home'''''. Questa cartella, nota anche come '''home utente''', riveste una grande importanza all'interno del sistema, dato che al suo interno, sotto forma di file nascosti (file con un punto davanti al nome), sono memorizzate tutte le configurazioni dell'utente.

||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Grandi/info.png,,center)]] ||<style="padding:0.5em; border:none;">Per visualizzare file nascosti, scegliere '''''Visualizza -> Mostra file nascosti'''''. ||

Per esempio, nella directory {{{.mozilla}}} sono memorizzati i dati riguardanti il browser '''Firefox''': segnalibri, estensioni, impostazioni menù, ecc.; nel caso sia installato il programma di posta '''Thunderbird''', in {{{.mozilla-thunderbird}}} saranno archiviate le email, gli indirizzi di posta ecc.; e così via per qualsiasi programma installato.

Vediamo ora più dettagliatamente dove si colloca la '''home utente''' all'interno del file system con l'aiuto di alcune immagini.
  
=== File system ===

attachment:file_system70.png

Vi si può accedere scegliendo '''''Risorse -> Computer''''', facendo clic sull'icona '''File system''' o selezionando '''File system''' dalla barra laterale sinistra. Il file system, inteso come la directory che contiene tutte le altre, è rappresentato dal simbolo «'''/'''», chiamato anche "radice" (root), da non confondere con la directory {{{/root}}} (che sarebbe la Home dell'utente root). Si possono trovare maggiori informazioni sul significato delle singole directory nelle pagine [http://help.ubuntu-it.org/6.06/ubuntu/desktopguide/it/linux-basics.html Fondamenti di Linux] e [:Hardware/DispositiviPartizioni/PartizioniUbuntu:Partizioni Ubuntu].

La directory che prenderemo ora in esame è quella evidenziata nella figura: la directory `home`.

=== home ===

attachment:home70.png

È la directory che contiene tutte le eventuali '''home utente''' presenti nel sistema. Nel sistema in figura è presente solo la Home dell'utente '''mario''', ma aggiungendo utenti al sistema verranno create le relative cartelle Home.

=== home utente ===

attachment:home_utente70.png

Come vedete, nella directory `/home/mario` sono presenti alcuni file, certi memorizzati dallo stesso '''mario''' altri già presenti dalla prima installazione come la directory `Desktop` che ovviamente andrà a contenere tutti i file, cartelle e icone di avvio presenti sulla scrivania.
  
== La shell ==

Un'ultima osservazione prima di addentrarci nei dettagli: nella shell, la '''home utente''' viene generalmente indicata con il simbolo '''~''', chiamato «tilde». Per ottenerlo, occorre premere i tasti '''Alt``Gr+ì'''.

[#aprire Aprendo un terminale] l'utente '''mario''' visualizzerà:

attachment:shell.png

Questo messaggio dice che:
 * l'utente '''mario''', all'interno del computer '''mario-desktop''', si trova attualmente nella propria '''home utente''', cioè '''{{{mario}}}''', cioè '''~'''.[[BR]]
[[BR]]
Il simbolo «'''$'''» indica 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 la conferma di essere nella cartella {{{mario}}}, è utile eseguire il comando «'''pwd'''», che serve a visualizzare il percorso attuale in cui si trova la shell. Quindi digitando: {{{
pwd
}}} e premendo '''Invio''' (ovviamente va sempre dato l'invio per far partire un comando) si otterrà:

attachment:shell_pwd.png

Se invece darà il comando «'''ls'''», otterrà l'elenco dei file presenti nella cartella {{{mario}}} (il comando «'''ls -a'''» elenca anche i file nascosti): {{{
Desktop documenti Examples foto lettera.odt scheda.ods
}}}

Il nostro utente può muoversi attraverso il file system 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}}}: {{{
mario@mario-desktop:~$ cd /usr/share/doc
}}} ed otterrà: {{{
mario@mario-desktop:/usr/share/doc$
}}}
Si noti che ora, alla sinistra del simbolo «'''$'''», viene indicata la nuova posizione nella cartella {{{doc}}}.

Abbiamo quindi capito che con la shell possiamo andare "a spasso" per il file system e al suo interno sarà possibile eseguire i comandi di cui abbiamo bisogno. Consultando la guida [:ComandiBase] potrete familiarizzare con i comandi basilari.

Questa guida procede ora con alcuni esempi pratici e relativi suggerimenti sull'uso della shell. Più che altro, si vuole mettere in guardia l'utente da possibili errori. Per fare questo continuiamo ad avvalerci della preziosa collaborazione dell'utente '''mario''' e del suo file system.

= Esempi e suggerimenti =
== Tasti di selezione rapida ==

=== Autocompletamento ===

Per evitare di digitare ogni singola lettera scrivendo per es. `/home/mario/Desktop`, si può usare il tasto '''Tab''' (individuabile sulla sinistra della tastiera: è quello con le due frecce sovrapposte, accanto al tasto «'''Q'''»). Digitando `/h` e premendo il tasto '''Tab''', la stringa si autocompleta in `/home/`.

Aggiungendo la «'''m'''»: `/home/m` + '''Tab''' si avrà `/home/mario/` e così via fino ad ottenere `/home/mario/Desktop`.

Se nella directory `/home` sono presenti sia mario che michele, alla pressione del tasto '''tab''' non accadrà niente, perchè giustamente non è possibile sapere quale dei due l'utente stia richiedendo, ma premendo una seconda volta il tasto '''tab''' verranno presentati tutti i file e directory che iniziano per «'''m'''»; digitando anche la lettera «'''a'''» l'ambiguità scompare e quindi premendo nuovamente '''tab''' il nome ''mario'' verrà completato. Se oltre a ''mario'' e ''michele'' è presente anche ''maria'', l'autocompletamento si bloccherà correttamente a `/home/mari`, e l'utente dovrà aggiungere l'ultima lettera.

[[Immagine(Icone/Piccole/warning.png,,left)]] [[BR]] '''Attenzione: nella shell le lettere minuscole sono "diverse" dalle lettere maiuscole: si dice che è [http://it.wikipedia.org/wiki/Sensibile_alle_maiuscole sensibile alle maiuscole] o case sensitive. Vale per tutto: comandi, file, directory. La digitazione deve necessariamente rispettare le lettere maiuscole e minuscole.'''[[BR]]

=== Posizione del cursore ===

Non è possibile selezionare con il mouse una delle parole interne ad un comando per modificarla o cancellarla. Dovremo necessariamente spostare il cursore con i tasti '''Freccia destra/sinistra''' per portarlo nella posizione che ci interessa.

Per velocizzare lo spostamento del cursore si possono usare alcune combinazioni con i tasti '''Freccia''' e i tasti '''Fine''' e '''Home''' (tasto con la freccia diretta in alto a sinistra):
 * '''Ctrl+Freccia destra/sinistra''': il cursore "salta" di parola in parola
 * '''Home''': cursore ad inizio stringa
 * '''Fine''': cursore a fine stringa

=== Cancellare parole ===

 * '''Ctrl+W''': cancella la parola a sinistra del cursore
 * '''Ctrl+U''': cancella tutte le parole a sinistra del cursore
 * '''Ctrl+K''': cancella tutte le parole a destra del cursore

=== Comandi in memoria ===

I comandi impartiti rimangono in memoria. Per poterli richiamare è sufficiente usare i tasti '''Freccia su/giù'''; in su per scorrere a ritroso i comandi già utilizzati e in giù per tornare a quelli più recenti.

In molte circostanze questa funzione può essere comoda per non dover riscrivere un intero comando da capo o per modificarne solo una parte.

== Percorsi ==

Per agire sui file (creare, rimuovere, spostare, copiare, ecc.) occorre indicare il percorso delle directory oppure spostarsi all'interno della directory in cui si trova il file interessato. Supponiamo di voler rimuovere, attraverso il comando «'''rm'''», il file {{{canzone.ogg}}} che si trova in {{{/home/mario/Desktop}}}. Si può dare subito il comando con il percorso: {{{
rm /home/mario/Desktop/canzone.ogg
}}}
oppure prima ci possiamo spostare nella directory {{{Desktop}}}: {{{
cd /home/mario/Desktop
}}} e poi dare il comando: {{{
rm canzone.ogg
}}}

Comando senza percorso: Dalla shell, certi comandi si possono eseguire indipendentemente dalla directory in cui ci si trova. Un esempio può essere l'installazione di programmi tramite [:Apt:apt-get]: {{{
sudo apt-get install nome_programma
}}}

== Spazi ==

È importante rispettare gli spazi all'interno del comando.

Nel caso precedente, usando: {{{
rm /home/mario/Desktop/canzone.ogg
}}} è stata rispettata questa forma: {{{
comando [spazio] percorso_file
}}}

Ci vorrà più attenzione se aumentano gli input. Per esempio, supponiamo di avere il file {{{canzone.ogg}}} nel ''Desktop'' (percorso {{{/home/mario/Desktop/canzone.ogg}}}) e di volerne creare una copia con il nome {{{song.ogg}}} in una cartella del ''Desktop'' chiamata {{{archivio_musica}}} (percorso: {{{/home/mario/Desktop/archivio_musica/song.ogg}}}). Usando il comando '''cp''' si ha: {{{
cp /home/mario/Desktop/canzone.ogg /home/mario/Desktop/archivio_musica/song.ogg
}}}
È stata rispettata la forma: {{{
comando [spazio] percorso_file [spazio] percorso_file_copiato_con_nuovo_nome
}}}

Se non si rispettano gli spazi il comando non va a buon fine!

== Nominare file e directory ==

||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Grandi/info.png,,center)]] ||<style="padding:0.5em; border:none;">È consigliato non inserire spazi all'interno dei nomi di file e cartelle. È suggerito sostituire il carattere di spaziatura con quello di ''underscore'' «'''_'''». ||

La shell può avere problemi a riconoscere una directory con un nome {{{cartella miei documenti}}}. Il comando:
{{{
cd /home/mario/cartella miei documenti
}}}
non viene riconosciuto. Verrebbe riconosciuto se riformulato con questa formattazione:
{{{
cd /home/mario/cartella\ miei\ documenti/
}}}
ottenibile usando il tasto '''Tab'''.
Oppure mettendo l'apostrofo all'inizio e alla fine del percorso:
{{{
cd '/home/mario/cartella miei documenti'
}}}
Quindi conviene dare dei nomi del tipo {{{cartella_miei_documenti}}} o
{{{cartella-miei-documenti}}}.

'''È bene usare con parsimonia il punto «.»'''

Essendo usato per contraddistinguere un formato tipo {{{foto.jpg}}}, {{{canzone.ogg}}}, ecc., evitando di usarlo si possono evitare possibili equivoci. Il punto anteposto al nome, come già visto, viene usato per indicare un file nascosto (per esempio {{{.file_nascosto}}}).

== Immissione della password ==

La password viene richiesta quando dobbiamo agire con i privilegi dell'amministratore. In questo modo si ha la possibilità di accedere a directory non accessibili al singolo utente e modificare eventuali file di sistema.

Supponiamo di voler modificare con l'editor di testo '''[:Nano:nano]''' il file `sources.list` appartenente alla directory `apt` (percorso: `/etc/apt/sources.list`). Per farlo occorre usare il comando '''[:Sudo:sudo]''' che viene sempre anteposto a tutti gli altri comandi: {{{
sudo nano /etc/apt/sources.list
}}} dopo l'invio verrà richiesta la password: {{{
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.

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: {{{
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.

Torniamo all'utente '''mario''' che vuole creare la cartella {{{musica}}} sul ''Desktop'' con il comando «'''mkdir'''»: {{{
mario@mario-desktop:~$ mkdir /home/mario/Desktop/musica
}}} dopo aver dato '''Invio''' otterrà: {{{
mario@mario-desktop:~$
}}}

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'', '''mario''' troverà la sua nuova cartella.

= Considerazioni finali =

Gli esempi mostrati sono volutamente banali. Nella maggior parte dei casi le operazioni citate possono essere svolte con pochi clic del mouse. Lo scopo era quello di prendere confidenza con la shell, partendo da nozioni già conosciute quali: la copia/rimozione di un file, la creazione di una directory, ecc.

Come avrete notato, la linea di comando è molto sfruttata all'interno delle guide. Questo, per il semplice motivo che in questo modo, oltre ad ottenere una guida molto sintetica, c'è il vantaggio di avere comandi che possono rimanere immutati nel tempo. Al contrario, descrivere passaggi in modalità grafica genera guide più lunghe e si crea il rischio di avere una guida presto obsoleta, dal momento che un'interfaccia grafica è soggetta a cambiamenti all'uscita di nuove versioni.

La conoscenza di alcuni concetti base può permettere anche agli utenti tecnicamente meno preparati di riuscire a destreggiarsi nel mondo dei comandi. Non occorre conoscere a memoria tutti i dettagli (se ciò avviene tanto meglio), bastano poche nozioni per porsi davanti a un'eventuale guida comprendendo dove si andrà a parare senza abbandonarsi al mero copia/incolla.

= Ulteriori risorse =

 * [http://help.ubuntu-it.org/6.06/ubuntu/desktopguide/it/linux-basics.html Fondamenti di Linux: presentazione di un sistema GNU/Linux nei suoi aspetti principali]
 * [:ComandiBase:Guida ai comandi fondamentali]
 * [:Sudo:Guida ai comandi per ottenere il privilegio dell'amministratore di sistema]
 * [:PermessiFile:Guida agli strumenti di modifica dei permessi sui file]
 * [:Apt:Guida all'installazione di programmi tramite apt-get]
 * [:InstallareProgrammi/DaSorgenti:Guida alla compilazione del codice sorgente]
 * [:Programmazione/Checkinstall:Guida alternativa all'installazione da sorgenti]
----
CategoryDaRevisionare

BR

Introduzione

Shell, terminale e riga di comando, sono termini che indicano in maniera equivalente un dispositivo a interfaccia testuale. Può servire a svolgere gran parte delle mansioni in un sistema operativo: muoversi attraverso il file system per creare, cancellare o rinominare file, scaricare, installare o rimuovere programmi, per configurare l'hardware, per creare script e molte altre cose.

Tante delle azioni sopra elencate, come noto alla maggior parte degli utenti, possono essere svolte tramite programmi a interfaccia grafica. La shell può essere utile qualora sussistano dei malfunzionamenti di tali programmi e si vogliano tracciare eventuali bug, nel caso non esistano programmi a interfaccia grafica o semplicemente perché l'utente ritiene comodo usarla.

Il seguente tutorial non è una guida dettagliata all'uso dei comandi, vuole solo introdurre gli utenti alle prime armi alla linea di comando e ad alcuni aspetti del file system. Per approfondire l'uso dei singoli comandi si rimanda alla pagina [:ComandiBase] e alle singole pagine presenti nel wiki di Ubuntu.

Come funziona la shell

Anchor(aprire)

Aprire un terminale

Per aprire un terminale:

  • con Ubuntu:

    • Applicazioni -> Accessori -> Terminale

  • con Xubuntu:

    • Applications -> Accessories -> Terminale

Home utente e file system

Per capire come funziona la shell si prenda come modello un utente che durante l'installazione, fra le varie cose, abbia impostato:

  • nome utente: mario

  • nome del computer: mario-desktop

Questo utente, all'interno della directory home, avrà un'altra directory con il suo stesso nome, cioè mario il cui percorso sarà /home/mario. Può accedervi dal menù Risorse -> Cartella Home. Questa cartella, nota anche come home utente, riveste una grande importanza all'interno del sistema, dato che al suo interno, sotto forma di file nascosti (file con un punto davanti al nome), sono memorizzate tutte le configurazioni dell'utente.

Immagine(Icone/Grandi/info.png,,center)

Per visualizzare file nascosti, scegliere Visualizza -> Mostra file nascosti.

Per esempio, nella directory .mozilla sono memorizzati i dati riguardanti il browser Firefox: segnalibri, estensioni, impostazioni menù, ecc.; nel caso sia installato il programma di posta Thunderbird, in .mozilla-thunderbird saranno archiviate le email, gli indirizzi di posta ecc.; e così via per qualsiasi programma installato.

Vediamo ora più dettagliatamente dove si colloca la home utente all'interno del file system con l'aiuto di alcune immagini.

File system

attachment:file_system70.png

Vi si può accedere scegliendo Risorse -> Computer, facendo clic sull'icona File system o selezionando File system dalla barra laterale sinistra. Il file system, inteso come la directory che contiene tutte le altre, è rappresentato dal simbolo «/», chiamato anche "radice" (root), da non confondere con la directory /root (che sarebbe la Home dell'utente root). Si possono trovare maggiori informazioni sul significato delle singole directory nelle pagine [http://help.ubuntu-it.org/6.06/ubuntu/desktopguide/it/linux-basics.html Fondamenti di Linux] e [:Hardware/DispositiviPartizioni/PartizioniUbuntu:Partizioni Ubuntu].

La directory che prenderemo ora in esame è quella evidenziata nella figura: la directory home.

home

attachment:home70.png

È la directory che contiene tutte le eventuali home utente presenti nel sistema. Nel sistema in figura è presente solo la Home dell'utente mario, ma aggiungendo utenti al sistema verranno create le relative cartelle Home.

home utente

attachment:home_utente70.png

Come vedete, nella directory /home/mario sono presenti alcuni file, certi memorizzati dallo stesso mario altri già presenti dalla prima installazione come la directory Desktop che ovviamente andrà a contenere tutti i file, cartelle e icone di avvio presenti sulla scrivania.

La shell

Un'ultima osservazione prima di addentrarci nei dettagli: nella shell, la home utente viene generalmente indicata con il simbolo ~, chiamato «tilde». Per ottenerlo, occorre premere i tasti AltGr+ì.

[#aprire Aprendo un terminale] l'utente mario visualizzerà:

attachment:shell.png

Questo messaggio dice che:

  • l'utente mario, all'interno del computer mario-desktop, si trova attualmente nella propria home utente, cioè mario, cioè ~.BR

BR Il simbolo «$» indica 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 la conferma di essere nella cartella mario, è utile eseguire il comando «pwd», che serve a visualizzare il percorso attuale in cui si trova la shell. Quindi digitando:

pwd

e premendo Invio (ovviamente va sempre dato l'invio per far partire un comando) si otterrà:

attachment:shell_pwd.png

Se invece darà il comando «ls», otterrà l'elenco dei file presenti nella cartella mario (il comando «ls -a» elenca anche i file nascosti):

Desktop  documenti  Examples  foto  lettera.odt  scheda.ods

Il nostro utente può muoversi attraverso il file system 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:

mario@mario-desktop:~$ cd /usr/share/doc

ed otterrà:

mario@mario-desktop:/usr/share/doc$

Si noti che ora, alla sinistra del simbolo «$», viene indicata la nuova posizione nella cartella doc.

Abbiamo quindi capito che con la shell possiamo andare "a spasso" per il file system e al suo interno sarà possibile eseguire i comandi di cui abbiamo bisogno. Consultando la guida [:ComandiBase] potrete familiarizzare con i comandi basilari.

Questa guida procede ora con alcuni esempi pratici e relativi suggerimenti sull'uso della shell. Più che altro, si vuole mettere in guardia l'utente da possibili errori. Per fare questo continuiamo ad avvalerci della preziosa collaborazione dell'utente mario e del suo file system.

Esempi e suggerimenti

Tasti di selezione rapida

Autocompletamento

Per evitare di digitare ogni singola lettera scrivendo per es. /home/mario/Desktop, si può usare il tasto Tab (individuabile sulla sinistra della tastiera: è quello con le due frecce sovrapposte, accanto al tasto «Q»). Digitando /h e premendo il tasto Tab, la stringa si autocompleta in /home/.

Aggiungendo la «m»: /home/m + Tab si avrà /home/mario/ e così via fino ad ottenere /home/mario/Desktop.

Se nella directory /home sono presenti sia mario che michele, alla pressione del tasto tab non accadrà niente, perchè giustamente non è possibile sapere quale dei due l'utente stia richiedendo, ma premendo una seconda volta il tasto tab verranno presentati tutti i file e directory che iniziano per «m»; digitando anche la lettera «a» l'ambiguità scompare e quindi premendo nuovamente tab il nome mario verrà completato. Se oltre a mario e michele è presente anche maria, l'autocompletamento si bloccherà correttamente a /home/mari, e l'utente dovrà aggiungere l'ultima lettera.

Immagine(Icone/Piccole/warning.png,,left) BR Attenzione: nella shell le lettere minuscole sono "diverse" dalle lettere maiuscole: si dice che è [http://it.wikipedia.org/wiki/Sensibile_alle_maiuscole sensibile alle maiuscole] o case sensitive. Vale per tutto: comandi, file, directory. La digitazione deve necessariamente rispettare le lettere maiuscole e minuscole.BR

Posizione del cursore

Non è possibile selezionare con il mouse una delle parole interne ad un comando per modificarla o cancellarla. Dovremo necessariamente spostare il cursore con i tasti Freccia destra/sinistra per portarlo nella posizione che ci interessa.

Per velocizzare lo spostamento del cursore si possono usare alcune combinazioni con i tasti Freccia e i tasti Fine e Home (tasto con la freccia diretta in alto a sinistra):

  • Ctrl+Freccia destra/sinistra: il cursore "salta" di parola in parola

  • Home: cursore ad inizio stringa

  • Fine: cursore a fine stringa

Cancellare parole

  • Ctrl+W: cancella la parola a sinistra del cursore

  • Ctrl+U: cancella tutte le parole a sinistra del cursore

  • Ctrl+K: cancella tutte le parole a destra del cursore

Comandi in memoria

I comandi impartiti rimangono in memoria. Per poterli richiamare è sufficiente usare i tasti Freccia su/giù; in su per scorrere a ritroso i comandi già utilizzati e in giù per tornare a quelli più recenti.

In molte circostanze questa funzione può essere comoda per non dover riscrivere un intero comando da capo o per modificarne solo una parte.

Percorsi

Per agire sui file (creare, rimuovere, spostare, copiare, ecc.) occorre indicare il percorso delle directory oppure spostarsi all'interno della directory in cui si trova il file interessato. Supponiamo di voler rimuovere, attraverso il comando «rm», il file canzone.ogg che si trova in /home/mario/Desktop. Si può dare subito il comando con il percorso:

rm /home/mario/Desktop/canzone.ogg

oppure prima ci possiamo spostare nella directory Desktop:

cd /home/mario/Desktop

e poi dare il comando:

rm canzone.ogg

Comando senza percorso: Dalla shell, certi comandi si possono eseguire indipendentemente dalla directory in cui ci si trova. Un esempio può essere l'installazione di programmi tramite [:Apt:apt-get]:

sudo apt-get install nome_programma

Spazi

È importante rispettare gli spazi all'interno del comando.

Nel caso precedente, usando:

rm /home/mario/Desktop/canzone.ogg

è stata rispettata questa forma:

comando [spazio] percorso_file

Ci vorrà più attenzione se aumentano gli input. Per esempio, supponiamo di avere il file canzone.ogg nel Desktop (percorso /home/mario/Desktop/canzone.ogg) e di volerne creare una copia con il nome song.ogg in una cartella del Desktop chiamata archivio_musica (percorso: /home/mario/Desktop/archivio_musica/song.ogg). Usando il comando cp si ha:

cp /home/mario/Desktop/canzone.ogg /home/mario/Desktop/archivio_musica/song.ogg

È stata rispettata la forma:

comando [spazio] percorso_file [spazio] percorso_file_copiato_con_nuovo_nome

Se non si rispettano gli spazi il comando non va a buon fine!

Nominare file e directory

Immagine(Icone/Grandi/info.png,,center)

È consigliato non inserire spazi all'interno dei nomi di file e cartelle. È suggerito sostituire il carattere di spaziatura con quello di underscore «_».

La shell può avere problemi a riconoscere una directory con un nome cartella miei documenti. Il comando:

cd /home/mario/cartella miei documenti

non viene riconosciuto. Verrebbe riconosciuto se riformulato con questa formattazione:

cd /home/mario/cartella\ miei\ documenti/

ottenibile usando il tasto Tab. Oppure mettendo l'apostrofo all'inizio e alla fine del percorso:

cd '/home/mario/cartella miei documenti'

Quindi conviene dare dei nomi del tipo cartella_miei_documenti o cartella-miei-documenti.

È bene usare con parsimonia il punto «.»

Essendo usato per contraddistinguere un formato tipo foto.jpg, canzone.ogg, ecc., evitando di usarlo si possono evitare possibili equivoci. Il punto anteposto al nome, come già visto, viene usato per indicare un file nascosto (per esempio .file_nascosto).

Immissione della password

La password viene richiesta quando dobbiamo agire con i privilegi dell'amministratore. In questo modo si ha la possibilità di accedere a directory non accessibili al singolo utente e modificare eventuali file di sistema.

Supponiamo di voler modificare con l'editor di testo [:Nano:nano] il file sources.list appartenente alla directory apt (percorso: /etc/apt/sources.list). Per farlo occorre usare il comando [:Sudo:sudo] che viene sempre anteposto a tutti gli altri comandi:

sudo nano /etc/apt/sources.list

dopo l'invio verrà richiesta la password:

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.

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:

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.

Torniamo all'utente mario che vuole creare la cartella musica sul Desktop con il comando «mkdir»:

mario@mario-desktop:~$ mkdir /home/mario/Desktop/musica

dopo aver dato Invio otterrà:

mario@mario-desktop:~$

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, mario troverà la sua nuova cartella.

Considerazioni finali

Gli esempi mostrati sono volutamente banali. Nella maggior parte dei casi le operazioni citate possono essere svolte con pochi clic del mouse. Lo scopo era quello di prendere confidenza con la shell, partendo da nozioni già conosciute quali: la copia/rimozione di un file, la creazione di una directory, ecc.

Come avrete notato, la linea di comando è molto sfruttata all'interno delle guide. Questo, per il semplice motivo che in questo modo, oltre ad ottenere una guida molto sintetica, c'è il vantaggio di avere comandi che possono rimanere immutati nel tempo. Al contrario, descrivere passaggi in modalità grafica genera guide più lunghe e si crea il rischio di avere una guida presto obsoleta, dal momento che un'interfaccia grafica è soggetta a cambiamenti all'uscita di nuove versioni.

La conoscenza di alcuni concetti base può permettere anche agli utenti tecnicamente meno preparati di riuscire a destreggiarsi nel mondo dei comandi. Non occorre conoscere a memoria tutti i dettagli (se ciò avviene tanto meglio), bastano poche nozioni per porsi davanti a un'eventuale guida comprendendo dove si andrà a parare senza abbandonarsi al mero copia/incolla.

Ulteriori risorse

  • [http://help.ubuntu-it.org/6.06/ubuntu/desktopguide/it/linux-basics.html Fondamenti di Linux: presentazione di un sistema GNU/Linux nei suoi aspetti principali]

  • [:ComandiBase:Guida ai comandi fondamentali]

  • [:Sudo:Guida ai comandi per ottenere il privilegio dell'amministratore di sistema]

  • [:PermessiFile:Guida agli strumenti di modifica dei permessi sui file]

  • [:Apt:Guida all'installazione di programmi tramite apt-get]

  • [:InstallareProgrammi/DaSorgenti:Guida alla compilazione del codice sorgente]

  • [:Programmazione/Checkinstall:Guida alternativa all'installazione da sorgenti]


CategoryDaRevisionare