Introduction
Dans ce projet, vous allez apprendre à copier les fichiers de plus de 10 Ko à partir du répertoire /etc vers le répertoire /tmp/etc, tout en conservant la structure de répertoires. C'est une compétence utile pour gérer et organiser les fichiers sur un système Linux.
🎯 Tâches
Dans ce projet, vous allez apprendre :
- Comment créer un script pour copier des fichiers en fonction de leur taille
- Comment utiliser la commande
findpour localiser les fichiers qui répondent à des critères spécifiques - Comment conserver la structure de répertoires lors de la copie de fichiers
- Comment exécuter un script avec des privilèges élevés en utilisant
sudo
🏆 Réalisations
Après avoir terminé ce projet, vous serez capable de :
- Automatiser le processus de copie de fichiers en fonction de leur taille
- Conserver la structure de répertoires lors de la copie de fichiers
- Utiliser efficacement la commande
findpour localiser les fichiers qui répondent à des critères spécifiques - Exécuter des scripts avec des privilèges élevés pour accéder à des fichiers et répertoires protégés
Créer le script de copie
Dans cette étape, vous allez créer le script qui copiera les fichiers de plus de 10 Ko du répertoire /etc vers le répertoire /tmp/etc.
- Ouvrez le fichier
copy.shdans le répertoire/home/labex/projectà l'aide d'un éditeur de texte. - Ajoutez le code suivant au fichier :
#!/bin/zsh
## Ce script copie les fichiers de plus de 10 Ko d'un répertoire source vers un répertoire cible.
## Définissez le répertoire source et le répertoire cible
source_dir="/etc"
target_dir="/tmp"
## Créez le répertoire cible s'il n'existe pas
mkdir -p "$target_dir"
## Utilisez la commande find pour localiser les fichiers de plus de 10 Ko et les copier dans le répertoire cible
find "$source_dir" -type f -size +10k -exec cp --parents --dereference "{}" "$target_dir" \;
echo "La copie des fichiers est terminée."
- Enregistrez le fichier.
Dans cette étape, vous avez créé le script copy.sh qui copiera les fichiers de plus de 10 Ko du répertoire /etc vers le répertoire /tmp/etc, tout en conservant la structure de répertoires.
Exécuter le script de copie
Dans cette étape, vous allez exécuter le script copy.sh pour copier les fichiers.
- Ouvrez un terminal et accédez au répertoire
/home/labex/project. - Exécutez le script à l'aide de la commande suivante :
sudo sh copy.sh
Cela exécutera le script avec des privilèges élevés, lui permettant de copier des fichiers auxquels l'utilisateur labex peut ne pas avoir accès.
- Attendez que le script se termine. Vous devriez voir le message "La copie des fichiers est terminée." lorsque le script est terminé.
Dans cette étape, vous avez exécuté le script copy.sh pour copier les fichiers de plus de 10 Ko du répertoire /etc vers le répertoire /tmp/etc.
Vérifier les fichiers copiés
Dans cette étape, vous allez vérifier que les fichiers ont été correctement copiés.
- Ouvrez un gestionnaire de fichiers et accédez au répertoire
/tmp/etc. - Observez la structure de répertoire et les fichiers qui ont été copiés. Vous devriez constater que la structure de répertoire a été conservée et que seuls les fichiers de plus de 10 Ko ont été copiés.
- Vous pouvez également utiliser la commande
ls -ldans le terminal pour lister les fichiers et leurs tailles dans le répertoire/tmp/etc.
Dans cette étape, vous avez vérifié que les fichiers ont été correctement copiés du répertoire /etc vers le répertoire /tmp/etc.
Félicitations ! Vous avez réussi le projet de copie de fichiers de plus de 10 Ko du répertoire /etc vers le répertoire /tmp/etc, tout en conservant la structure de répertoire.
Résumé
Félicitations ! Vous avez terminé ce projet. Vous pouvez pratiquer plus de laboratoires dans LabEx pour améliorer vos compétences.



