Guida ai comandi da terminale: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
nessun oggetto della modifica
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 3: Riga 3:
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>
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>
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. E' 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.}}


=Gestione di repository e pacchetti=
=Gestione di repository e pacchetti=
Riga 37: Riga 37:
apt-get install programma
apt-get install programma
</pre>
</pre>
oppure
oppure:
<pre>
<pre>
aptitude install programma
aptitude install programma
Riga 46: Riga 46:
</pre>
</pre>
Il nome del programma, e la possibilità di installarlo in questo modo, dipendono dalla presenza dei pacchetti nella vostra lista repo e dal loro nome. Una lista completa dei pacchetti repo presenti nel vostro sistema la avete andando su Sistema –> Amministrazione –> Gestore pacchetti Synaptic, e per poterli installare ovviamente avrete bisogno di permessi di sudoer o di root.
Il nome del programma, e la possibilità di installarlo in questo modo, dipendono dalla presenza dei pacchetti nella vostra lista repo e dal loro nome. Una lista completa dei pacchetti repo presenti nel vostro sistema la avete andando su Sistema –> Amministrazione –> Gestore pacchetti Synaptic, e per poterli installare ovviamente avrete bisogno di permessi di sudoer o di root.
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==
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>
Riga 74: Riga 74:
apt-get remove vlc
apt-get remove vlc
</pre>
</pre>
Questo tipo di disinstallazione disinstalla il programma, ma lascia all’interno del sistema i files di configurazione del programma. Per poter eseguire il comando di disinstallazione descritto avrete bisogno di permessi di sudoer o di root.
Questo tipo di disinstallazione disinstalla il programma, ma lascia all’interno del sistema i file di configurazione del programma. Per poter eseguire il comando di disinstallazione descritto avrete bisogno di permessi di sudoer o di root.


==Disinstallazione completa di un programma o di un pacchetto==
==Disinstallazione completa di un programma o di un pacchetto==
La differenza tra questa disinstallazione e quella base consiste nella liberazione completa dello spazio occupato dal programma che vogliamo rimuovere dal sistema. Con questo tipo di disinstallazione, infatti, oltre a disinstallare il programma dal sistema, cancelleremo anche i pacchetti e i relativi files di configurazione, che altrimenti non verrebbero rimossi, e che occuperebbero spazio inutile nel caso in cui non avessimo alcuna intenzione di reinstallare in futuro il programma. Digitiamo:
La differenza tra questa disinstallazione e quella base consiste nella liberazione completa dello spazio occupato dal programma che vogliamo rimuovere dal sistema. Con questo tipo di disinstallazione, infatti, oltre a disinstallare il programma dal sistema, cancelleremo anche i pacchetti e i relativi file di configurazione, che altrimenti non verrebbero rimossi, e che occuperebbero spazio inutile nel caso in cui non avessimo alcuna intenzione di reinstallare in futuro il programma. Digitiamo:
<pre>
<pre>
apt-get remove --purge programma
apt-get remove --purge programma
Riga 149: Riga 149:
chmod +x installer.sh
chmod +x installer.sh
</pre>
</pre>
e successivamente
e successivamente:
<pre>
<pre>
./installer.sh
./installer.sh
</pre>
</pre>
==Installazione di un file .bin==
==Installazione di un file .bin==
Se abbiamo scaricato un installer in .bin, per avviare la sua installazione da terminale non si deve fare altro che dirigersi nella directory in cui il .bin è stato salvato e lanciarlo scrivendo il nome del file. L’unico problema può nascere quando l’installer non da nativamente i permessi di esecuzione all’utente normale, la cosa si risolve con il comando <code>chmod</code>.<br>
Se abbiamo scaricato un installer in .bin, per avviare la sua installazione da terminale non si deve fare altro che dirigersi nella directory in cui il .bin è stato salvato e lanciarlo scrivendo il nome del file. L’unico problema può nascere quando l'installer non da nativamente i permessi di esecuzione all’utente normale, la cosa si risolve con il comando <code>chmod</code>.<br>
Se, per esempio, abbiamo scaricato il programma mio_programma.bin dobbiamo compiere le seguenti operazioni.<br>
Se, per esempio, abbiamo scaricato il programma <code>mio_programma.bin</code> dobbiamo compiere le seguenti operazioni.<br>
L'installer avrà bisogno prima di tutto di una rettifica sui permessi. Entriamo nella cartella in cui si trova il file e lanciamo questi comandi:
L'installer avrà bisogno prima di tutto di una rettifica sui permessi. Entriamo nella cartella in cui si trova il file e lanciamo questi comandi:
<pre>
<pre>
chmod +x mio_programma.bin
chmod +x mio_programma.bin
</pre>
</pre>
e successivamente
e successivamente:
<pre>
<pre>
./mio_programma.bin
./mio_programma.bin
Riga 195: Riga 195:
* <code>v</code> sta per "verbose", e serve per ottenere informazioni dettagliate durante il processo di estrazione
* <code>v</code> sta per "verbose", e serve per ottenere informazioni dettagliate durante il processo di estrazione
* <code>f</code> infine salva i file nella stessa posizione dell’archivio.
* <code>f</code> infine salva i file nella stessa posizione dell’archivio.
Lanciando il comando
Lanciando il comando:
<pre>
<pre>
tar --help
tar --help
Riga 277: Riga 277:
cd cartella
cd cartella
</pre>
</pre>
se ci troviamo nella directory "genitore" della directory "cartella". Oppure digitiamo
se ci troviamo nella directory "genitore" della directory "cartella". Oppure digitiamo:
<pre>
<pre>
cd /percorso/assoluto/per/arrivare/a/cartella
cd /percorso/assoluto/per/arrivare/a/cartella
Riga 390: Riga 390:
rm -rf cartella
rm -rf cartella
</pre>
</pre>
L'opzione <code>-rf</code> è in grado di cancellare ogni file. Prestate attenzione a come utilizzate il comando, perché '''non viene chiesta alcuna conferma''' e rischiate di eliminare files o directory di sistema.
L'opzione <code>-rf</code> è in grado di cancellare ogni file. Prestate attenzione a come utilizzate il comando, perché '''non viene chiesta alcuna conferma''' e rischiate di eliminare file o directory di sistema.
==Visualizzare la struttura di una drectory==
==Visualizzare la struttura di una directory==
<code>tree</code> è un comando shell che ha il compito di listare ad albero una data directory. La sintassi del comando è:
<code>tree</code> è un comando shell che ha il compito di listare ad albero una data directory. La sintassi del comando è:
<pre>
<pre>
tree [-adfgilnopqrstuxACDFNS][-L level [-R]][-H baseHREF][-T title][-o filename][--nolinks][-P pattern]
tree [-adfgilnopqrstuxACDFNS][-L level [-R]][-H baseHREF][-T title][-o filename][--nolinks][-P pattern]
Riga 404: Riga 404:
* <code>-s</code>: Stampa affianco al nome del file la sua dimensione
* <code>-s</code>: Stampa affianco al nome del file la sua dimensione
* <code>-r</code>: Riordina alfabeticamente l'output
* <code>-r</code>: Riordina alfabeticamente l'output
Se vogliamo ad esempio listare la cartella /home/user/tmp, basta dare il comando:
Se vogliamo ad esempio listare la cartella <code>/home/user/tmp</code>, basta dare il comando:
<pre>
<pre>
tree /home/user/tmp
tree /home/user/tmp
Riga 422: Riga 422:
==Copiare un file==
==Copiare un file==
Se intendiamo duplicare un file, dobbiamo usare il comando <code>cp</code>. Con questo comando si possono fare più cose:
Se intendiamo duplicare un file, dobbiamo usare il comando <code>cp</code>. Con questo comando si possono fare più cose:
* copiare un file da una directory ad un’altra:
* copiare un file da una directory ad un'altra:
<pre>
<pre>
cp testo.txt /home/vostronomeutente/testo.txt
cp testo.txt /home/vostronomeutente/testo.txt
Riga 441: Riga 441:
</pre>
</pre>
==Cancellare definitivamente un file==
==Cancellare definitivamente un file==
<code>shred</code> è un comando shell che sovrascrive ripetutamente i FILE specificati in modo da rendere più difficile recuperare i dati, e opzionalmente li cancella. La sintassi del comando è:
<code>shred</code> è un comando shell che sovrascrive ripetutamente i FILE specificati in modo da rendere più difficile recuperare i dati, e opzionalmente li cancella. La sintassi del comando è:
<pre>
<pre>
shred [OPZIONI] FILE [...]
shred [OPZIONI] FILE [...]
Riga 459: Riga 459:
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 i due comandi concatenati:
<pre>
<pre>
cat filename.txt | less
cat filename.txt | less
Riga 469: Riga 469:
</pre>
</pre>
Alcune delle opzioni che possiamo passare al comando sono:
Alcune delle opzioni che possiamo passare al comando sono:
* <code>-righe</code>: Mostra righe (un intero) righe di contesto. Questa opzione non specifica da sola un formato di output; non ha nessun effetto a meno che venga combinata con -c o -u. Questa opzione è obsoleta. Per operare correttamente,patch ha, di solito, bisogno di almeno due righe di contesto.
* <code>-righe</code>: Mostra "righe" (un intero) righe di contesto. Questa opzione non specifica da sola un formato di output; non ha nessun effetto a meno che venga combinata con <code>-c</code> o <code>-u</code>. Questa opzione è obsoleta. Per operare correttamente, diff ha, di solito, bisogno di almeno due righe di contesto.
* <code>-a</code>: Tratta tutti i file come testo confrontandoli riga per riga, anche se non sembrano essere testo.
* <code>-a</code>: Tratta tutti i file come testo confrontandoli riga per riga, anche se non sembrano essere testo.
* <code>-b</code>: Ignora differenza nella quantità di spazi bianchi.
* <code>-b</code>: Ignora differenza nella quantità di spazi bianchi.
Riga 475: Riga 475:
* <code>--brief</code>: Riferisce solo se i file sono diversi, e non i particolari della differenza.
* <code>--brief</code>: Riferisce solo se i file sono diversi, e non i particolari della differenza.
* <code>-c</code>: Usa il formato «a contesto» (context output, in inglese).
* <code>-c</code>: Usa il formato «a contesto» (context output, in inglese).
* <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).


==Modificare l'ora di accesso a un file==
==Modificare l'ora di accesso a un file==
Riga 488: Riga 488:
* <code>-c</code>: Non crea file.
* <code>-c</code>: Non crea file.
* <code>-m</code>: Cambia l'ora di modifica di file.
* <code>-m</code>: Cambia l'ora di modifica di file.
* <code>-r ref_file</code>: Usa  i  corrispondenti  orari di ref_file come i nuovi valori per gli orari da cambiare.
* <code>-r ref_file</code>: Usa  i  corrispondenti  orari di ref_file come i nuovi valori per gli orari da cambiare.
* <code>-t orario</code>: Usa l'orario specificato come nuovo valore per gli orari cambiati. L'argomento è un numero decimale nella forma [[SS]AA]MMGGoomm[.ss]
* <code>-t orario</code>: Usa l'orario specificato come nuovo valore per gli orari cambiati. L'argomento è un numero decimale nella forma [[SS]AA]MMGGoomm[.ss]
* <code>-d, --date=orario</code>: Usa orario al posto dell'ora corrente. Può contenere il nomi di mese, fusi orari, «am» e «pm», ecc
* <code>-d, --date=orario</code>: Usa orario al posto dell'ora corrente. Può contenere il nomi di mese, fusi orari, «am» e «pm», ecc.


==Manipolazione di files==
==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. La sintassi del comando è:
Riga 505: Riga 505:
* <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
===Esempi===
===Esempi===
Se vogliamo mostrare il contenuto del file di testo /home/ferdy/prova.txt, dobbiamo dare il comando:
Se vogliamo mostrare il contenuto del file di testo <code>/home/ferdy/prova.txt</code>, dobbiamo dare il comando:
<pre>
<pre>
cat /home/ferdy/prova.txt
cat /home/ferdy/prova.txt
Riga 513: Riga 513:
cat /home/ferdy/aggiunte.txt >> /home/ferdy/prova.txt
cat /home/ferdy/aggiunte.txt >> /home/ferdy/prova.txt
</pre>
</pre>
Se vogliamo unire i due files e crearne un terzo, diamo il comando:
Se vogliamo unire i due file e crearne un terzo, diamo il comando:
<pre>
<pre>
cat /home/ferdy/prova.txt /home/ferdy/aggiunte.txt > /home/ferdy/file_finale.txt
cat /home/ferdy/prova.txt /home/ferdy/aggiunte.txt > /home/ferdy/file_finale.txt
</pre>
</pre>
Per visualizzare le prime 10 o le ultime dieci linee di un file:
Per visualizzare le prime dieci o le ultime dieci linee di un file:
<pre>
<pre>
head /home/ferdy/prova.txt
head /home/ferdy/prova.txt
Riga 536: Riga 536:
ln <file da collegare> <directory di collegamento>
ln <file da collegare> <directory di collegamento>
</pre>
</pre>
Supponiamo di avere il file testo.txt nella nostra home di voler creare un collegamento in usr/bin. Scriverò:
Supponiamo di avere il file testo.txt nella nostra home e di voler creare un collegamento in usr/bin. Scriverò:
<pre>
<pre>
ln /home/ferdy/testo.txt /usr/bin
ln /home/ferdy/testo.txt /usr/bin
</pre>
</pre>
Digitate ln –help per avere la lista delle opzioni e per approfondire i concetti di ''hardlink'' e ''symlink''.
Digitate ln --help per avere la lista delle opzioni e per approfondire i concetti di ''hardlink'' e ''symlink''.


==Cambiare i permessi di lettura, scrittura ed esecuzione==
==Cambiare i permessi di lettura, scrittura ed esecuzione==
Riga 594: Riga 594:
chown ferdy:gruppo_desiderato prova.txt
chown ferdy:gruppo_desiderato prova.txt
</pre>
</pre>
* Cambiare ricorsivamente il proprietario di tutti i files della directory <code>prova</code>
* Cambiare ricorsivamente il proprietario di tutti i file della directory <code>prova</code>
<pre>
<pre>
chown -R ferdy prova/
chown -R ferdy prova/
Riga 603: Riga 603:
chgrp [opzioni] gruppo file...
chgrp [opzioni] gruppo file...
</pre>
</pre>
Ad esempio, per cambiare il gruppo proprietario di tutti i files contenuti nella directory <code>prova</code> si digiti:
Ad esempio, per cambiare il gruppo proprietario di tutti i file contenuti nella directory <code>prova</code> si digiti:
<pre>
<pre>
chgrp -R gruppo_voluto prova/
chgrp -R gruppo_voluto prova/
Riga 623: Riga 623:
</pre>
</pre>
==Scaricare un file da Internet==
==Scaricare un file da Internet==
Da terminale è possibile anche scaricare file da Internet, utilizzando il comando <code>wget</code> con i protocolli http o ftp. Ad esempio se volessimo scaricare il file http://www.sito.it/file.rar ,ci basterà digitare:
Da terminale è possibile anche scaricare file da Internet, utilizzando il comando <code>wget</code> con i protocolli HTTP o FTP. Ad esempio se volessimo scaricare il file http://www.sito.it/file.rar, ci basterà digitare:
<pre>
<pre>
wget http://www.sito.it/file.rar
wget http://www.sito.it/file.rar
Riga 647: Riga 647:
</pre>
</pre>
''(che identifica un utente normale)''<br>
''(che identifica un utente normale)''<br>
a
a:
<pre>
<pre>
#
#
Riga 755: Riga 755:
man comando_di_cui_vogliamo_visualizzare_il_manuale
man comando_di_cui_vogliamo_visualizzare_il_manuale
</pre>
</pre>
ad esempio per visualizzare la pagina di manuale del comando ls dobbiamo digitare
ad esempio per visualizzare la pagina di manuale del comando ls dobbiamo digitare:
<pre>
<pre>
man ls
man ls
Riga 804: Riga 804:
* <code>C:</code> per il disco di sistema
* <code>C:</code> per il disco di sistema
* <code>D:</code> per un secondo disco di dati
* <code>D:</code> per un secondo disco di dati
* <code>E:</code> pr il masterizzatore
* <code>E:</code> per il masterizzatore
al nuovo disco verrebbe automaticamente assegnata la lettera <code>F:</code>.<br>
al nuovo disco verrebbe automaticamente assegnata la lettera <code>F:</code>.<br>
In ambiente Linux le cose funzionano diversamente. Il filesystem è strutturato a partire dalla sua '''radice''' (indicata con <code>'''/'''</code> e chiamata '''root''') e tutti i dischi e i dispositivi removibili vengono "agganciati" (l'operazione si chiama '''montaggio''', in inglese '''mount''') in una directory sotto <code>/</code>.<br>
In ambiente Linux le cose funzionano diversamente. Il filesystem è strutturato a partire dalla sua '''radice''' (indicata con <code>'''/'''</code> e chiamata '''root''') e tutti i dischi e i dispositivi removibili vengono "agganciati" (l'operazione si chiama '''montaggio''', in inglese '''mount''') in una directory sotto <code>/</code>.<br>
Riga 811: Riga 811:
  /
  /
  |
  |
  |-- bin (files eseguibili di base)
  |-- bin (file eseguibili di base)
  |
  |
  |-- boot (files necessari all'avvio)
  |-- boot (file necessari all'avvio)
  |
  |
  |-- dev (files che rappresentano le periferiche hardware collegate al sistema)
  |-- dev (file che rappresentano le periferiche hardware collegate al sistema)
  |
  |
  |-- etc (files di configurazione del sistema e dei servizi)
  |-- etc (file di configurazione del sistema e dei servizi)
  |
  |
  |-- home (files personali degli utenti)
  |-- home (file personali degli utenti)
  |    |
  |    |
  |    |- ferdy (files personali di ferdy)
  |    |- ferdy (file personali di ferdy)
  |    |- cesca (files personali di cesca)
  |    |- cesca (file personali di cesca)
  |
  |
  |-- media (periferiche esterne montate in automatico dal sistema)
  |-- media (periferiche esterne montate in automatico dal sistema)
Riga 828: Riga 828:
  |-- mnt (contenitore per le periferiche che vogliamo montare)
  |-- mnt (contenitore per le periferiche che vogliamo montare)
  |
  |
  |-- opt (files e programmi opzionali, ad es. giochi)
  |-- opt (file e programmi opzionali, ad es. giochi)
  |
  |
  |-- root (la home directory dell'utente root)
  |-- root (la home directory dell'utente root)
  |
  |
  |-- sbin (files eseguibili solo dall'utente root)
  |-- sbin (file eseguibili solo dall'utente root)
  |
  |
  |-- tmp (files temporanei)
  |-- tmp (file temporanei)
  |
  |
  |-- usr (i programmi installati sul sistema)
  |-- usr (i programmi installati sul sistema)
Riga 972: Riga 972:
Serve essere root o avere i permessi di sudoer (aggiungere sudo all’inizio della sintassi) affinché il comando vada a buon fine.
Serve essere root o avere i permessi di sudoer (aggiungere sudo all’inizio della sintassi) affinché il comando vada a buon fine.
==Visualizzare data e ora del sistema==
==Visualizzare data e ora del sistema==
È una cosa un po inutile, ma alle volte può far comodo. Potete vedere data e ora del sistema semplicemente digitando:
È una cosa un po' inutile, ma alle volte può far comodo. Potete vedere data e ora del sistema semplicemente digitando:
<pre>
<pre>
date
date
6 999

contributi

Menu di navigazione