Categorie
Articoli

Come copiare una directory in Linux

Lavorando in diversi sistemi operativi, siamo soliti aggiungere file e cartelle, tagliarli, copiarli, modificarli ed eliminarli a nostro piacimento. Proprio come tutti questi, il sistema Linux ci offre l’opportunità di copiare una singola cartella in un’altra cartella, anche se questa è vuota o meno. Pertanto, discuteremo alcuni metodi semplici per copiare una cartella in un’altra nel sistema Ubuntu 20.04. Iniziamo da capo utilizzando i diversi modi per copiare una directory da un posto a un altro in Linux.

Per questo scopo particolare, dobbiamo aprire la shell del terminale, perché in essa faremo tutte le cose. Ci sono due modi per aprirla. Uno è quello dell’area di ricerca dell’attività e l’altro è il tasto di scelta rapida “Ctrl+Alt+T”. Utilizzate uno dei metodi citati per aprirla e iniziate a implementare i comandi uno per uno.

Esempio 01

Per prima cosa, dobbiamo vedere tutti i file e le directory presenti nella nostra cartella home di Ubuntu 20.04. Questo processo può essere eseguito con l’aiuto del comando list. Il comando list contiene solo una singola parola “ls”. Eseguendolo, vi verranno mostrate le directory della cartella home.

Ora stiamo creando una nuova directory nella nostra home directory per eseguire operazioni di copia dopo qualche tempo. Il sistema Ubuntu 20.04 ci fornisce la query “mkdir” per creare una nuova directory vuota. Abbiamo quindi utilizzato il comando “mkdir” nella nostra shell di comando e abbiamo nominato la directory come “nuova”. Il comando verrà eseguito con l’aiuto del tasto Invio.

Immaginate che una sola directory non sia sufficiente per eseguire operazioni di copia per una migliore comprensione. Abbiamo quindi utilizzato nuovamente il comando “mkdir” con il nome della nuova directory “test”. Dopo la creazione della directory, abbiamo elencato il contenuto della home directory. Il comando “ls” mostra chiaramente l’aggiunta di due nuove directory nella cartella home: new e test.

Cominciamo a copiare una directory in un’altra cartella. A tale scopo, il sistema Linux ha creato il comando di copia rapida, ovvero la parola chiave “cp”, insieme ad alcune opzioni di flag. Il comando contiene la cartella da copiare e la posizione in cui deve essere incollata. La sintassi di questo comando è mostrata nella domanda riportata.

$ cp -r directory/ percorso-cartella-destinazione/

Nell’immagine sottostante, si può notare che il comando cp contiene il flag “-r” insieme alla cartella di origine (da copiare) e alla cartella di destinazione (percorso della cartella in cui verrà incollato). La “nuova” cartella verrà copiata nella cartella “Documenti”. Lo stesso comando “cp” viene utilizzato per copiare la cartella “test” nella cartella “new” all’interno della cartella “Documents”. Entrambi i comandi eseguono la stessa operazione, ma a livelli diversi.

Per prima cosa navighiamo all’interno della cartella Documenti del nostro sistema tramite l’istruzione “cd” nella shell. Dopo la navigazione verso la cartella Documenti, abbiamo elencato il suo contenuto con il comando “ls”. Si può notare che la cartella “new” è stata copiata con successo.

Eseguiamo nuovamente la navigazione con un livello superiore, questa volta utilizzando il comando “cd”. Siamo riusciti a navigare nella cartella Documenti/nuova. Dopo aver elencato il contenuto della cartella “new”, abbiamo constatato che la cartella “test” è stata copiata con successo al suo interno.

Esempio 02

Vediamo come copiare un file in una directory. Abbiamo creato un nuovo file vuoto “new.txt” e abbiamo elencato il contenuto della cartella home con l’istruzione “ls”. Si vede che il file è stato creato, è nuovo e c’è anche la cartella “test”.

Il comando copy viene utilizzato allo stesso modo senza il flag “-r”. L’unica differenza è che il nome del file non contiene il segno “/” alla fine. Viene inoltre specificata la cartella di destinazione.

Dopo aver navigato all’interno della cartella “nuova” e averne elencato il contenuto, abbiamo scoperto che l’operazione di copia è andata a buon fine anche per il file semplice.

Esempio 03

Vediamo un’altra illustrazione di come copiare una cartella di contenuti multipli in un’altra posizione in Linux. Abbiamo iniziato con la navigazione verso la cartella “Music” della home directory. Dopo la navigazione, il comando list utilizza il contenuto della cartella Music, cioè vuoto.

Dopo di che, abbiamo navigato verso la cartella Documenti e abbiamo scoperto che contiene anche due file di testo tramite il comando list.

Ora, abbiamo utilizzato lo stesso modo di copiare i dati, ma questa volta con il flag “-avr” nel comando cp. Quindi, dobbiamo indicare il percorso di origine, cioè “/home/saeedraza/Documents”. Successivamente, è necessario aggiungere il percorso della cartella di destinazione, ovvero “/home/saeedraza/Music”. Il programma prenderà i contenuti dalla cartella Documenti e li salverà nella cartella Musica uno alla volta.

Dopo aver eseguito il comando list navigando all’interno della cartella Musica, abbiamo scoperto che la cartella Documenti è ora presente.

Dopo aver navigato all’interno della cartella “Music/Documents”, si scopre che tutti i contenuti, cioè “new1.txt” e “new2.txt” della cartella “Documents”, vengono copiati anche nella cartella “Music” insieme alla cartella “Documents”.

Esempio 04

Supponiamo di aver creato un nuovo file nella cartella home e di averne elencato i dati nella shell con i comandi cat.

Il comando cp viene utilizzato con il flag “-v” per copiare il contenuto di un file new.txt in un altro file “test.txt”. Il file test.txt verrà generato automaticamente con l’uso di questo comando. Osservando il file test.txt con il comando cat, abbiamo scoperto che il contenuto è stato copiato.

Conclusione

Questo articolo contiene un’enorme quantità di comandi per copiare una cartella in un’altra posizione. Abbiamo cercato di coprire la copia di una singola cartella in un’altra posizione, la copia di un singolo file in un’altra posizione e di altri file e molto altro ancora. Speriamo che questo articolo sia abbastanza semplice da capire e da implementare per ogni utente del sistema Ubuntu 20.04.