Mini-défi : organiser son espace de travail
Organiser un espace de travail complet en combinant toutes les commandes.
Objectifs
Combiner tout ce qui a été découvert dans le chapitre pour construire un espace de travail propre, organisé et vérifié.
🔗 Pour vous rafraîchir la mémoire : manipulation de fichiers (
cp,mv,rm) · lecture de fichiers et aide (cat,grep,man) · redirections et pipes
Avant de commencer
À la fin de ce défi, vous devriez pouvoir utiliser chaque commande découverte dans ce chapitre sans relire le cours : elles constituent le socle de travail d'un débutant sérieux.
Enoncé
Mission, en 5 étapes :
- Créez dans votre répertoire personnel la structure
projet/documents,projet/images,projet/scripts,projet/sauvegardes. - Créez un fichier
notes.txtet écrivez-y cinq lignes au choix. - Copiez
notes.txtdansprojet/documents, puis déplacez la copie dansprojet/scriptssous le nomnotes-copy.txt. - Ajoutez une ligne au fichier original sans le recréer ni le rouvrir : un simple pipe ou une redirection suffit.
- Vérifiez au final avec une seule commande récursive que la structure est exactement celle attendue.
Contraintes
- Chaque étape est vérifiable : testez, relisez, vérifiez.
- Aucune commande ne doit terminer en erreur (le code de retour doit être 0).
- La plupart des erreurs sont de petites maladresses (
rmsur le mauvais fichier, oubli d'un.., dossier manquant pourcp...). Regardez le résultat de chaque commande avant la suivante.
Indices
Sur l'étape 1 :
mkdir -p accepte plusieurs chemins à la fois. Pensez à ~ pour le point de départ (ou restez simplement dans votre répertoire personnel). Rappel : on ne quitte pas son répertoire en utilisant mkdir ; la structure demandée est relative à la maison.
Sur l'étape 2 :
nano notes.txt ouvre un éditeur ; echo "ligne" >> notes.txt ajoute sans ouvrir. Les deux sont acceptés. Le nom du fichier est libre.
Sur l'étape 3 :
cp notes.txt projet/documents/ puis mv projet/documents/notes.txt projet/scripts/notes-copy.txt : vous transformez copie en déplacement. Faites attention : mv dans un dossier existant ajoute le fichier dedans, mais si le chemin de destination est absent, il échoue.
Sur l'étape 4 :
Pour ajouter sans écraser : >>. Pour ajouter depuis une autre commande : par exemple date >> notes.txt, ou un echo de votre choix.
Sur l'étape 5 :
find est l'outil des recherches de structure : find projet montre l'entier de la hiérarchie. Ou ls -R projet.
Correction disponibleCherchez d’abord par vous-même.Voir la correction
Correction
Solution complète
cd ~
mkdir -p projet/documents projet/images projet/scripts projet/sauvegardes
nano notes.txt # cinq lignes, Ctrl+O, Entrée, Ctrl+X
cp notes.txt projet/documents/
mv projet/documents/notes.txt projet/scripts/notes-copy.txt
echo "Ligne ajoutée sans éditeur" >> notes.txt
ls -R projet
Résultat attendu :
projet/
├── documents/
├── images/
├── scripts/
│ └── notes-copy.txt
└── sauvegardes/
./projet/documents:
./projet/images:
./projet/scripts:
./projet/sauvegardes:
Correction alternative
Avec une autre stratégie, selon les choix :
mkdir -p projet/{documents,images,scripts,sauvegardes} # équivalent, plus compact
Pièges fréquents
mkdir projet/documents projet/images ...sans-péchoue dès le premier chemin si le dossierprojetn'existe pas encore.- Ouvrir
notes.txtdepuis le mauvais répertoire : avantnano, on vérifiepwd. mvversprojetau lieu deprojet/scripts: le fichier part dans la racine du projet. Lisez toujours votrels -Rde contrôle.- Confondre
>et>>:>écrase les cinq lignes initiales. Le réflexe : écrire par-dessus seulement si on veut remplacer.
Si chaque commande s'est terminée sans message d'erreur et que ls -R projet montre la structure attendue, le défi est validé.