Il comando cp di Linux
Il comando Linux cp rappresenta l'abbreviazione del comando copy. Il comando cp aiuta a copiare rapidamente file e directory. Questo è un comando ampiamente utilizzato e viene fornito con diverse opzioni che soddisfano i requisiti di copia di base e più complessi.
Conoscere il comando cp di Linux è un'abilità essenziale nel tuo set di strumenti Linux. Se lavori in Cyber Security, come DevOps o Admin Linux, probabilmente utilizzerai questo comando quotidianamente. Ti mostro i comandi più importanti.
Per cominciare, controlleremo prima il cp Linux sintassi del comando e poi guarda le varie opzioni possibili.
La sintassi di base per il comando cp di Linux
Per utilizzare questo comando, dovresti specificare l'origine e la destinazione, in cui l'origine viene copiata nella destinazione.
cp [options] source destination
Copia un file all'interno della stessa directory in un nuovo file con un nuovo nome
Puoi copiare Sample.txt in Sample_copy.txt utilizzando il comando seguente:
cp Sample.txt Sample_copy.txt
Copia il file dalla directory corrente a un'altra directory:
Dalla directory corrente puoi copiare i file in un'altra directory /tmp come mostrato di seguito:
cp Sample.txt /tmp
Copia il file in un'altra directory con un nuovo nome file con il comando Linux cp:
Nell'esempio precedente, Sample.txt viene copiato in un'altra directory con lo stesso nome. Tuttavia, lo stesso comando può essere modificato per copiare un file in una nuova directory e assegnare un nuovo nome al file. Uno di questi esempi è quello mostrato di seguito:
cp Sample.txt /tmp/Sample_copy.txt
Qui questo comando cp di Linux crea un nuovo file Sample_copy.txt con lo stesso contenuto di Sample.txt.
Opzioni Linux cp
Sono disponibili più opzioni per il comando Linux cp. È possibile controllare l'elenco di queste opzioni dalle pagine di manuale. Questo può essere fatto usando il cosiddetto comando man di seguito.
man cp
Come parte dell'output vedrai l'elenco completo delle voci manuali per il comando cp come mostrato di seguito:
Nel caso in cui desideri solo visualizzare le opzioni, puoi anche utilizzare il comando seguente:
cp – help
L'output come mostrato di seguito fornirà tutte le opzioni rilevanti per il comando cp di Linux.
La versione per il comando cp può essere verificata utilizzando il comando seguente:
cp – version
Alcune delle opzioni comunemente usate sono:
- -f Viene utilizzato per la copia forzata e rimuove il file di destinazione nel caso in cui il file esista già
- - i Viene utilizzato per la copia interattiva. Il prompt viene visualizzato prima della sovrascrittura.
- -n Questa opzione non consente la sovrascrittura dei file
- -v Questo stampa messaggi informativi durante la copia
- -u Questo sta per aggiornamento e copie solo quando il file di origine è più recente della destinazione
- -R Questo sta per una copia ricorsiva. Include anche file nascosti da copiare
- -s crea un collegamento simbolico per un file invece di copiarlo.
- -l Collega i file invece di copiare i file
- -p Conserva gli attributi del file durante la copia. Ciò può preservare il timestamp di modifica, l'ora di accesso, la modalità file, i flag di file, l'ID utente e l'ID gruppo
- -b Questa opzione crea un backup del file prima della copia.
In un unico comando di copia, puoi utilizzare più opzioni. Uno di questi esempi è quello mostrato di seguito:
cp -vi /tmp/linux_cp /home/usr/linux_copy
Copia più file
Invece di un file, puoi anche consentire la copia di più file in una posizione specifica. Nell'esempio seguente, due file Sample.txt e Sample_copy.txt vengono copiati nella posizione /tmp
cp -vi /tmp/linux_cp /home/usr/linux_copy
Allo stesso modo, puoi aggiungere più file da copiare in una posizione di directory specifica.
Copia più file con la stessa estensione
Il comando Linux cp ti consente di copiare rapidamente tutti i file con la stessa estensione utilizzando un unico comando. Nel caso in cui sia necessario copiare tutti i file .sh in una singola directory /tmp, è possibile utilizzare il comando come mostrato di seguito:
cp *.sh /tmp
Allo stesso modo, puoi copiare qualsiasi altra estensione di file. Nel caso in cui tu abbia uno schema di file da copiare come Sample_1.sh, Sample_22.sh, Sample_32.sh, puoi consolidare la copia in un comando come mostrato di seguito:
cp Sample*.sh /tmp
Copia di directory singola
Una singola directory può essere copiata direttamente utilizzando il comando cp. Nel caso in cui desideri copiare la directory di test nella directory /home/usr/linux_cp, puoi utilizzare il comando come mostrato di seguito:
cp test /home/usr/linux_cp
Copia tutti i file dalla directory corrente
Per copiare tutti i file dalla directory di lavoro attuale in una nuova directory, puoi provare:
cp * /home/usr/linux_cp
Copia ricorsiva di directory e sottodirectory
Per copiare ricorsivamente tutte le directory ei file presenti in una directory, è necessario utilizzare l'opzione -R mentre si utilizza il comando cp. Nel caso in cui desideri copiare la directory tmp nella directory linux_cp, puoi utilizzare il comando come mostrato di seguito:
cp -R tmp linux_cp
Nel caso in cui sia necessario puntare a una posizione di directory diversa, puoi anche fornire il percorso assoluto della directory nel comando cp Linux sopra.
Copia tutti i file da una directory a un'altra
Per copiare tutti i file da una directory a un'altra directory, è necessario utilizzare l'opzione -R per copiare ricorsivamente tutti i file. Un esempio di tale comando di copia è come mostrato di seguito:
cp -R /tmp/linux_cp/* /home/usr/linux_copy
Questo comando cp di Linux copierà tutti i file e le directory da /tmp/linux_cp a /home/usr/linux_copy
Conclusione
I comandi di copia di Linux sono ampiamente utilizzati mentre si lavora sulla shell. Il comando Linux cp può essere utilizzato per copiare rapidamente directory e file di grandi dimensioni e mantenere l'intera struttura delle directory. Inoltre, i comandi cp di Linux supportano più opzioni come hai visto sopra. Conoscere il comando cp di Linux è un'abilità essenziale nel tuo reportage Linux.