Projet DVD - MIAGE 2010 : Corrections des exercices sur les commandes UNIX
Exercice 1 : Documentation en ligne
Les sections principales de la documentation UNIX incluent : TITLE, NAME, SYNOPSIS, DESCRIPTION, OPTIONS, USAGE, EXAMPLES, SEE ALSO.
Pour consulter la documentation de la commande write, utilisez : man 2 write.
Les options courantes de ls sont :
-R: affichage récursif du contenu des sous-répertoires.-a: inclut toutes les entrées, même les fichiers commençant par..-l: format d'affichage long (type, permissions, liens, propriétaire, groupe, taille, horodatage).-t: trie les fichiers par date au lieu de l'ordre alphabétique.-1: affiche un fichier par ligne.
Exercice 2 : Création d'une arborescence
Voici les commandes pour créer la structure demandée :
mkdir rep1: crée le répertoirerep1.mkdir rep1/rep2: crée le sous-répertoirerep2dansrep1.touch fichier1: crée le fichierfichier1.touch rep1/fichier2: crée le fichierfichier2dansrep1.touch rep1/rep2/fichier3: crée le fichierfichier3dansrep1/rep2.
Exercice 3 : Navigation dans l'arborescence
Voici les solutions pour naviguer dans l'arborescence :
cd mkdir test mkdir test/pub mkdir test/bin: crée les répertoirestest,pubetbin.Pour les répertoires
testetpub, aucune modification n'est nécessaire car leurs permissions par défaut sontdrwxr-xr-x.Pour le répertoire
bin, utilisez :chmod o-r,g+w test/bin.cd test touch doc.txt cp doc.txt pub: crée un fichierdoc.txtet le copie danspub.cd bin cat ../pub/doc.txt: affiche le contenu dedoc.txtdepuispub.ls -R: affiche récursivement l'arborescence.rm *~ */*~: supprime les fichiers temporaires.cat ../balev/toto ../balev/titi rm ../balev/toto ../balev/titi: affiche puis supprime les fichierstotoettiti.
Exercice 4 : Navigation dans l'arborescence (suite)
Les réponses correctes sont : B - D - E.
Exercice 5 : Visualisation de fichiers
Voici les commandes pour lister les fichiers selon les critères demandés :
ls *5: liste les fichiers se terminant par5.ls année4*: liste les fichiers commençant parannée4.ls année4?: liste les fichiers commençant parannée4avec un caractère supplémentaire.ls année[!0-9]*: liste les fichiers commençant parannéeet ne contenant pas de chiffre.ls *ana*: liste les fichiers contenantana.ls [aA]*: liste les fichiers commençant paraouA.
Exercice 6 : Manipulation de fichiers
Explications des commandes :
cp(copy) : crée une copie du fichier source, avec un contenu identique mais un nom différent. Les fichierstotoettiticoexistent.mv(move) : renomme le fichiertotoentiti. Après exécution,toton'existe plus ettiticontient les données originales.
Commande pour copier les fichiers se terminant par 41 ou 42 dans /tmp : cp *[41]? /tmp.
Exercice 7 : Gestion des droits d'accès
Voici les commandes pour ajuster les permissions :
Commande 1 :
chmod 751 essai_droitCommande alternative :
chmod o-rw essai_droitCommande 2 :
chmod 521 essai_droitCommande alternative :
chmod u-w,g-rx,g+w,o-r essai_droitCommande 3 :
chmod 214 essai_droitCommande alternative :
chmod u-rx,g-r,o-x essai_droitCommande 4 :
chmod 150 essai_droitCommande alternative :
chmod u-rw,o-rx essai_droit
Exercice 8 : Redirection et tubes
Voici les commandes pour rediriger la sortie de ls vers less puis supprimer le fichier temporaire :
ls -l /usr/bin > tmp: liste les fichiers et redirige la sortie verstmp.less tmp: affiche le contenu detmp.rm tmp: supprime le fichier temporaire.
Exercice 9 : La commande cat
Les réponses correctes sont : D pour la première question et B pour la seconde.
Exercice 10 : Les commandes grep et cut
Voici les commandes pour filtrer et extraire des données :
grep sami liste.txt: affiche les lignes contenantsami.grep L3 liste.txt: affiche les lignes contenantL3.grep 22 liste.txt: affiche les lignes contenant22.grep -v L3 liste.txt: affiche les lignes ne contenant pasL3.grep -i mi liste.txt: affiche les lignes contenantmi(insensible à la casse).cut -d; -f1,2 liste.txt: extrait les champs 1 et 2 séparés par;.cut -d; -f1,3 liste.txt: extrait les champs 1 et 3 séparés par;.cut -c1,2,3 liste.txt: extrait les caractères 1, 2 et 3.Alternative :
cut -c1-3 liste.txt(extraire les caractères de 1 à 3).
Exercice 11 : La commande find
Voici les commandes pour rechercher des fichiers :
find / -name "passwd": recherche le fichierpasswddans tout le système.find . -mmin +10: liste les fichiers modifiés il y a plus de 10 minutes.find / -group root: recherche les fichiers appartenant au grouperoot.find / -size +20000k: recherche les fichiers de plus de 20 Mo.find /etc -type d: liste les répertoires dans/etc.find /home -user Raimbault: recherche les fichiers appartenant à l'utilisateurRaimbault.