Cours-Gratuit
  • Accueil
  • Blog
  • Cours informatique
home icon Cours gratuits » Cours informatique » Cours UNIX - Linux » Exercices Linux/Unix »

Articles similaires

    Documents similaires

    • Cours Windev avancé : les fichiers de données

    • Initiation language C sous Linux : fichiers ps

    • Cours avancé Android apprendre à programmer des applications

    • Code source en Java sur la gestion étudiant

    • Livre sur l’electricite automobile

    • TP programmation web pour débutant

    • La gestion des données créatives VB

    • Modèles de devis avancés sur Word

    TP linux commande de gestion de répertoires et de fichiers - manipulation des fichiers

    Rédigé par GC Team, Publié le 10 Septembre 2009, Mise à jour le Mardi, 21 Juin 2022 10:39
    Participez au vote ☆☆☆☆☆★★★★★

    Contenu de répertoires et de fichiers ascii (texte)

    • Lister le contenu du répertoire /etc.
    • Lister de manière détaillée le contenu du répertoire /etc.
      Les fichiers nommés "passwd", "shadow", "group" et "gpasswd" sont-ils présents dans /etc?
    • Lister le contenu du répertoire /dev.
    • Lister le contenu du fichier /etc/passwd.
    • Lister le contenu du fichier /etc/shadow.
    • Afficher par ordre alphabétique les utilisateurs définis dans le fichier /etc/passwd.
    • Rechercher tous les fichiers du répertoire /etc contenant la chaine de caractères "root".
    • Rechercher la localisation du fichier "stdio.h" dans le système de fichier de votre installation.
    • A l'aide de la commande "od", illustrer la différence majeure entre les types de fichier ascii (texte) DOS, UNIX et Macintosh. Utiliser le fichier ascii Dos montexte.dos fourni en lien et créer les fichiers ascii Unix "montexte.unix" et ascii Macintosh "montexte.mac" avec le même contenu au moyen d'un éditeur texte (Kate par exemple) puis comparer (version Macintosh si l'éditeur le permet).
      Quelle est la différence?
    • Utiliser les commandes de comparaison de fichiers de Linux pour tester le contenu d'un même fichier texte en version Unix et Dos.
    • Combien de lignes, de mots et de caractères comportent les fichiers "montexte.unix", "montexte.dos" et "montexte.mac"?

    Déterminer les commandes permettant de réaliser les actions suivantes:

    • Déterminer le répertoire par défaut dans la hiérarchie des répertoires?
    • Y a t-il des fichiers, des répertoires dans ce répertoire?
    • Entrer du texte dans un fichier nommé "Mon_fichier".
    • Lister le contenu de "Mon_fichier".
    • Lister le répertoire courant.
    • Lister les répertoires /bin et /dev.
    • Créer sous votre répertoire deux sous-répertoires : "Source" et "Data".
    • Se positionner sous "Source".
    • Listez le répertoire courant.
    • Revenir sous le répertoire de départ et détruire "Source".
    • Créer un deuxième fichier nommé "Mon_fichier_2".
    • Copier chaque fichier en nom_de_fichier.old.
    • Créer un répertoire "Old".
    • Déplacer les fichiers avec l'extension old vers le répertoire "Old".
    • Copiez les fichiers sans extension dans le repertoire "Data".
    • Sous votre répertoire de départ, créez un lien matériel "Mon_lien" équivalent à "Mon_fichier_2".
    • Lister les deux fichiers "Mon_lien" et "Mon_fichier_2" en affichant leur numéro d'inode.
      Que remarquez vous?
    • Supprimer "Mon_lien".
      "Mon_fichier_2" a-t-il disparu?
    • Sous votre répertoire de départ, créez un lien symbolique "Mon_nouveau_lien" sur "Mon_fichier_2".
    • Lister les deux fichiers "Mon_nouveau_lien" et "Mon_fichier_2".
      Que remarquez vous?
    • Supprimer "Mon_fichier_2".
      "Mon_nouveau_lien" a-t-il disparu?
    • Quelle est la taille totale des fichiers contenus dans votre répertoire?
    • Effacer tous les fichiers crées.

    Corrections

    {sidebar id=6}{sidebar id=1}

     

    Contenu de répertoires et de fichiers ascii (texte)

    Lister le contenu du répertoire /etc.

    ls /etc

    Lister de manière détaillée le contenu du répertoire /etc.
    Les fichiers nommés "passwd", "shadow", "group" et "gpasswd"
    sont-ils présents dans /etc?

    ls -l /etc
    ls -la /etc

    Tous ces fichiers sont bien présents.

    Lister le contenu du répertoire /dev.

    ls /dev

    Lister le contenu du fichier /etc/passwd.

    cat /etc/passwd
    root:x:0:0:root:/root:/bin/bash
    daemon:x:1:1:daemon:/usr/sbin:/bin/sh
    bin:x:2:2:bin:/bin:/bin/sh
    sys:x:3:3:sys:/dev:/bin/sh
    sync:x:4:65534:sync:/bin:/bin/sync
    games:x:5:60:games:/usr/games:/bin/sh
    man:x:6:12:man:/var/cache/man:/bin/sh
    lp:x:7:7:lp:/var/spool/lpd:/bin/sh
    mail:x:8:8:mail:/var/mail:/bin/sh
    news:x:9:9:news:/var/spool/news:/bin/sh
    ...
    user,,,:/var/run/hplip:/bin/false
    nico:x:1000:1000:Nico,,,:/home/nico:/bin/bash

    Lister le contenu du fichier /etc/shadow.

    cat /etc/shadow
    Lecture refusée.

    Afficher par ordre alphabétique les utilisateurs définis dans le fichier /etc/passwd.

    cat /etc/passwd | sort
    backup:x:34:34:backup:/var/backups:/bin/sh
    bin:x:2:2:bin:/bin:/bin/sh
    cupsys:x:100:106::/home/cupsys:/bin/false
    daemon:x:1:1:daemon:/usr/sbin:/bin/sh
    dhcp:x:101:101::/nonexistent:/bin/false
    games:x:5:60:games:/usr/games:/bin/sh
    ...
    root:x:0:0:root:/root:/bin/bash
    sync:x:4:65534:sync:/bin:/bin/sync
    syslog:x:102:102::/home/syslog:/bin/false
    sys:x:3:3:sys:/dev:/bin/sh
    uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
    www-data:x:33:33:www-data:/var/www:/bin/sh

    Rechercher tous les fichiers du répertoire /etc contenant la chaine de caractères "root".

    grep root /etc/*
    ...

    Rechercher la localisation du fichier "stdio.h" dans le système de fichier de votre installation.

    find / -name stdio.h
    ...
    find: /tmp/kde-root: Permission non accordée
    /usr/include/bits/stdio.h
    /usr/include/stdio.h

    A l'aide de la commande "od", illustrer la différence majeure existant entre les types de fichier ascii (texte) DOS, UNIX et Macintosh. Utiliser le fichier ascii Dos montexte.dos fourni en lien et créer les fichiers ascii Unix "montexte.unix" et ascii Macintosh "montexte.mac" avec le même contenu au moyen d'un éditeur texte (Kate par exemple) puis comparer (version Macintosh si l'éditeur le permet).
    Quelle est la différence?

    od -x monfichier.dos
    0000000 6e75 0a0d 6564 7875 0a0d 7274 696f 0d73
    0000020 710a 6175 7274 0d65 630a 6e69 0d71 730a
    0000040 7869 0a0d 6573 7470 0a0d 0a0d 0a0d 0a0d
    0000060 0a0d 0a0d
    0000064
    od -c monfichier.dos
    0000000 u n \r \n d e u x \r \n t r o i s \r
    0000020 \n q u a t r e \r \n c i n q \r \n s
    0000040 i x \r \n s e p t \r \n \r \n \r \n \r \n
    0000060 \r \n \r \n
    0000064
    od -x monfichier.unix
    0000000 6e75 640a 7565 0a78 7274 696f 0a73 7571
    0000020 7461 6572 630a 6e69 0a71 6973 0a78 6573
    0000040 7470 0a0a 0a0a 0a0a
    0000050
    od -c monfichier.unix
    0000000 u n \n d e u x \n t r o i s \n q u
    0000020 a t r e \n c i n q \n s i x \n s e
    0000040 p t \n \n \n \n \n \n
    0000050
    od -x monfichier.mac
    0000000 6e75 640d 7565 0d78 7274 696f 0d73 7571
    0000020 7461 6572 630d 6e69 0d71 6973 0d78 6573
    0000040 7470 0d0d 0d0d 0d0d
    0000050
    od -c monfichier.unix
    0000000 u n \r d e u x \r t r o i s \r q u
    0000020 a t r e \r c i n q \r s i x \r s e
    0000040 p t \r \r \r \r \r \r
    0000050
    Codage des fins de ligne sous Dos par les deux caracteres 0x0D et 0x0A.
    Codage des fins de ligne sous Unix par le seul caractere 0x0A.
    Codage des fins de ligne sous Macintosh par le seul caractere 0x0D.

    Utiliser les commandes de comparaison de fichiers de Linux pour tester le contenu d'un même fichier texte en version Unix et Dos.

    cmp monfichier.unix monfichier.dos
    monfichier.unix monfichier.dos
    sont différents: octet 3, ligne 1

    diff monfichier.unix monfichier.dos
    1,12c1,12
    < un
    < deux
    < trois
    < quatre
    < cinq
    < six
    < sept
    <
    <
    <
    <
    <
    ---
    > un
    > deux
    > trois
    > quatre
    > cinq
    > six
    > sept
    >
    diff monfichier.unix monfichier.mac
    1,12c1
    < un
    < deux
    < trois
    < quatre
    < cinq
    < six
    < sept
    <
    <
    <
    <
    <
    ---
    septre
    \ Pas de fin de ligne à la fin du fichier.

    Combien de lignes, de mots et de caractères comportent les fichiers "montexte.unix", "montexte.dos" et "montexte.mac"?

    wc monfichier.unix
    12 7 40 monfichier.unix
    wc monfichier.dos
    12 7 52 monfichier.dos
    wc monfichier.mac
    0 7 40 monfichier.mac

    Commandes

    Se localiser dans la hiérarchie.

    pwd

    Détecter la présence de fichiers/répertoires.

    ls -la
    total 8
    drwxr-xr-x 2  nico nico 4096 2007-02-01 11:25 .
    drwxr-xr-x 22 nico nico 4096 2007-02-01 11:25 ..

    Oui, mais ce sont les entrées vers la racine
    du repertoire et la racine du répertoire père

    Entrer du texte dans Mon_fichier.

    echo aaaaaaaaaaaaaaaaaa >Mon_fichier

    Lister le contenu de Mon_fichier.

    cat Mon_fichier
    aaaaaaaaaaaaaaaaaa

    Lister son propre répertoire.

    ls
    Mon_fichier
    ls -la
    total 12
    drwxr-xr-x 2  nico nico 4096 2007-02-01 11:28 .
    drwxr-xr-x 22 nico nico 4096 2007-02-01 11:25 ..
    -rw-r--r-- 1  nico nico   19 2007-02-01 11:28 Mon_fichier

    Lister les catalogues /bin et /dev.

    ls /bin
    ls /dev

    Créer sous votre répertoire 2 sous-répertoires:
    "Source" et "Data".

    mkdir Source Data

    Se positionner sous "Source".

    cd source

    Lister le répertoire.

    ls -la
    total 8
    drwxr-xr-x 2 nico nico 4096 2007-02-01 11:29 .
    drwxr-xr-x 4 nico nico 4096 2007-02-01 11:29 ..

    Revenir sous le répertoire de départ et détruire "Source".

    cd ..
    rmdir Source

    Créer un deuxième fichier Mon_fichier_2.

    touch Mon_fichier_2
    ls -la
    total 16
    drwxr-xr-x  3 nico nico 4096 2007-02-01 11:31 .
    drwxr-xr-x 22 nico nico 4096 2007-02-01 11:31 ..
    drwxr-xr-x  2 nico nico 4096 2007-02-01 11:29 Data
    -rw-r--r--  1 nico nico   19 2007-02-01 11:28 Mon_fichier
    -rw-r--r--  1 nico nico    0 2007-02-01 11:31 Mon_fichier_2

    Copier chaque fichier en fichier .old.

    cp Mon_fichier Mon_fichier.old
    cp Mon_fichier_2 Mon_fichier_2.old
    ls -la
    total 20
    drwxr-xr-x 3  nico nico 4096 2007-02-01 11:39 .
    drwxr-xr-x 22 nico nico 4096 2007-02-01 11:31 ..
    drwxr-xr-x 2  nico nico 4096 2007-02-01 11:29 Data
    -rw-r--r-- 1  nico nico   19 2007-02-01 11:28 Mon_fichier
    -rw-r--r-- 1  nico nico    0 2007-02-01 11:31 Mon_fichier_2
    -rw-r--r-- 1  nico nico    0 2007-02-01 11:38 Mon_fichier_2.old
    -rw-r--r-- 1  nico nico   19 2007-02-01 11:38 Mon_fichier.old

    Créer un répertoire "Old".

    mkdir old

    Déplacer les fichiers avec l’extension .old dans le répertoire "Old".

    mv *.old Old
    ls -la Old
    total 12
    drwxr-xr-x  2 nico nico 4096 2007-02-01 11:39 .
    drwxr-xr-x  4 nico nico 4096 2007-02-01 11:39 ..
    -rw-r--r--  1 nico nico    0 2007-02-01 11:38 Mon_fichier_2.old
    -rw-r--r--  1 nico nico   19 2007-02-01 11:38 Mon_fichier.old
    ls -la
    total 20
    drwxr-xr-x  4 nico nico 4096 2007-02-01 11:39 .
    drwxr-xr-x 22 nico nico 4096 2007-02-01 11:31 ..
    drwxr-xr-x  2 nico nico 4096 2007-02-01 11:29 Data
    -rw-r--r--  1 nico nico   19 2007-02-01 11:28 Mon_fichier
    -rw-r--r--  1 nico nico    0 2007-02-01 11:31 Mon_fichier_2
    drwxr-xr-x  2 nico nico 4096 2007-02-01 11:39 Old

    Copier les fichiers sans extension dans le répertoire "Data".

    cp * Data
    cp: omission du répertoire `Data'
    cp: omission du répertoire `Old'
    ls -la Data
    total 12
    drwxr-xr-x  2 nico nico 4096 2007-02-01 11:41 .
    drwxr-xr-x  4 nico nico 4096 2007-02-01 11:39 ..
    -rw-r--r--  1 nico nico   19 2007-02-01 11:41 Mon_fichier
    -rw-r--r--  1 nico nico    0 2007-02-01 11:41 Mon_fichier_2
    ls -la
    total 20
    drwxr-xr-x  4 nico nico 4096 2007-02-01 11:39 .
    drwxr-xr-x 22 nico nico 4096 2007-02-01 11:31 ..
    drwxr-xr-x  2 nico nico 4096 2007-02-01 11:41 Data
    -rw-r--r--  1 nico nico   19 2007-02-01 11:28 Mon_fichier
    -rw-r--r--  1 nico nico    0 2007-02-01 11:31 Mon_fichier_2
    drwxr-xr-x  2 nico nico 4096 2007-02-01 11:39 Old

    Sous le répertoire de départ, créer un lien matériel "Mon_lien" équivalent à "Mon_fichier_2".

    ln Mon_fichier_2 Mon_lien
    ls -la
    total 20
    drwxr-xr-x  4 nico nico 4096 2007-02-01 11:54 .
    drwxr-xr-x 22 nico nico 4096 2007-02-01 11:43 ..
    drwxr-xr-x  2 nico nico 4096 2007-02-01 11:41 Data
    -rw-r--r--  1 nico nico   19 2007-02-01 11:28 Mon_fichier
    -rw-r--r--  2 nico nico    0 2007-02-01 11:31 Mon_fichier_2
    -rw-r--r--  2 nico nico    0 2007-02-01 11:31 Mon_lien
    drwxr-xr-x  2 nico nico 4096 2007-02-01 11:39 Old

    Lister les deux fichiers "Mon_lien" et "Mon_fichier_2" en affichant leur numéro d’inode.
    Que remarquez vous?

    ls -lai
    total 20
    16457 drwxr-xr-x  4 nico nico 4096 2007-02-01 11:54 .
    868403 drwxr-xr-x 22 nico nico 4096 2007-02-01 11:43 ..
    16619 drwxr-xr-x  2 nico nico 4096 2007-02-01 11:41 Data
    16624 -rw-r--r--  1 nico nico   19 2007-02-01 11:28 Mon_fichier
    16597 -rw-r--r--  2 nico nico    0 2007-02-01 11:31 Mon_fichier_2
    16597 -rw-r--r--  2 nico nico    0 2007-02-01 11:31 Mon_lien
    16632 drwxr-xr-x  2 nico nico 4096 2007-02-01 11:39 Old
    Leurs numeros d'inode sont identiques donc ces deux fichiers n'en sont physiquement qu'un seul.

    Supprimer "Mon_lien".
    "Mon_fichier_2" a-t-il disparu?

    rm Mon_lien
    ls -lai
    total 20
    16457 drwxr-xr-x  4 nico nico 4096 2007-02-01 11:56 .
    868403 drwxr-xr-x 22 nico nico 4096 2007-02-01 11:43 ..
    16619 drwxr-xr-x  2 nico nico 4096 2007-02-01 11:41 Data
    16624 -rw-r--r--  1 nico nico   19 2007-02-01 11:28 Mon_fichier
    16597 -rw-r--r--  1 nico nico    0 2007-02-01 11:31 Mon_fichier_2
    16632 drwxr-xr-x  2 nico nico 4096 2007-02-01 11:39 Old

    "Mon_fichier_2" existe toujours.

    Sous votre répertoire de départ, créez un lien symbolique "Mon_nouveau_lien" sur "Mon_fichier_2".

    ln -s Mon_fichier_2 Mon_nouveau_lien

    Lister les deux fichiers "Mon_nouveau_lien" et "Mon_fichier_2".
    Que remarquez vous?

    ls -la
    total 20
    drwxr-xr-x  4 nico nico 4096 2007-02-01 11:57 .
    drwxr-xr-x 22 nico nico 4096 2007-02-01 11:43 ..
    drwxr-xr-x  2 nico nico 4096 2007-02-01 11:41 Data
    -rw-r--r--  1 nico nico   19 2007-02-01 11:28 Mon_fichier
    -rw-r--r--  1 nico nico    0 2007-02-01 11:31 Mon_fichier_2
    lrwxrwxrwx  1 nico nico   13 2007-02-01 11:57 Mon_nouveau_lien -> Mon_fichier_2
    drwxr-xr-x  2 nico nico 4096 2007-02-01 11:39 Old
    Le lien est clairement mis en evidence par le caractere l et par l'affichage du nom du fichier lie.
    La taille n'est pas bonne.

    Supprimer "Mon_fichier_2".
    "Mon_nouveau_lien" a-t-il disparu?

    rm Mon_fichier_2
    ls -la
    total 20
    drwxr-xr-x 4 nico nico 4096 2007-02-01 11:59 .
    drwxr-xr-x 22 nico nico 4096 2007-02-01 11:43 ..
    drwxr-xr-x 2 nico nico 4096 2007-02-01 11:41 Data
    -rw-r--r-- 1 nico nico 19 2007-02-01 11:28 Mon_fichier
    lrwxrwxrwx 1 nico nico 13 2007-02-01 11:57 Mon_nouveau_lien -> Mon_fichier_2
    drwxr-xr-x 2 nico nico 4096 2007-02-01 11:39 Old
    Le lien existe toujours mais est brise.
    Il est caracterisé par un code couleur spécifique dans le shell utilisé.

    Quelle est la taille totale des fichiers contenus dans votre répertoire?

    du -b
    4115 ./Old
    4115 ./Data
    12358 .
    La taille est approximative en raison de l'utilisation de blocs de 512 octets.

    Effacer tous les fichiers créés.

    rm -r *
    ls -la
    total 8
    drwxr-xr-x  2 nico nico 4096 2007-02-01 12:03 .
    drwxr-xr-x 22 nico nico 4096 2007-02-01 11:43 ..

    • Contactez-nous
    • A propos de nous
    • On recrute
    • Rechercher dans le site
    • Politique de confidentialité
    • Droit d'auteur/Copyright
    • Conditions générales d'utilisation
    • Plan du site
    • Accueil
    • Blog
    • Finance et compta.
    • Formations Pro.
    • Logiciels & Apps
    • Organisation
    • Cours informatique
    • Aide à la rédaction
    • Etudes et Metiers
    • Science et Tech
    • Titans de la Tech
    id 11354 02