Td n°1 : commandes unix, se familiariser avec les commandes

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.

  1. Quelle documentation contient ce manuel ? Comment est-il structuré ?
  2. La commande write partage le même nom que l’appel système write. Quelle commande permet d’accéder à la page du manuel concernant l’appel système write ?
  3. 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/fichier1
  • rep1/fichier2
  • rep1/fichier3
  • rep2/fichier2

Exercice 3 : Navigation dans l’arborescence

  1. Créer un répertoire test dans votre répertoire personnel, puis les sous-répertoires pub et bin.
  2. Modifier les permissions pour que :
    • le répertoire test et son sous-répertoire pub soient accessibles en lecture et exécution pour tous, et en écriture uniquement pour le propriétaire (chmod 555 test/pub).
    • le répertoire bin soit accessible en lecture et écriture pour le propriétaire et son groupe, et en exécution pour tous (chmod 751 test/bin).
  3. Accéder au répertoire test, créer un fichier doc.txt, puis le copier dans pub.
  4. Aller dans bin et afficher le contenu de test/pub/doc.txt.
  5. Lister tous les fichiers du répertoire test et ses sous-répertoires.
  6. Supprimer tous les fichiers se terminant par ~ dans test et ses sous-répertoires.
  7. Afficher le contenu des fichiers toto et titi dans le répertoire personnel de l’utilisateur balev, 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/mariokart
  • cd /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ée4 et de 7 lettres maximum : ls année4?????
  • Commençant par année sans chiffres numériques : ls année[^0-9]*
  • Contenant la chaîne ana : ls *ana*
  • Commençant par a ou A : ls [aA]*

Exercice 6 : Manipulation de fichiers

  1. Quelle est la différence entre les commandes mv toto titi et cp toto titi ?
  2. Copier en une seule commande tous les fichiers dont l’avant-dernier caractère est un 4 ou un 1 vers 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é ?

CommandePropriétaireGroupeAutres
PermissionsLectureÉcritureAccèsLectureÉcritureAccèsLectureÉcritureAccès
Commande 1ouiouiouiouinonnonnonouinon
Commande 2ouinonouinonouinonnonnonoui
Commande 3nonouinonnonnonouinonnon
Commande 4nonnonouiouinonouinonnon

Réponses en notation symbolique et octale :

  • Commande 1 : chmod 750 essai_droit ou chmod rwxr-x--- essai_droit
  • Commande 2 : chmod 710 essai_droit ou chmod rwx--x--- essai_droit
  • Commande 3 : chmod 070 essai_droit ou chmod ----rwx--- essai_droit
  • Commande 4 : chmod 701 essai_droit ou chmod rwx----x essai_droit

Exercice 8 : Redirection et tubes

Écrire une ligne de commande équivalente à :

ls -l /usr/bin | less

Exercice 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 ?
  1. cat devinette.txt | grep ce | wc -l affichera : 1.
  2. cat devinette.txt | grep 4 | wc -l affichera : 1.

Exercice 10 : Les commandes grep et cut

Le fichier liste.txt contient des informations sur les étudiants au format nom;âge;filière.

  1. Renvoyer les lignes concernant l’étudiant Sami : grep Sami liste.txt
  2. Renvoyer les lignes des étudiants en filière L3 : grep L3 liste.txt
  3. Renvoyer les lignes des étudiants âgés de 22 ans : grep 22 liste.txt
  4. Renvoyer les lignes des étudiants n’appartenant pas à la filière L3 : grep -v L3 liste.txt
  5. Renvoyer les lignes contenant la chaîne mi (sans tenir compte de la casse) : grep -i mi liste.txt
  6. Afficher le nom et l’âge de chaque étudiant, puis le nom et la filière :
    • cut -d';' -f1,2 liste.txt
    • cut -d';' -f1,3 liste.txt
  7. Afficher les trois premiers caractères de chaque ligne : cut -c1-3 liste.txt

Exercice 11 : La commande find

  1. Chercher tous les fichiers nommés passwd : find / -name passwd
  2. Chercher les fichiers modifiés il y a plus de 10 minutes : find / -mmin -10
  3. Trouver les fichiers appartenant au groupe root : find / -group root
  4. Chercher les fichiers de taille supérieure à 20 Mo : find / -size +20M
  5. Lister tous les répertoires sous /etc : find /etc -type d
  6. Chercher tous les fichiers de l’utilisateur Raimbault : find / -user Raimbault

FAQ

  • Comment vérifier les permissions d’un fichier ou répertoire ?
    Utilisez la commande ls -l pour afficher les permissions en notation symbolique.
  • Quelle est la différence entre grep et grep -i ?
    grep recherche une chaîne en casse sensible, tandis que grep -i ignore la casse.
  • Comment afficher uniquement les fichiers sous un répertoire ?
    Utilisez la commande find /chemin/du/répertoire -type f.
  • Cela peut vous intéresser :

    Partagez vos remarques, questions , propositions d'amélioration ou d'autres cours à ajouter dans notre site

    Enregistrer un commentaire (0)
    Plus récente Plus ancienne