Présentation
Ce guide vous montrera comment copier des fichiers et des répertoires sous Linux en exécutant des commandes à partir de la ligne de commande. De plus, les commandes répertoriées ci-dessous expliquent comment créer des sauvegardes à l'échelle du système ou filtrer et copier uniquement des fichiers spécifiques.
Utilisation de la commande cp pour copier des fichiers et des répertoires sous Linux
Le cp
La commande est la méthode principale pour copier des fichiers et des répertoires sous Linux. Pratiquement toutes les distributions Linux peuvent utiliser cp
. Le format de base de la commande est :
cp [additional_option] source_file target_file
Par exemple :
cp my_file.txt my_file2.txt
Cette commande Linux crée une copie de my_file.txt file et renomme le nouveau fichier en my_file2.txt .
Par défaut, le cp
La commande s'exécute dans le même répertoire que celui dans lequel vous travaillez. Cependant, le même fichier ne peut pas exister deux fois dans le même répertoire. Vous devrez changer le nom du fichier cible à copier au même emplacement. Certains utilisateurs ajouteront _old , certains ajouteront un chiffre et d'autres modifieront même l'extension à trois lettres (par exemple, .bak au lieu de .txt ).
Vous ne recevrez peut-être pas d'avertissement avant que Linux n'écrase votre fichier - soyez prudent ou consultez ci-dessous pour le –i
option.
Options supplémentaires
Des options supplémentaires peuvent être utilisées en combinaison avec le cp
commande :
–v
verbeux :affiche la progression de plusieurs fichiers copiés–p
préserver :conserve les mêmes attributs, comme la date de création et les autorisations de fichier–f
forcer :forcer la copie en supprimant d'abord un fichier existant–i
interactif :demande de confirmation, fortement conseillé–R
récursif :copie tous les fichiers et sous-dossiers d'un répertoire–u
mettre à jour :copier uniquement si la source est plus récente que la destination
Comment copier un fichier dans un autre répertoire sous Linux
Pour copier un fichier du répertoire dans lequel vous travaillez vers un autre emplacement, utilisez la commande :
cp my_file.txt /new_directory
Vous n'avez pas besoin de renommer le fichier à moins qu'il n'y en ait déjà un portant le même nom dans le répertoire cible.
Pour spécifier un chemin pour le fichier source :
cp /etc/my_file.txt /new_directory
Cela vous permet de copier sans avoir à changer de répertoire. Le cp
la commande créera le /new_directory s'il n'existe pas.
Pour renommer et copier un fichier dans un autre chemin :
cp my_file.txt /new_directory/my_file2.txt
Cette option est utile pour créer des sauvegardes de fichiers de configuration ou pour copier des données sur un périphérique de stockage.
Copier plusieurs fichiers d'un répertoire à un autre sous Linux
Vous devrez peut-être copier plusieurs fichiers à la fois.
Lister chaque fichier à copier avant le répertoire cible :
cp my_file.txt my_file2.txt my_file3.txt /new_directory
Cet exemple a créé une copie des trois fichiers dans le /new_directory dossier.
Utilisez un caractère générique pour spécifier tous les fichiers qui partagent une chaîne de caractères :
cp /pictures/*.jpg /new_directory
Cela trouverait tous les fichiers avec le .jpg extension dans /images répertoire et copiez-les dans le répertoire /new_directory dossier.
Pourcopier un dossier entier et ses sous-dossiers et fichiers , utilisez le –R
choix :
cp –R /documents /new_directory
–R
signifie récursif, ce qui signifie "tout à cet endroit". Cela copierait tous les fichiers, ainsi que tous les répertoires, dans le /nouveau_répertoire dossier.
Copier à l'aide de la commande rsync
La commande rsync sous Linux est utilisée pour synchroniser ou transférer des données entre deux emplacements. L'utilisation est similaire à cp
, mais il y a quelques différences importantes à noter.
Pour copier un seul fichier, saisissez ce qui suit dans un terminal :
rsync –a my_file.txt /new_directory/my_file_backup.txt
- Le
–a
l'option signifie tous , et est inclus avecrsync
commandes - cela préserve les sous-répertoires, les liens symboliques et d'autres métadonnées. - Remplacer le mon_fichier.txt fichier dans le répertoire de travail.
- Remplacer /nouveau_répertoire/ avec la destination.
- Utilisation de my_file_backup.txt comme la cible l'indique, le fichier sera renommé lors de la copie.
Pour copier un répertoire avec rsync, entrez ce qui suit :
rsync –a /etc/docker/ /home/backup/docker/
Cela copie le contenu de /etc/docker/ répertoire vers /home/backup/docker/ . Assurez-vous de conserver les barres obliques. Omettre la barre oblique dans le répertoire source copiera le contenu dans un sous-répertoire.
Pour empêcher la copie de fichiers, consultez notre guide sur la façon d'exclure des fichiers et des répertoires du transfert de données à l'aide de la commande rsync.
Autres options
Le ls
La commande est un partenaire pratique du cp
commande sous Linux.
Pour lister le contenu d'un répertoire entrez la commande :
ls /directory
L'exemple ci-dessus affiche tous les fichiers dans /directory . Utilisez cette commande après la copie pour vérifier que les fichiers ont été copiés avec succès.
Pour changer de répertoire, utilisez cd
et le nom du répertoire. Par exemple :
cd /other_directory
L'invite de commande changera pour indiquer que vous avez changé de répertoire.