Projet DVD-MIAGE 2010 : Travaux Dirigés sur les Commandes UNIX
Ce projet vise à maîtriser les commandes UNIX de base et leurs fonctionnalités.
Exercice 1 : Documentation en ligne
La commande man permet d’accéder au manuel en ligne d’UNIX.
- Quelle documentation contient ce manuel ? Comment est-il structuré ?
- La commande
writepartage le même nom que l’appel systèmewrite. Quelle commande permet d’accéder à la page du manuel concernant l’appel systèmewrite? - Commande
ls: précisez les options que vous connaissez et celles que vous pourriez utiliser.
Exercice 2 : Création d’arborescence
À partir du répertoire racine (~), créez l’arborescence suivante :
rep1/rep2/rep1/fichier1rep1/fichier2rep1/fichier3rep2/fichier2
Exercice 3 : Navigation dans l’arborescence
- Créer un répertoire
testdans votre répertoire personnel, puis les sous-répertoirespubetbin. - Modifier les permissions pour que :
- le répertoire
testet son sous-répertoirepubsoient accessibles en lecture et exécution pour tous, et en écriture uniquement pour le propriétaire (chmod 555 test/pub). - le répertoire
binsoit accessible en lecture et écriture pour le propriétaire et son groupe, et en exécution pour tous (chmod 751 test/bin).
- le répertoire
- Accéder au répertoire
test, créer un fichierdoc.txt, puis le copier danspub. - Aller dans
binet afficher le contenu detest/pub/doc.txt. - Lister tous les fichiers du répertoire
testet ses sous-répertoires. - Supprimer tous les fichiers se terminant par
~danstestet ses sous-répertoires. - Afficher le contenu des fichiers
totoettitidans le répertoire personnel de l’utilisateurbalev, puis les supprimer.
Exercice 4 : Navigation dans l’arborescence (suite)
Vous êtes dans le répertoire /usr/local et souhaitez accéder à /usr/local/games/mariokart. Quelles commandes parmi les suivantes sont valides ?
cd games/mariokartcd /usr/local/games/mariokart
Exercice 5 : Visualisation de fichiers
Lister tous les fichiers selon les critères suivants :
- Se terminant par
5:ls *5 - Commençant par
année4:ls année4* - Commençant par
année4et de 7 lettres maximum :ls année4????? - Commençant par
annéesans chiffres numériques :ls année[^0-9]* - Contenant la chaîne
ana:ls *ana* - Commençant par
aouA:ls [aA]*
Exercice 6 : Manipulation de fichiers
- Quelle est la différence entre les commandes
mv toto titietcp toto titi? - Copier en une seule commande tous les fichiers dont l’avant-dernier caractère est un
4ou un1vers le répertoire/tmp.
Exercice 7 : Gestion des droits d’accès
Vous créez un répertoire essai_droit avec des permissions par défaut de 755 (rwxr-xr-x). Quelles commandes permettront de modifier les permissions comme indiqué ?
| Commande | Propriétaire | Groupe | Autres | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Permissions | Lecture | Écriture | Accès | Lecture | Écriture | Accès | Lecture | Écriture | Accès |
| Commande 1 | oui | oui | oui | oui | non | non | non | oui | non |
| Commande 2 | oui | non | oui | non | oui | non | non | non | oui |
| Commande 3 | non | oui | non | non | non | oui | non | non | |
| Commande 4 | non | non | oui | oui | non | oui | non | non |
Réponses en notation symbolique et octale :
- Commande 1 :
chmod 750 essai_droitouchmod rwxr-x--- essai_droit - Commande 2 :
chmod 710 essai_droitouchmod rwx--x--- essai_droit - Commande 3 :
chmod 070 essai_droitouchmod ----rwx--- essai_droit - Commande 4 :
chmod 701 essai_droitouchmod rwx----x essai_droit
Exercice 8 : Redirection et tubes
Écrire une ligne de commande équivalente à :
ls -l /usr/bin | lessExercice 9 : La commande cat
Supposons le contenu suivant du fichier devinette.txt :
devinette numero 4 :pince mi et pince moisont dans un bateau.pince mi tombe à l'eau.qui est ce qui reste ?
cat devinette.txt | grep ce | wc -laffichera : 1.cat devinette.txt | grep 4 | wc -laffichera : 1.
Exercice 10 : Les commandes grep et cut
Le fichier liste.txt contient des informations sur les étudiants au format nom;âge;filière.
- Renvoyer les lignes concernant l’étudiant
Sami:grep Sami liste.txt - Renvoyer les lignes des étudiants en filière
L3:grep L3 liste.txt - Renvoyer les lignes des étudiants âgés de
22ans :grep 22 liste.txt - Renvoyer les lignes des étudiants n’appartenant pas à la filière
L3:grep -v L3 liste.txt - Renvoyer les lignes contenant la chaîne
mi(sans tenir compte de la casse) :grep -i mi liste.txt - Afficher le nom et l’âge de chaque étudiant, puis le nom et la filière :
cut -d';' -f1,2 liste.txtcut -d';' -f1,3 liste.txt
- Afficher les trois premiers caractères de chaque ligne :
cut -c1-3 liste.txt
Exercice 11 : La commande find
- Chercher tous les fichiers nommés
passwd:find / -name passwd - Chercher les fichiers modifiés il y a plus de 10 minutes :
find / -mmin -10 - Trouver les fichiers appartenant au groupe
root:find / -group root - Chercher les fichiers de taille supérieure à 20 Mo :
find / -size +20M - Lister tous les répertoires sous
/etc:find /etc -type d - Chercher tous les fichiers de l’utilisateur
Raimbault:find / -user Raimbault
FAQ
ls -l pour afficher les permissions en notation symbolique.grep et grep -i ?grep recherche une chaîne en casse sensible, tandis que grep -i ignore la casse.find /chemin/du/répertoire -type f.