Options avancées de copie de fichiers
Dans cette étape, vous apprendrez quelques options utiles de la commande cp
qui peuvent rendre vos tâches de copie de fichiers plus efficaces.
Commençons par naviguer de nouveau dans le répertoire de projet :
cd ~/project
Conservation des attributs de fichier avec -p
Lorsque vous copiez des fichiers, vous pouvez souhaiter conserver les attributs du fichier d'origine tels que les horodatages (timestamps), la propriété et les autorisations. L'option -p
vous permet de faire cela :
cp -p data-files/apple.txt backup/apple_preserved.txt
Comparons le fichier d'origine et la copie conservée :
ls -l data-files/apple.txt backup/apple.txt backup/apple_preserved.txt
Vous remarquerez que backup/apple_preserved.txt
a le même horodatage que le fichier d'origine, tandis que backup/apple.txt
(que nous avons copié précédemment sans l'option -p
) a un horodatage plus récent.
Création de copies récursives avec -r
Pour copier des répertoires avec leur contenu, vous devez utiliser l'option -r
(récursive). Créons une structure de répertoires imbriqués pour démontrer cela :
mkdir -p data-files/nested/deep
echo "This is a nested file." > data-files/nested/nested_file.txt
echo "This is a deep nested file." > data-files/nested/deep/deep_file.txt
Maintenant, copions tout le répertoire data-files
et son contenu vers un nouvel emplacement :
cp -r data-files data-files-backup
Vérifions que la structure de répertoires et les fichiers ont été correctement copiés :
find data-files-backup -type f | sort
Vous devriez voir une sortie listant tous les fichiers dans la structure de répertoires copiée :
data-files-backup/apple.txt
data-files-backup/grape.txt
data-files-backup/nested/deep/deep_file.txt
data-files-backup/nested/nested_file.txt
data-files-backup/orange.txt
Mode interactif avec -i
Lors de la copie de fichiers, vous risquez d'écraser accidentellement des fichiers existants. L'option -i
(interactive) vous demande confirmation avant d'écraser un fichier :
cp -i data-files/apple.txt backup/apple.txt
Comme backup/apple.txt
existe déjà, vous verrez une invite vous demandant si vous souhaitez l'écraser :
cp: overwrite 'backup/apple.txt'?
Vous pouvez répondre par y
pour écraser ou n
pour annuler.
Ces options avancées rendent la commande cp
encore plus puissante et flexible pour vos besoins de gestion de fichiers.