Guida ai comandi da terminale: differenze tra le versioni

comandi, per info sui pacchetti e altre cose minori
(comandi, per info sui pacchetti e altre cose minori)
Riga 1: Riga 1:
{{Versioni compatibili}}
{{Versioni compatibili}}
= Introduzione =
= Introduzione =
Quale utente Linux non ha mai avuto bisogno di una raccolta di comandi base per gestire il suo sistema operativo al migliore dei modi da terminale?<br>
Qu(in ~/bin/ ad esempio)  ale utente Linux non ha mai avuto bisogno di una raccolta di comandi base per gestire il suo sistema operativo al migliore dei modi da terminale?<br>
Questa pagina nasce in loro supporto. Qui proverò a creare una raccolta dei comandi base più utili, in modo da venire in aiuto di coloro che ne cercano uno per compiere la rispettiva operazione.<br>
Questa pagina nasce in loro supporto. Qui proverò a creare una raccolta dei comandi base più utili, in modo da venire in aiuto di coloro che ne cercano uno per compiere la rispettiva operazione.<br>
{{ Warningbox | Nella guida viene talvolta usata l'opzione <code>-r</code> abbinata ad alcuni comandi. È utile rimarcare e tenere a mente che la ricorsività del comando derivante dall'utilizzo di questa opzione può avere effetti distruttivi sul sistema e che va quindi usata con cognizione di causa.}}
{{ Warningbox | Nella guida viene talvolta usata l'opzione <code>-r</code> abbinata ad alcuni comandi. È utile rimarcare e tenere a mente che la ricorsività del comando derivante dall'utilizzo di questa opzione può avere effetti distruttivi sul sistema e che va quindi usata con cognizione di causa.}}
Riga 48: Riga 48:
Se il vostro programma non compare nell'elenco, ma avete trovato in giro dei repository che lo includono (righe di testo), per utilizzarle dovrete integrarle nella vostra lista repo, seguite il paragrafo “Modifica della lista dei repository”.
Se il vostro programma non compare nell'elenco, ma avete trovato in giro dei repository che lo includono (righe di testo), per utilizzarle dovrete integrarle nella vostra lista repo, seguite il paragrafo “Modifica della lista dei repository”.


== Ricerca di un pacchetto ==
== Ricerca di un pacchetto e informazioni ==
Volete installare un programma, ma non conoscete il nome del pacchetto con il quale è stato inserito nei repository di Debian?<br>
Volete installare un programma, ma non conoscete il nome del pacchetto con il quale è stato inserito nei repository di Debian?<br>
Il seguente comando può esservi di aiuto:
Il seguente comando può esservi di aiuto:
<pre>
<pre>
apt-cache search nome_programma
apt-cache search nome_pacchetto
</pre>
</pre>
Il comando esegue una ricerca full text all'interno dei nomi e delle descrizioni dei pacchetti dei repository abilitati. Ad esempio:
Il comando esegue una ricerca full text all'interno dei nomi e delle descrizioni dei pacchetti dei repository abilitati. Ad esempio:
Riga 64: Riga 64:
tellico-data - collection manager for books, videos, music [data]
tellico-data - collection manager for books, videos, music [data]
tellico-scripts - collection manager for books, videos, music [scripts]
tellico-scripts - collection manager for books, videos, music [scripts]
</pre>
Quindi possiamo ottenere varie informazioni sul pacchetto che cerchiamo con:
<pre>
apt-cache show nome_pacchetto
</pre>
Ad esempio:
<pre>
apt-cache show tellico
</pre>
Elencare le sole dipendenze:
* dirette (necessarie)
<pre>
apt-cache depends tellico
</pre>
* indirette (raccomandate o utili a seconda del tipo di richiesta o configurazione del sistema)
<pre>
apt-cache rdepends tellico
</pre>
Informazioni su quale repository abbia la priorità (utile nella gestione del pinning):
<pre>
apt-cache policy tellico
</pre>
Visionare il changelog prima di aggiornare il pacchetto:
<pre>
apt-get changelog tellico
</pre>
Sapere perché un pacchetto è installato o perché andrebbe installato:
<pre>
aptitude why tellico
</pre>
Sapere perché un pacchetto non è installato e se genera conflitti:
<pre>
aptitude why-not tellico
</pre>
</pre>


Riga 323: Riga 356:
Attenzione ai permessi: se lanciate il comando unrar da sudoer o da root, i permessi dei file decompressi saranno attribuiti a quell’utenza.
Attenzione ai permessi: se lanciate il comando unrar da sudoer o da root, i permessi dei file decompressi saranno attribuiti a quell’utenza.


= Gestione di files e directory =
= Gestione di file e directory =
== Muoversi tra le directory ==
== Muoversi tra le directory ==
Accedere da terminale ad una directory è semplicissimo, perché il comando è uguale a quello del DOS.<br>
Accedere da terminale ad una directory è semplicissimo, perché il comando è uguale a quello del DOS.<br>
Riga 369: Riga 402:
ls -la
ls -la
</pre>
</pre>
con cui si potranno visualizzare i files nascosti (<code>a</code>) e produrre un listato (<code>l</code>) con diversi dettagli utili (permessi di lettura/scrittura/esecuzione, utente e gruppo proprietari, dimensione, data di ultima modifica, ecc... )
con cui si potranno visualizzare i file nascosti (<code>a</code>) e produrre un listato (<code>l</code>) con diversi dettagli utili (permessi di lettura/scrittura/esecuzione, utente e gruppo proprietari, dimensione, data di ultima modifica, ecc... )


== Creare una directory ==
== Creare una directory ==
Riga 517: Riga 550:
cat filename.txt
cat filename.txt
</pre>
</pre>
per vedere il contenuto del file. Se il file è piuttosto lungo, il suo contenuto scorrerà velocemente sullo schermo. Per evitare ciò, usate i due comandi concatenati:
per vedere il contenuto del file. Se il file è piuttosto lungo, il suo contenuto scorrerà velocemente sullo schermo. Per evitare ciò, usate un pager come less o most (more scorre solo in avanti):
<pre>
<pre>
cat filename.txt | less
less filename.txt
</pre>
</pre>


== Confrontare due files ==
== Confrontare due file ==
<code>diff</code> è un comando shell che trova la differenza tra due file. La sintassi del comando è:
<code>diff</code> è un comando shell che trova la differenza tra due file. La sintassi del comando è:
<pre>
<pre>
Riga 536: Riga 569:
* <code>-d</code>: Usa un algoritmo diverso per trovare un, probabilmente, minore insieme di modifiche da fare. Questo rende diff più lento (a volte molto più lento).
* <code>-d</code>: Usa un algoritmo diverso per trovare un, probabilmente, minore insieme di modifiche da fare. Questo rende diff più lento (a volte molto più lento).


== Comprimere files e directory ==
== Comprimere file e directory ==
La creazione di un nuovo file con il comando <tt>tar</tt> viene fatta mediante l'opzione <tt>-c</tt> indicando il nome del file da creare e il file o la directory originali:
La creazione di un nuovo file con il comando <tt>tar</tt> viene fatta mediante l'opzione <tt>-c</tt> indicando il nome del file da creare e il file o la directory originali:
<code>
<code>
Riga 673: Riga 706:
== Manipolazione di file ==
== Manipolazione di file ==
Un modo veloce (soprattutto negli script) per modificare il contenuto di un file o per accodare altro testo alla sua fine è utilizzare il comando <code>cat</code>.<br>
Un modo veloce (soprattutto negli script) per modificare il contenuto di un file o per accodare altro testo alla sua fine è utilizzare il comando <code>cat</code>.<br>
<code>cat</code> è un comando shell che legge file in sequenza e può scrivere i loro contenuti sullo standard output nella stessa sequenza. La sintassi del comando è:
<code>cat</code> è un comando shell che legge file in sequenza e può scrivere i loro contenuti sullo standard output nella stessa sequenza. Lo scopo di cat è infatti concatenare file (generalmente di testo o che abbiano particolari intestazioni, ad esempio il formato MPEG2 usato dai VOB nei DVD video). Dimenticatevi follie quali "cat file.txt | less" o "cat file.txt | grep foo" perché è definito
[http://en.wikipedia.org/wiki/Cat_%28Unix%29#Useless_use_of_cat UUOC: Useless Use Of Cat] :-)
 
La sintassi del comando è:
<pre>
<pre>
cat [opzioni][file ...]
cat [opzioni][file ...]
Riga 680: Riga 716:
* <code>'''>''' file.estensione</code>: Se nomefile.estensione non esiste, viene creato e viene scritto il valore al suo interno. Nel caso esistesse già, il suo valore '''verrebbe sovrascritto'''.
* <code>'''>''' file.estensione</code>: Se nomefile.estensione non esiste, viene creato e viene scritto il valore al suo interno. Nel caso esistesse già, il suo valore '''verrebbe sovrascritto'''.
* <code>'''>>''' nomefile.estensione</code>: Aggiunge alla fine del file il valore che gli date a riga di comando.<br>
* <code>'''>>''' nomefile.estensione</code>: Aggiunge alla fine del file il valore che gli date a riga di comando.<br>
Altri comandi utili per la manipolazione veloce di files sono:
Altri comandi utili per la manipolazione veloce di file sono:
* <code>head</code>, che mostra le prime dieci linee di un file. Utile quando si vuole avere un'idea del contenuto di un file senza doverlo aprire con un editor
* <code>head</code>, che mostra le prime dieci linee di un file. Utile quando si vuole avere un'idea del contenuto di un file senza doverlo aprire con un editor
* <code>tail</code>, che mostra al contrario le ultime dieci linee di un file
* <code>tail</code>, che mostra al contrario le ultime dieci linee di un file
Riga 710: Riga 746:
* <code>'''| ccze'''</code> che dirige l'output di tail verso il programma <code>ccze</code>, che colorerà l'output del log rendendolo facilmente leggibile
* <code>'''| ccze'''</code> che dirige l'output di tail verso il programma <code>ccze</code>, che colorerà l'output del log rendendolo facilmente leggibile
In quest'ultimo esempio, per rilasciare il terminale e riottenerne il pieno utilizzo bisogna stoppare <code>tail</code> con la combinazione di tasti <code>CTRL</code>+<code>C</code>.
In quest'ultimo esempio, per rilasciare il terminale e riottenerne il pieno utilizzo bisogna stoppare <code>tail</code> con la combinazione di tasti <code>CTRL</code>+<code>C</code>.
Un altro uso interessante di cat è creare file di testo sfruttando lo stdin della shell.
Lanciamo questo comando:
<pre>
cat - > file.txt
</pre>
e possiamo scrivere il nostro testo sfruttando lo standard input come editor, si può correggere solo se non si è andati a capo e si termina con ''Ctrl-d''. <br>


== Creare un collegamento ==
== Creare un collegamento ==
Riga 861: Riga 904:
Le opzioni usate hanno il seguente significato:
Le opzioni usate hanno il seguente significato:
* <code>-avr</code>: specifica di copiare i file mantenendo ownership, permessi e in modalità ''directory recursive''
* <code>-avr</code>: specifica di copiare i file mantenendo ownership, permessi e in modalità ''directory recursive''
* <code>--delete</code>: elimina dalla directory di destinazione i files non più presenti nella directory sorgente
* <code>--delete</code>: elimina dalla directory di destinazione i file non più presenti nella directory sorgente


= Gestione Utenti =
= Gestione Utenti =
271

contributi