logo

Comandament cp a Linux/Unix | Fitxer de còpia de Linux

'cp' significa còpia. L'ordre 'cp' s'utilitza per copiar un fitxer o un directori.

Introducció al comandament cp

L'ordre cp s'utilitza per copiar directoris i fitxers. L'ordre conté tres modes de funcionament principals, representats pels tipus d'arguments que es mostren al programa per copiar un fitxer a altres fitxers, diversos fitxers a qualsevol directori o per copiar tots els directoris a altres directoris.

A més, la utilitat accepta diversos indicadors d'opcions de línia d'ordres per detallar les operacions implementades. Les dues especificacions principals són GNU cp i POSIX cp. GNU cp conté diverses opcions addicionals a la versió POSIX. A més, l'ordre està disponible a l'intèrpret d'ordres EFI.

Modes de funcionament de la comanda cp

L'ordre cp conté tres modes de funcionament principals. Aquests modes es completen des del recompte i el tipus d'arguments que es mostren al programa sota invocació.

  • El programa pot copiar el contingut del primer fitxer al segon fitxer, fent que el segon fitxer sigui essencial quan el programa conté dos arguments de nom de camí als fitxers.
  • El programa pot copiar tots els fitxers font al directori desitjat, fent que qualsevol fitxer no estigui disponible quan el programa conté un o més arguments de nom de camí dels fitxers i perseguint aquests un argument de ruta a un directori.
  • L'ordre cp pot copiar tots els fitxers dins del directori font al directori desitjat, fent que els directoris o fitxers siguin necessaris quan els arguments del programa són els noms de camí de dos directoris. Aquest mode d'operació necessita un indicador d'opció addicional per representar la còpia del directori recursiu. La font es copiarà a la destinació, mentre que es crea un directori nou si la destinació no existeix si el directori de destinació ja està disponible.

Opcions de l'ordre cp

Opció Descripció
--arxiu, -a És equivalent a -dR --preserve=all.
--només-atributs No copia les dades del fitxer, només els atributs.
-b És com una còpia de seguretat però no accepta cap argument.
--còpia de seguretat[=CONTROL] Fa una còpia de seguretat de tots els fitxers de destinació existents.
--copia-contingut Quan és recursiu, copia el contingut especial del fitxer.
-d És equivalent a --no-dereference --preserve=links.
--força, -f Si no es pot obrir cap fitxer de destinació existent, suprimiu-lo i torneu-ho a provar (aquesta opció s'evita si també s'utilitza el senyalador -n).
--interactiu, -i Demana confirmació abans de sobreescriure (anul·la el senyalador -n anterior).
-H A SOURCE, segueix els enllaços simbòlics de la línia d'ordres.
--enllaç, -l Especifica fitxers d'enllaç dur en lloc de copiar-los.
--desreferència, -L A SOURCE, sempre segueix enllaços simbòlics.
--no-clobber, -n No sobreescriu cap fitxer existent (substitueix el senyalador -i).
--no-dereference, -P A SOURCE, mai segueix enllaços simbòlics.
-p És equivalent a --preserve=mode, marca de temps, propietat.
--preserve[=ATTR_LIST] Conserva els atributs descrits. Si és possible, atributs addicionals: tot, xattr, enllaços, context.
--no-preserve=ATTR_LIST No conserva els atributs descrits.
--pares Sota el directori, utilitza el nom complet del fitxer font.
--recursiu, -r, -R Copia de forma recursiva directoris.
--reflink[=QUAN] Controla les còpies CoW/clon.
--eliminar-destinació Elimina tots els fitxers de destinació existents abans d'intentar obrir-los (en contraposició a --force).
--esparsa=QUAN Controla l'establiment de fitxers dispersos.
--string-trailing-slashes Elimina les barres inclinades al final de tots els arguments SOURCE.
--enllaç-simbòlic, -s Fa enllaços simbòlics en lloc de copiar.
--sufix=SUFFIX, -S Invalida el sufix de còpia de seguretat comú.
--target-directory=DIRECTORI, -t Copia tots els arguments SOURCE a DIRECTORY.
--no-target-directory, -T Considera DEST com un fitxer general.
--actualització, -u Es copia si el fitxer SOURCE és més nou en comparació amb el fitxer de destinació o si no s'especifica el fitxer de destinació.
--verbosa, -v S'especifica què s'està fent.
--one-file-system, -x Es manté al sistema de fitxers.
-AMB Estableix el context de seguretat SELinux del fitxer de destinació al tipus predeterminat.
--context[=CTX] És el mateix que -Z, o si s'esmenta CTX, estableix el context de seguretat SMACK o SELinux a CTX.
--ajuda Mostra el menú d'ajuda i surt.
--versió Proporciona detalls de la versió i sortides.

Els fitxers SOURCE esparsos es troben mitjançant una heurística barata, i el fitxer DESR relacionat es crea escàs per defecte. És el comportament escollit per --sparse=automàtic . Podem descriure --esparsa=sempre per fer un fitxer DEST escàs si el fitxer SOURCE inclou un ordre prou llarg de zero bytes. També podem sol·licitar --esparsa=mai per limitar l'establiment de fitxers escassos.

Si --reflink[=sempre] s'esmenta, implementar una còpia lleugera, en la qual els blocs de dades només s'han copiat si s'han modificat. Si no és possible o --reflink=automàtic s'esmenta, la còpia falla i torna a la còpia estàndard. També podem sol·licitar --reflink=mai per garantir que s'implementa una còpia estàndard.

Per copiar un fitxer a la mateixa sintaxi del directori serà,

 cp 

Fitxer Linux cp

A la instantània anterior, hem creat una còpia de 'docu' i el va anomenar com 'nou' . Si en cas, (en el nostre cas és 'newdocu') ja existeix, llavors simplement escriurà el fitxer anterior.

Per copiar un fitxer en un directori diferent

Hem d'esmentar la ruta del directori de destinació.

A la instantània següent, abans no hi ha cap fitxer de 'text'. Després de donar l'ordre, 'text' el fitxer s'ha copiat al directori de destinació, és a dir 'Escriptori' .

Fitxer Linux cp

Linux cp -r

Opció 'r' amb l'ordre copy es pot utilitzar per copiar un directori que inclou tot el seu contingut des d'un directori d'origen al directori de destinació.

Sintaxi:

 cp -r 

Exemple:

 cp -r library /home/sssit/Documents 

linux cp -r

A l'exemple anterior, hem copiat el directori 'biblioteca' al directori de destinació /home/sssit/Documents . Aquí, tot el contingut del directori 'biblioteca', inclòs el seu contingut, s'ha copiat al directori de destinació.

Linux Copia diversos fitxers o directoris

Es poden copiar diversos fitxers o directoris a un directori de destinació alhora. En aquest cas, l'objectiu ha de ser un directori. Podeu utilitzar per copiar diversos fitxers comodins (cp *.extension) amb el mateix patró.

Sintaxi:

 cp *. 

Exemple:

 cp *.txt /home/sssit/Documents 

Linux copia diversos fitxers

A l'exemple anterior, hem copiat fitxers (fitxer1, fitxer2, fitxer3) amb la mateixa extensió '.txt' al directori de documents.

Linux cp --backup

Si el fitxer que voleu copiar ja existeix al directori de destinació, podeu fer una còpia de seguretat del fitxer existent amb l'ús d'aquesta ordre.

java és nul

Sintaxi:

 cp --backup 

Exemple:

 cp --backup file2.txt /home/sssit/Downloads 

Còpia de seguretat de fitxers Linux cp

Com podeu veure més amunt, 'fitxer2.txt' ja existeix al directori de destinació. Per tant, hem creat una còpia de seguretat d'aquest fitxer i l'hem copiat al mateix directori (que té el mateix nom).

Ara el nostre directori de destinació que és 'Descàrregues' té dos fitxers amb el mateix nom (és a dir, 'fitxer2.txt').

Linux cp -i

L'opció cp '-i' us permet confirmar una vegada abans de sobreescriure el vostre fitxer.

Sintaxi:

 cp -i 

Exemple:

 cp -i file3.txt /home/sssit/Desktop 

Linux cp -i

Com podeu veure, demana permís per sobreescriure el fitxer 'fitxer3.txt' ja que aquest fitxer ja existeix al directori de destinació. Ara pots prémer i per sobreescriure el fitxer i n per no sobreescriure el fitxer.

Linux cp -l

Si voleu crear un enllaç dur d'un fitxer en lloc de copiar-lo, podeu utilitzar l'opció 'l'.

Nota: En crear un enllaç dur del fitxer, el número d'inode dels dos fitxers es mantindrà igual. Mentre que en cas de còpia, el número d'inode canvia.

Sintaxi:

 cp -l 

Exemple:

 cp -l file1.txt usr/ 

Fitxer Linux cp -l

Tingueu en compte que hem creat un enllaç dur del fitxer 'fitxer1.txt' en 'usr' . El número d'inode dels dos fitxers és el mateix.

Linux cp -p

L'opció cp '-p' s'utilitza per preservar les propietats i els atributs d'un fitxer. També podeu conservar les propietats seleccionades que vulgueu.

Sintaxi:

 cp -p 

Exemple:

cicle de vida del desenvolupament de programari
 cp -p file2.txt usr/ 

Linux cp -p

Ara, podeu fer coincidir els dos fitxers (l'original i el copiat) a la imatge anterior, tots dos tenen les mateixes propietats.

Linux cp -u -v

L'ordre cp -u -v s'utilitza quan voleu assegurar-vos que falta el fitxer de destinació o no existeix.

Sintaxi:

 cp -u -v 

Exemple:

 cp -u -v docc file1.txt /home/sssit/Downloads/ 

Linux cp -u -v

A la imatge de dalt, podeu veure que hi ha dos fitxers 'dutxa' i 'fitxer1.txt' . Ara volem copiar aquests dos fitxers al directori 'Descàrrega'. Però no sabem que al directori 'Descàrregues' el fitxer 'fitxer1.txt' ja existeix.

Donant l'ordre 'cp -u -v' s'encarregarà automàticament del fitxer ja existent (fitxer1.txt) i no el sobreescriurà.

Aquesta ordre és útil per copiar fitxers grans.