Comandi Linux

Comando cp di Linux

Comando cp di Linux
"cp" è uno strumento integrato per tutte le piattaforme basate su UNIX utilizzate per eseguire copie dei file e delle directory. Come suggerisce il nome dello strumento, "cp" è un'abbreviazione di "copia".

Ci sono tonnellate di opzioni di copia e incolla in corso nel sistema, giusto? Quasi tutti vengono eseguiti con l'aiuto di "cp". È uno strumento molto semplicistico con un utilizzo semplicistico. Tuttavia, ci sono un paio di avvertenze interessanti che devi sapere.

Senza ulteriori indugi, diamo un'occhiata all'uso di "cp" su Linux. Dimostrerò l'utilizzo su Manjaro Linux, una fantastica distribuzione Linux basata su Arch Linux. Scopri come installare Manjaro Linux.

Per qualsiasi strumento Linux, vorrei iniziare la mia guida con la seguente.

quale cp

"che" mostra il percorso completo degli eseguibili che sarebbero attivi se il comando dovesse essere eseguito. In questo caso, ogni volta che viene eseguito "cp", verrà avviato dalla directory "/usr/bin".

utilizzo cp

"cp" utilizza la seguente struttura di comando per tutte le sue azioni.

cp

Ad esempio, copiamo i file zip demo nella directory "DestinationFolder".

cp 1.zip CartellaDestinazione/

Per verificare il risultato, controlla la directory di destinazione.

cd CartellaDestinazione/
ls

"cp" può anche creare un duplicato dello stesso file. Tuttavia, il nome della destinazione deve essere diverso da quello originale. Inoltre, non ci deve essere nessun altro file con nome simile. Altrimenti, "cp" tenterà di sovrascrivere il file esistente.

cp 1.zip 1_copia.cerniera lampo

Copia directory

"cp" può anche copiare directory director. Tuttavia, si applicano regole simili per la copia dei file. La destinazione deve avere un nome univoco. In caso contrario, i dati verranno sovrascritti.

cp -r CartellaDestinazione/ Copia_CartellaDestinazione/

Il flag "-r" assicura che se "cp" si trova di fronte a qualsiasi directory, verrà anche copiata. Altrimenti, "cp" non accetterà la copia della directory.

Ancora una volta, in una situazione del genere, si applicano un paio di altre regole. Nell'esempio sopra, la directory di destinazione "DestinationFolder_copy" non esisteva, quindi "cp" l'ha creata. Tuttavia, se la sorgente dispone di 2 o più directory contemporaneamente, la destinazione deve esistere. In caso contrario, la copia non andrà a buon fine.

Guarda il risultato.

albero DestinationFolder_copy2/

Copia di più file

Usando "cp" puoi anche copiare più file contemporaneamente. Tuttavia, la destinazione deve essere una directory.

cp *.zip CartellaDestinazione

Modalità dettagliata

Questo è molto utile se stai lavorando con un gran numero di file o se i file sono di dimensioni molto grandi.

cp --file dettagliato.txt CartellaDestinazione/

Ora copierò un numero di file in modalità dettagliata. Questa funzione può anche essere impilata con altri flag "cp".

cp --verbose * CartellaDestinazione/

Copia interattiva

Se non sei sicuro che ci siano file duplicati o file con lo stesso nome, questa opzione è eccezionalmente utile. Ogni volta che "cp" affronta un conflitto, chiederà il tuo prompt. Sovrascriverà il file solo se lo permetti. In caso contrario, il file verrà saltato.

Ad esempio, "DestinationFolder" contiene già tutti i file demo. Ora proviamo a copiarli di nuovo utilizzando la modalità interattiva.

cp --verbose -i *.zip Cartella Destinazione

Come mostrato nell'esempio, ci sono 2 risposte: "y" per Sì (inizia a sovrascrivere) e "n" per No (salta il file).

Conservazione degli attributi dei file

Ogni singolo file nel sistema Linux fornisce una serie di informazioni aggiuntive, ad esempio i permessi dei file, l'ultima volta che il file è stato modificato e accessibile, e altri. La maggior parte delle volte, non importa davvero. Tuttavia, in alcuni sensibile scenari, questo potrebbe importare molto.

Ogni volta che "cp" copia un file, copia solo i dati, non questi "attributi". Facciamo una demo dal vivo.

Per prima cosa, controlliamo l'attributo del file di "1.file zip.

ls -l 1.cerniera lampo

Ora copialo in "DestinationFolder" e controlla di nuovo i suoi attributi.

cp --verbose 1.zip CartellaDestinazione/

Controlla gli attributi.

ls -l CartellaDestinazione/1.cerniera lampo

È un file normale creato, ecco perché la maggior parte degli attributi rimangono gli stessi. L'unico cambiamento evidente è il tempo di creazione dei file. Nel caso di altri file critici per il sistema, diversi attributi giocano un ruolo enorme. Vedremo anche la demo.

Per mantenere gli stessi attributi, usa il flag "-p".

cp -p --verbose 1.zip CartellaDestinazione/1.cerniera lampo

Ora è il momento di vedere la demo con un file di sistema. Qualcuno ricorda Vim Vi? È uno dei migliori editor di testo che tutti dovrebbero imparare. Nonostante sia antico, può offrire praticamente tutte le funzionalità "moderne" di un editor di testo, grazie al fantastico vimrc. Ulteriori informazioni su vimrc.

Diamo un'occhiata al sistema vimrc. I suoi attributi originali sono i seguenti.

ls -l /etc/vimrc

Copialo in "DestinationFolder" e guarda le modifiche negli attributi.

cp --verbose /etc/vimrc ~/Desktop/DestinationFolder/

Quasi tutto è cambiato, giusto? Ora usa il flag "-p" per preservare ogni attributo. Questa volta, abbiamo bisogno dell'accesso "sudo".

sudo cp --verbose -p /etc/vimrc ~/Desktop/DestinationFolder/

ls -l /etc/vimrc ~/Desktop/DestinationFolder/vimrc

Ecco! Adesso è tutto uguale!

backup “cp”

Questa è una funzione davvero utile. Se hai intenzione di copiare file con un nome simile, il comportamento predefinito di "cp" è di sovrascrivere quello esistente. Tuttavia, con questa opzione, "cp" eseguirà una copia di backup del file in conflitto con un nome diverso e completerà il processo.

Ad esempio, copiamo 1.zip in "DestinationFolder" con il backup abilitato.

cp -b 1.zip CartellaDestinazione/

Ho permesso a "cp" di sovrascrivere l'1 . esistente.zip ma, invece, ha fatto un backup del file già esistente con ~ alla fine.

Forza copia

In alcune situazioni, "cp" potrebbe avere problemi a scrivere il file nella destinazione a causa del problema di autorizzazione. In tale scenario, dovrebbe essere utilizzato il flag "-f". Questo flag forza "cp" a eliminare prima il file di destinazione e a copiare il contenuto dalla sorgente.

Stai attento, però; se stai eseguendo questa azione su qualsiasi file critico come un'importante configurazione di sistema, potrebbe causare un grosso problema. Usalo con cautela.

cp -f

Pensieri finali

Esistono numerosi modi per utilizzare "cp". Questi non sono l'unico uso di "cp". Se sei interessato ad ulteriori approfondimenti su, sentiti libero di dare un'occhiata alle pagine man e info!

uomo cp

info cp

Godere!

Strumenti utili per i giocatori Linux
Se ti piace giocare su Linux, è probabile che tu abbia utilizzato app e utilità come Wine, Lutris e OBS Studio per migliorare l'esperienza di gioco. O...
Giochi rimasterizzati in HD per Linux che non hanno mai avuto una versione Linux prima
Molti sviluppatori ed editori di giochi stanno realizzando remaster HD di vecchi giochi per prolungare la vita del franchise, per favore i fan richied...
Come utilizzare AutoKey per automatizzare i giochi Linux
AutoKey è un'utilità di automazione desktop per Linux e X11, programmata in Python 3, GTK e Qt. Utilizzando la sua funzionalità di scripting e MACRO, ...