Nous avons exécuté les commandes et les exemples mentionnés dans cet article sur un système Debian 10 Buster, mais vous pouvez les reproduire sur presque toutes les distros de Linux.
La ligne de commande Linux, le terminal, peut être facilement accessible via l'application. Recherche de lanceur comme suit:
Exemple 1: Copie d'un seul fichier dans un répertoire cible
L'utilisation la plus simple de la commande CP consiste à copier un seul fichier source dans un répertoire cible. Voici la syntaxe que vous pouvez utiliser pour le faire:
$ cp sourcefile / cible / répertoire
Exemple:
Dans cet exemple, je copie un fichier nommé Sample_file.txt dans mon dossier de documents:
Plus tard, j'ai vérifié la présence du fichier dans le dossier cible via la commande LS.
Exemple 2: Copie de plusieurs fichiers dans un répertoire cible
Avec la commande CP, vous pouvez copier plusieurs fichiers dans un répertoire cible en utilisant la syntaxe suivante:
$ cp sourcefile1 sourcefile2 sourcefile3… / cible / répertoire
Exemple:
Dans cet exemple, je copie deux exemples de fichiers dans mon dossier Documents via la commande CP:
Plus tard, j'ai vérifié la présence de ces fichiers dans le dossier cible via la commande LS.
Exemple 3: Copie des fichiers de manière interactive
Si un fichier avec le même nom existe dans votre dossier cible, vous pouvez utiliser la commande CP pour vous inviter avant d'écraser le fichier cible. Vous pouvez utiliser le commutateur -I de la manière suivante:
$ CP -i SourceFile / Target / Directory
Exemple:
Dans cet exemple, un fichier nommé Sample_file.txt existe déjà dans mon dossier Documents, donc la commande CP, avec le drapeau -i, m'invite si je veux l'écraser. Le fichier sera écrasé si j'entre Y à cette invite.
Exemple 4: Copie de fichiers avec une sortie verbale
Une sortie verbeuse imprime ce que fait la commande. Cela peut être incorporé dans la commande CP avec le commutateur -v comme suit:
$ CP -V SourceFile / Target / Directory
Exemple:
Vous pouvez voir dans l'exemple suivant comment la commande CP imprime une sortie verbale lors de la copie d'une commande:
Exemple 5: Copie d'un répertoire récursivement
L'utilisation de l'option -r avec la commande CP copie récursivement tous les fichiers et dossiers dans un répertoire vers un autre emplacement. C'est ainsi que vous pouvez utiliser la commande CP dans ce scénario:
$ cp -r Directory1 Directory2
Exemple:
Dans l'exemple suivant, l'ensemble du dossier 1, avec tous ses fichiers, sera copié dans le dossier2.
J'ai vérifié plus tard le contenu de Folder2 via la commande LS. Le dossier2 contient une copie du dossier source maintenant.
Exemple 6: Copier un répertoire récursivement tout en gardant une archive
En utilisant le commutateur -a avec la commande CP, vous pouvez faire deux choses à la fois:
C'est ainsi que vous pouvez utiliser la commande CP dans ce scénario:
$ cp -a répertoire1 répertoire2
Exemple:
Dans l'exemple suivant, tout le dossier entier 1, avec tous ses fichiers, sera copié dans le dossier2. De plus, les fichiers seront archivés comme vérifié plus tard via la commande 'ls -l'.
Exemple 7: Copiez un fichier au cas où il est plus récent que le fichier cible
Parfois, vous souhaitez copier un fichier dans le répertoire cible uniquement s'il est plus récent que le fichier cible. Cela peut être fait en utilisant le commutateur -u avec la commande CP:
$ cp -u sourcefileorsourcedIrectory / cible / répertoire
Exemple:
Dans cet exemple, j'ai édité un fichier exemple_file.txt de mon dossier source. Ces fichiers ont déjà été copiés dans le dossier cible avant de modifier le fichier. Cela peut être vu dans la sortie suivante de la commande 'ls -l':
Maintenant, lorsque j'ai copié le dossier source dans le dossier cible, la sortie verbeux a vérifié que seul ce fichier sera copié qui a été édité par moi.
Exemple 8: copier un fichier mais ne pas écraser si un fichier cible existe déjà
Vous pouvez dire à la commande CP de ne pas écraser le fichier s'il existe déjà dans l'emplacement cible. Cela peut être fait via le commutateur -n comme suit:
$ CP -N Sourcefile / Target / Directory
Exemple:
Dans cet exemple, j'ai d'abord essayé de copier un fichier à l'emplacement cible où il existait déjà. L'interrupteur -i m'a incité si je veux l'écraser.
Dans la deuxième commande, j'ai ajouté le commutateur -n. Il a ignoré le commutateur -i mais n'a pas remplacé le fichier déjà existant dans le répertoire cible.
Exemple 9: Créez un lien symbolique vers un fichier dans le répertoire cible
Avec le commutateur -s dans la commande CP, vous pouvez créer un lien symbolique vers le fichier source dans le dossier cible au lieu de copier le fichier source.
$ CP -S Sourcefile / Target / Directory
Exemple:
Dans l'exemple suivant, j'ai créé un lien symbolique vers le fichier sample_file.txt dans le dossier cible.
J'ai vérifié plus tard la présence du lien symbolique dans le dossier cible via la commande 'ls -l'.
Exemple 10: Créez un lien dur vers un fichier dans le répertoire cible
Lorsque vous créez un lien dur vers un fichier dans un autre dossier, le fichier n'est pas copié dans le dossier cible; Au lieu de cela, un lien dur vers le fichier source est créé. Le numéro Inode du fichier source et du lien dur copié est le même. C'est comment créer un lien dur:
$ CP -L Sourcefile / Target / Directory
Exemple:
Dans cet exemple, j'ai créé un lien dur vers le fichier source dans le dossier Documents.
Grâce à la commande 'ls -il', j'ai vérifié que le fichier d'origine et le lien dur ont les mêmes numéros d'inode.
C'était tout ce que vous aviez besoin de savoir pour maîtriser la commande CP dans Linux. En utilisant une combinaison de ces commutés, vous pouvez rendre la copie de fichiers beaucoup plus personnalisable.