logo

Commande cp sous Linux/Unix | Fichier de copie Linux

'cp' signifie copie. La commande 'cp' est utilisée pour copier un fichier ou un répertoire.

Introduction à la commande cp

La commande cp est utilisée pour copier des répertoires et des fichiers. La commande contient trois modes de fonctionnement principaux, représentés par les types d'arguments présentés au programme pour copier un fichier vers d'autres fichiers, plusieurs fichiers vers n'importe quel répertoire ou pour copier des répertoires entiers vers d'autres répertoires.

De plus, l'utilitaire accepte plusieurs indicateurs d'options de ligne de commande pour détailler les opérations mises en œuvre. Les deux spécifications principales sont GNU cp et POSIX cp. GNU cp contient diverses options supplémentaires sur la version POSIX. En outre, la commande est disponible dans le shell EFI.

Modes de fonctionnement de la commande cp

La commande cp contient trois modes de fonctionnement principaux. Ces modes sont complétés à partir du nombre et du type d'arguments présentés au programme en cours d'invocation.

  • Le programme peut copier le contenu du premier fichier dans le deuxième fichier, ce qui rend le deuxième fichier indispensable lorsque le programme contient deux arguments de nom de chemin vers les fichiers.
  • Le programme peut copier tous les fichiers sources dans le répertoire souhaité, rendant tout fichier qui n'est pas déjà disponible lorsque le programme contient un ou plusieurs arguments de nom de chemin de fichiers et en les poursuivant comme argument de chemin vers un répertoire.
  • La commande cp peut copier chaque fichier du répertoire source dans le répertoire souhaité, rendant tous les répertoires ou fichiers requis lorsque les arguments du programme sont les noms de chemin de deux répertoires. Ce mode de fonctionnement nécessite un indicateur d'option supplémentaire pour représenter la copie récursive du répertoire. La source sera copiée dans la destination, tandis qu'un nouveau répertoire est créé si la destination n'existe pas si le répertoire de destination est déjà disponible.

Options de la commande cp

Option Description
--archive, -a C'est équivalent à -dR --preserve=all.
--attributs uniquement Il ne copie pas les données du fichier, uniquement les attributs.
-b C'est comme une sauvegarde mais n'accepte aucun argument.
--backup[=CONTROL] Il effectue une sauvegarde de tous les fichiers de destination existants.
--copy-contenu Lorsqu'il est récursif, il copie le contenu d'un fichier spécial.
-d C'est équivalent à --no-dereference --preserve=links.
--force, -f Si un fichier de destination existant ne peut pas être ouvert, supprimez-le et réessayez (cette option est évitée si l'indicateur -n est également utilisé).
--interactif, -i Il demande une confirmation avant d'écraser (remplace l'indicateur -n précédent).
-H Dans SOURCE, il suit les liens symboliques de la ligne de commande.
--lien, -l Il spécifie les fichiers de lien physique plutôt que la copie.
--déréférence, -L Dans SOURCE, il suit toujours des liens symboliques.
--pas de frappe, -n Il n'écrase aucun fichier existant (remplace l'indicateur -i).
--pas de déréférencement, -P Dans SOURCE, il ne suit jamais de liens symboliques.
-p C'est équivalent à --preserve=mode, horodatages, propriété.
--preserve[=ATTR_LIST] Il préserve les attributs décrits. Si possible des attributs supplémentaires : all, xattr, links, context.
--no-preserve=ATTR_LIST Il ne conserve pas les attributs décrits.
--parents Sous le répertoire, il utilise le nom complet du fichier source.
--récursif, -r, -R Il copie récursivement les répertoires.
--reflink[=QUAND] Il contrôle les copies CoW/clone.
--supprimer-destination Il supprime tous les fichiers de destination existants avant d'essayer de les ouvrir (contrairement à --force).
--sparse = QUAND Il contrôle l'établissement de fichiers clairsemés.
--string-trailing-slashes Il supprime les barres obliques finales de tous les arguments SOURCE.
--lien-symbolique, -s Il crée des liens symboliques plutôt que de copier.
--suffix=SUFFIXE, -S Il remplace le suffixe de sauvegarde commun.
--target-directory=REPERTOIRE, -t Il copie chaque argument SOURCE dans DIRECTORY.
--pas de répertoire-cible, -T Il considère DEST comme un fichier général.
--update, -u Il copie si le fichier SOURCE est plus récent que le fichier de destination ou si le fichier de destination n'est pas spécifié.
--verbeux, -v Il précise ce qui est fait.
--un-système-de-fichiers, -x Il reste sur le système de fichiers.
-AVEC Il définit le contexte de sécurité SELinux du fichier de destination sur le type par défaut.
--context[=CTX] C'est la même chose que -Z, ou si CTX est mentionné, cela définit le contexte de sécurité SMACK ou SELinux sur CTX.
--aide Il affiche le menu d'aide et quitte.
--version Il fournit des détails sur la version et quitte.

Les fichiers SOURCE clairsemés sont trouvés par une heuristique bon marché, et le fichier DESR associé est créé par défaut. C'est le comportement choisi par --sparse=auto . Nous pouvons décrire --sparse=toujours pour créer un fichier DEST clairsemé si le fichier SOURCE comprend un ordre suffisamment long de zéro octet. Nous pouvons également postuler --sparse=jamais pour contraindre l’établissement de fichiers clairsemés.

Si --reflink[=toujours] est mentionné, implémentez une copie légère, dans laquelle les blocs de données n'ont été copiés que s'ils ont été modifiés. Si ce n'est pas possible ou --reflink=auto est mentionné, la copie échoue et revient à la copie standard. Nous pouvons également postuler --reflink=jamais pour garantir qu'une copie standard est mise en œuvre.

Copier un fichier dans la même syntaxe de répertoire sera,

 cp 

Fichier Linux cp

Dans l'instantané ci-dessus, nous avons créé une copie de 'document' et l'a nommé comme 'nouveau' . Si au cas où, (dans notre cas, il s'agit de 'newdocu') existe déjà, alors il écrasera simplement le fichier précédent.

tableaux en java

Pour copier un fichier dans un autre répertoire

Il faut mentionner le chemin du répertoire de destination.

Dans l'instantané ci-dessous, il n'y avait pas de fichier « texte ». Après avoir donné l'ordre, 'texte' Le fichier a été copié dans le répertoire de destination qui est 'Bureau' .

Fichier Linux cp

Linux cp -r

Option 'r' avec la commande copy peut être utilisé pour copier un répertoire y compris tout son contenu d'un répertoire source vers le répertoire de destination.

Syntaxe:

 cp -r 

Exemple:

dans une chaîne en java
 cp -r library /home/sssit/Documents 

Linux cp-r

Dans l'exemple ci-dessus, nous avons copié le répertoire 'bibliothèque' vers le répertoire de destination /accueil/sssit/Documents . Ici, tout le contenu du répertoire « bibliothèque », y compris son contenu, a été copié dans le répertoire de destination.

Linux Copier plusieurs fichiers ou répertoires

Plusieurs fichiers ou répertoires peuvent être copiés simultanément vers un répertoire de destination. Dans ce cas, la cible doit être un répertoire. Pour copier plusieurs fichiers, vous pouvez utiliser caractères génériques (cp *.extension) ayant le même modèle.

Syntaxe:

 cp *. 

Exemple:

 cp *.txt /home/sssit/Documents 

Linux copie plusieurs fichiers

Dans l'exemple ci-dessus, nous avons copié des fichiers (fichier1, fichier2, fichier3) ayant la même extension '.SMS' dans le répertoire Documents.

Linux cp --sauvegarde

Si le fichier que vous souhaitez copier existe déjà dans le répertoire de destination, vous pouvez sauvegarder votre fichier existant à l'aide de cette commande.

Syntaxe:

programme de tableau à deux dimensions en c
 cp --backup 

Exemple:

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

Sauvegarde du fichier cp Linux

Comme vous pouvez le voir ci-dessus, 'fichier2.txt' existe déjà dans le répertoire de destination. Par conséquent, nous avons créé une sauvegarde de ce fichier et l'avons copié dans le même répertoire (ayant le même nom).

Maintenant, notre répertoire de destination, « Téléchargements », contient deux fichiers portant le même nom (c'est-à-dire « file2.txt »).

Linux cp-i

L'option cp '-i' vous permet de confirmer une fois avant d'écraser votre fichier.

Syntaxe:

 cp -i 

Exemple:

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

Linux cp-i

Comme vous pouvez le voir, il demande l'autorisation d'écraser le fichier. 'fichier3.txt' car ce fichier existe déjà dans le répertoire de destination. Maintenant, vous pouvez appuyer sur et pour écraser le fichier et n ne pas écraser le fichier.

Linux cp -l

Si vous souhaitez créer un lien physique vers un fichier au lieu de copier ce fichier, vous pouvez utiliser l'option « l ».

chaîne dans un tableau en c

Note: Lors de la création d'un lien physique du fichier, le numéro d'inode des deux fichiers restera le même. En cas de copie, le numéro d'inode change.

Syntaxe:

 cp -l 

Exemple:

 cp -l file1.txt usr/ 

Fichier Linux cp -l

Notez ici que nous avons créé un lien physique du fichier 'fichier1.txt' dans 'usr' . Le numéro d'inode des deux fichiers est le même.

Linux cp-p

L'option cp '-p' est utilisée pour conserver les propriétés et les attributs d'un fichier. Vous pouvez également conserver les propriétés sélectionnées que vous souhaitez.

Syntaxe:

 cp -p 

Exemple:

 cp -p file2.txt usr/ 

Linux cp-p

Maintenant, vous pouvez faire correspondre les deux fichiers (celui d'origine et celui copié) dans l'image ci-dessus, les deux ont les mêmes propriétés.

Linux cp -u -v

La commande cp -u -v est utilisée lorsque vous souhaitez vous assurer que le fichier de destination est manquant ou n'existe pas.

tableau Java

Syntaxe:

 cp -u -v 

Exemple:

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

Linux cp -u -v

Dans l'image ci-dessus, vous pouvez voir qu'il y a deux fichiers 'douche' et 'fichier1.txt' . Nous voulons maintenant copier ces deux fichiers dans le répertoire 'Téléchargement'. Mais nous ne savons pas que dans le répertoire « Téléchargements », le fichier « file1.txt » existe déjà.

Donner le commandement 'cp -u -v' prendra automatiquement soin du fichier déjà existant (file1.txt) et ne l'écrasera pas.

Cette commande est utile pour copier de gros fichiers.