Guida ai comandi da terminale - Gestione di file e directory: differenze tra le versioni

m
verifica, modifiche minori per via di comandi non presenti di default
mNessun oggetto della modifica
m (verifica, modifiche minori per via di comandi non presenti di default)
 
Riga 56: Riga 56:
mkdir cartella/sottocartella
mkdir cartella/sottocartella
</pre>
</pre>
== Rinominare una directory ==
== Rinominare una directory ==
Rinominare una cartella da terminale è semplice. Se ad esempio dobbiamo assegnare alla directory “cartella” il nuovo nome “directory”, dobbiamo portarci nella directory genitore e scrivere:
Rinominare una cartella da terminale è semplice. Se ad esempio dobbiamo assegnare alla directory “cartella” il nuovo nome “directory”, dobbiamo portarci nella directory genitore e scrivere:
Riga 61: Riga 62:
mv cartella/ directory/
mv cartella/ directory/
</pre>
</pre>
== Spostare (tagliare ed incollare) una directory ==
== Spostare (tagliare ed incollare) una directory ==
Spostare (tagliare ed incollare) una directory da terminale richiede un solo semplice comando. Supponiamo di avere la seguente struttura:
Spostare (tagliare ed incollare) una directory da terminale richiede un solo semplice comando. Supponiamo di avere la seguente struttura:
Riga 105: Riga 107:
</pre>
</pre>
L'opzione <code>-r</code> permette di estendere ricorsivamente l'opzione di copia alle eventuali sottodirectory contenute della directory "sottocartella".
L'opzione <code>-r</code> permette di estendere ricorsivamente l'opzione di copia alle eventuali sottodirectory contenute della directory "sottocartella".
== Cancellare una directory vuota ==
== Cancellare una directory vuota ==
Volendo cancellare la directory “cartella”, dobbiamo scrivere:
Volendo cancellare la directory “cartella”, dobbiamo scrivere:
Riga 114: Riga 117:
rmdir: failed to remove `cartella’: La directory non è vuota
rmdir: failed to remove `cartella’: La directory non è vuota
</pre>
</pre>
== Cancellare una directory non vuota ==
== Cancellare una directory non vuota ==
{{Cautionbox|L'opzione <code>-r</code> è in grado di cancellare ricorsivamente ogni file o sottodirectory di "cartella". Prestate attenzione a come utilizzate il comando perché '''non viene chiesta alcuna conferma''' e rischiate di eliminare file o directory di sistema.}}
Volendo cancellare la directory non vuota “cartella” dovremo digitare:
Volendo cancellare la directory non vuota “cartella” dovremo digitare:
<pre>
<pre>
rm -r cartella
rm -r cartella
</pre>
</pre>
L'opzione <code>-r</code> è in grado di cancellare ricorsivamente ogni file o sottodirectory di "cartella". Prestate attenzione a come utilizzate il comando perché '''non viene chiesta alcuna conferma''' e rischiate di eliminare file o directory di sistema.<br/>
Il comando precedente funziona correttamente anche se si vogliono cancellare directory vuote.
Il comando precedente funziona correttamente anche se si vogliono cancellare directory vuote.


== Visualizzare la struttura di una directory ==
== 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. Bisogna prima installare l'omonimo pacchetto: <pre>
# apt install tree
</pre>
 
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 259: Riga 267:


=== Esempi ===
=== Esempi ===
* Comprimere tutte le immagini jpg dentro una directory:
* Comprimere tutte le immagini jpg dentro una directory:
<code>
<code>
Riga 527: Riga 534:
</pre>
</pre>


Per motivi di sicurezza soltanto con privilegi di root è possibile cambiare il proprietario di un file, a prescindere che sia o meno uno dei propri.
Per motivi di sicurezza soltanto con [[privilegi di amministrazione]] è possibile cambiare il proprietario di un file, a prescindere che sia o meno uno dei propri.


=== Esempi ===
=== Esempi ===
Riga 559: Riga 566:
Il motore di ricerca da terminale si chiama <code>locate</code> e possiamo installarlo normalmente digitando:
Il motore di ricerca da terminale si chiama <code>locate</code> e possiamo installarlo normalmente digitando:
<pre>
<pre>
# apt-get install locate
# apt install locate
</pre>
</pre>
Esso fa uso di un database ad aggiornamenti costanti, ma non frequenti, pertanto se volessimo ricercare un file di recente creazione, spostamento o immissione nel sistema dovremo prima lanciare il comando di update per questo database. Da root o con permessi sudoer aggiungendo “sudo” prima della sintassi digitiamo:
Esso fa uso di un database ad aggiornamenti costanti, ma non frequenti, pertanto se volessimo ricercare un file di recente creazione, spostamento o immissione nel sistema dovremo prima lanciare il comando di update per questo database. Da root o con permessi sudoer aggiungendo “sudo” prima della sintassi digitiamo:
Riga 567: Riga 574:
Attendiamo che l’aggiornamento sia terminato, e poi lanciamo:
Attendiamo che l’aggiornamento sia terminato, e poi lanciamo:
<pre>
<pre>
$ locate testo.txt
locate testo.txt
</pre>
</pre>


Riga 580: Riga 587:
<code>Rsync</code> e' un comando (ed un protocollo) che permette la copia di file via rete, ottimizzando i tempi di backup e ripristino dei dati. Non è presente in un'installazione minimale di Debian; occorre pertanto installarlo col comando:
<code>Rsync</code> e' un comando (ed un protocollo) che permette la copia di file via rete, ottimizzando i tempi di backup e ripristino dei dati. Non è presente in un'installazione minimale di Debian; occorre pertanto installarlo col comando:
<pre>
<pre>
# apt-get install rsync
# apt install rsync
</pre>
</pre>
La sintassi del comando è la seguente:
La sintassi del comando è la seguente:
<pre>
<pre>
# rsync -av --delete /Directory/Sorgente /Directory/Destinazione  
rsync -av --delete /Directory/Sorgente /Directory/Destinazione  
</pre>
</pre>
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>-av</code>: specifica di copiare i file mantenendo ownership, permessi e in modalità ''directory recursive''
* <code>--delete</code>: elimina dalla directory di destinazione i file non più presenti nella directory sorgente
* <code>--delete</code>: elimina dalla directory di destinazione i file non più presenti nella directory sorgente
Maggiori informazioni [[Rsync | qui]].
Maggiori informazioni [[Rsync | qui]].


[[Categoria:Shell]][[Categoria:Programmi da terminale]]
[[Categoria:Shell]][[Categoria:Programmi da terminale]]
3 581

contributi