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é — sans relire les leçons.
🔗 Pour vous rafraîchir la mémoire : manipulation de fichiers (
cp,mv,rm) · lecture de fichiers et aide (cat,grep,man) · redirections et pipes
Énoncé
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.txtà la racine de votre répertoire personnel, contenant exactement cinq lignes. - Copiez
notes.txtdansprojet/documents, puis déplacez la copie dansprojet/scriptssous le nomnotes-copy.txt. - Ajoutez une sixième ligne au fichier original sans le recréer ni ouvrir d'éditeur : redirection ou pipe suffisent. Faites apparaître l'heure d'ajout dans cette ligne.
- Vérifiez au final que la structure est exactement celle attendue, avec une seule commande.
Critères d'acceptation
Le défi est réussi quand toutes ces conditions sont vraies :
- chaque commande s'est terminée sans message d'erreur ;
notes.txt(à la maison) contient 6 lignes, dont la dernière mentionne bien l'heure ;projet/documents/est vide ;projet/scripts/contientnotes-copy.txt(les cinq premières lignes du fichier original) ;projet/images/etprojet/sauvegardes/sont vides ;- la vérification finale tient en une seule commande.
Contraintes
- Chaque étape est vérifiable : testez, relisez, vérifiez avant de continuer.
- Aucune commande ne doit terminer en erreur (rappel du chapitre suivant : cela se mesure avec
$?). - La plupart des erreurs sont des petites maladresses (
rmsur le mauvais fichier, oubli d'un.., dossier cible inexistant pourcp...). Regardez le résultat de chaque commande avant de lancer la suivante. - Utilisez Tab systématiquement : moins de fautes, plus de vitesse.
Indices
Sur l'étape 1 :
mkdir -p accepte plusieurs chemins à la fois. Restez dans votre répertoire personnel (vérifiez avec pwd) : les chemins demandés sont relatifs à votre maison. La forme compacte mkdir -p projet/{documents,images,...} est acceptée aussi.
Sur l'étape 2 :
Deux méthodes valables : nano notes.txt (tapez vos cinq lignes, Ctrl+O, Entrée, Ctrl+X), ou cinq redirections successives :
echo "ligne un" > notes.txt # > pour la première : crée
echo "ligne deux" >> notes.txt # >> ensuite : ajoute
Vérification immédiate conseillée : cat notes.txt puis wc -l notes.txt doit répondre 5.
Sur l'étape 3 :
cp notes.txt projet/documents/
mv projet/documents/notes.txt projet/scripts/notes-copy.txt
Attention au sens de chaque commande : après le cp il existe deux exemplaires ; après le mv, il n'en reste qu'un, ailleurs et sous un autre nom. Vérifiez entre les deux avec ls projet/documents.
Sur l'étape 4 :
Ajouter sans écraser = >>. Pour inclure l'heure, laissez une commande la produire pour vous :
echo "Ajouté le $(date)" >> notes.txt
Le shell remplace $(date) par la sortie actuelle de la commande date avant d'exécuter echo. C'est un premier goût de substitution de commande — vous l'exploiterez au chapitre 2 dans votre premier script shell.
Sur l'étape 5 :
Deux outils font l'affaire :
find projet # arbre complet, un chemin par ligne
ls -R projet # contenu dossier par dossier
Choisissez celui dont la sortie vous parle le mieux.
Correction disponibleCherchez d’abord par vous-même.Voir la correction
Correction
Solution complète commentée
cd ~ # point de départ connu
pwd # /home/cours : on vérifie
mkdir -p projet/documents projet/images \
projet/scripts projet/sauvegardes # étape 1
echo "Ligne 1" > notes.txt # étape 2 : création...
echo "Ligne 2" >> notes.txt # ...puis ajouts
echo "Ligne 3" >> notes.txt
echo "Ligne 4" >> notes.txt
echo "Ligne 5" >> notes.txt
wc -l notes.txt # contrôle : 5
cp notes.txt projet/documents/ # étape 3a : copie
ls projet/documents # contrôle : notes.txt y est
mv projet/documents/notes.txt projet/scripts/notes-copy.txt # 3b : déplace+renomme
ls projet/scripts # contrôle
echo "Sixième ligne ajoutée le $(date)" >> notes.txt # étape 4
cat notes.txt # contrôle : 6 lignes
find projet # étape 5 : vue d'ensemble
Sortie attendue de la vérification finale :
projet
projet/documents
projet/images
projet/scripts
projet/scripts/notes-copy.txt
projet/sauvegardes
et cat notes.txt montre les cinq lignes initiales suivies de :
Sixième ligne ajoutée le dim. 12 janv. 2026 10:05:33 CET
Variante acceptée
Pour l'étape 2, nano était tout aussi correct ; pour l'étape 5, ls -R projet produit une vue équivalente sous une autre forme. L'important n'est pas l'outil mais le contrôle : chaque étape a été vérifiée juste après son exécution.
Pièges fréquents
mkdirsans-palors queprojetn'existe pas encore : échec immédiat. Relisez le message d'erreur : il nomme le maillon manquant.- Travailler depuis le mauvais répertoire : si
pwdne dit pas/home/coursau départ, tous les chemins relatifs tombent à côté. Le réflexe :pwdavant de commencer, prompt surveillé pendant. >au lieu de>>à l'étape 2 : chaque nouvelle ligne aurait effacé la précédente ;wc -laurait répondu 1 au lieu de 5. Le contrôle par est là précisément pour attraper ce genre de dérive tôt.