Vous êtes sur la page 1sur 5

TP Programmation C & Systme

(TP2 Commandes Bash)


Ouvrir une session de travail en tant quutilisateur ept, ouvrir un terminal et crire les
lignes de commandes suivantes.

Afficher le nom de votre rpertoire de base (home directory).

$HOME

Crer sous ce rpertoire de base un sousrpertoire nomm niveau0 .

Mkdir niveau0

Se dplacer vers ce rpertoire niveau0 .

cd niveau0

Crer un fichier vide nomm fichier0 .

touch fichier0

Afficher les proprits de ce fichier.

ls -li

Ecrire la phrase il fait encore assez beau dans un fichier fichier1 .

echo il fait encore assez beau > fichier1

Afficher le contenu de ce fichier.

more fichier1

Dupliquer ce fichier au mme endroit avec le nouveau nom fichier2 .

cp fichier1 fichier2

Vrifier que ce fichier a t bel et bien cr.

ls -il

Crer maintenant un sousrpertoire niveau1 dans le rpertoire niveau0 .

mkdir niveau1

Dplacer le fichier2 vers le rpertoire niveau1 .

mv fichier2 niveau1

Vrifier que lopration de dplacement sest bien droule en affichant avec une
seule commande le contenu de ces deux rpertoires.

1/5

ls -R

A partir du rpertoire courant, crer un sousrpertoire niveau2 dans le


rpertoire niveau1 .

mkdir niveau1/niveau2

Changer de rpertoire pour tre sous niveau1 .

cd niveau1

Crer sous ce nouveau rpertoire niveau2 une copie du fichier1 ; le fichier


copi sera appel fichier3 .

cp ../fichier1 niveau2/fichier3

Que fautil faire pour vrifier que la copie sest droule correctement ?

ls -ilR

Afficher le contenu du fichier3 en utilisant dans la spcification du chemin


daccs le rpertoire racine.

more /home/houcem/niveau0/niveau1/
niveau2/fichier3

Crer au niveau du rpertoire niveau1 un lien en dur sur le fichier2 que vous
allez nommer fichier 21 .

ln fichier2 fichier21

Afficher le contenu du rpertoire niveau1 et dites ce que vous avez observ.

ls -il
jai retrouv que le nombre de lien pour
fichier2 et fichier21 = 2 et quils sont
identiques au niveau des permissions

Sans changer de rpertoire niveau1 , crer un lien symbolique fichier22 sur le


fichier 1 .

ln -s fichier22 ../fichier1

Afficher de nouveau le contenu du rpertoire niveau1 et dites ce que vous avez


observ.

ls -il
2/5

le fichier22 est en bleu turquoise et pointe


par une flche vers le fichier1

Estil possible de crer un lien symbolique fichier23 sur le fichier21 ? Si oui,


indiquer la commande.

oui ln -s fichier23 fichier21

Supprimer le fichier1 .

rm ../fichier1

Essayer dafficher le contenu de fichier21 . Que se passetil ?

more fichier21
le contenu saffiche normalement

Essayer dafficher le contenu de fichier22 . Que se passetil ?

more fichier22
pas daffichage. erreur le fichier nexiste
pas

Modifier les attributs du fichier2 pour quil ne puisse tre utilis que par vous en
lecture/criture.

chmod 600 fichier2

Afficher les attributs de ce fichier.

ls -il

Eliminer tout droit daccs au fichier2 .

chmod 000 fichier2

Peuton supprimer ce fichier ?

oui

Changer de rpertoire pour aller sur niveau0 .

cd ..

Afficher avec la commande tree larborescence du rpertoire niveau0 .

3/5

tree
.|_fichier0
|_niveau1_
|_fichier21
|_fichier22
|_fichier23
|_niveau2_
|_fichier3

Renommer le fichier0 en vide .

mv fichier0 vide

Estil possible dattribuer au rpertoire niveau1 le nom vide ?

non ca donne une erreur

Supprimer les fichiers contenus dans le rpertoire niveau2 .

rm niveau1/niveau2/*

Dtruire ce rpertoire niveau2 .

rmdir niveau1/niveau2/

Dplacer le contenu du rpertoire niveau 1 sous niveau0 .

mv niveau1/* ../niveau0

Quel est le contenu rel du rpertoire niveau1 ?

ls -ilR
le niveau1 est vide

Utiliser la commande find pour retrouver tous les fichiers vides (de taille = 0) crs
sous le systme.

find -size 0
4/5

Rechercher avec la commande find tous les fichiers appartenant larborescence


cr et dont le nom commence par f .

find f*

Copier le fichier le fichier /etc/passwd sous le rpertoire courant en le nommant


mo2pass .

cp /etc/passwd mo2pass

Editer le fichier mo2pass en


- supprimant la ligne 5
- liminant les caractres 7 10 de la ligne 8
- ajoutant salut quelque part sur la dernire ligne

gedit mo2pass

Comparer maintenant les fichiers mo2pass et /etc/passwd

diff mo2pass /etc/passwd

Quels sont les diffrences entre ces deux fichiers.

la commande affiche les differences entre


les lignes

Comment faire pour consulter le manuel n5 de passwd ?

man 5 passwd

Utiliser la commande cut pour extraire, partir du fichier mo2pass , les noms de
connexion des utilisateurs (login) et leurs identifiants numriques (UID).

cut login UID mo2pass

Utiliser la commande grep pour afficher toutes les lignes du fichier mo2pass qui
contiennent la chane de caractres sh.

grep sh mo2pass

Supprimer avec une seule commande tous les contenus jusqualors cr.

rm -rf ../*

Vrifier que tout a t supprim.

ls -ilR

Clore le terminal.

exit

5/5