Vous êtes sur la page 1sur 9

6. Passer directement à l’emplacement : a) Répertoire racine.

Cd / egrep : -v : inverse le comportement de egrep


b)répertoire courant. Cd . (n'affiche que les lignes qui ne correspondent pas
c) répertoire parent. Cd .. -i : insensible à la casse
-n : retourne le numéro de la ligne
d) répertoire maison. Cd ~ -R : récursif
13.Copier le dossier « cours » avec son contenu dans un dossier -w : mot exacte
nv crée dans votre dossier personnel. : cp -R cours nv -c : retourne le nombre de fois
EGREP
17.A la fois renommer le répertoire PHP qui existe dans « cours » par
symfony_php et le déplacer dans le répertoire leçon. : . n'importe quel caractère
mv cours/PHP nv/leçon/symfony_php * le caractère précédent 0 ou plusieurs fois
+ le caractère précédent 1 fois au moins
20.Donner une commande qui permet d'effacer juste le contenu du ? le caractère précédent 0 ou 1 fois
répertoire cours : rm -R cours/* ( ) groupage d’expressions
{n} le caractère précédent exactement n fois
11. en utilisant echo afficher les fichiers qui commencent par une {m,n} le caractère précédent de m à n fois
lettre qui n'est pas comprise entre « D » et « P ». : echo [!D-P]* {n,} au moins le caractère précédent n foissuccessive ou+
[a-z] une lettre en minuscule
Matcher une ligne commençant par « foo » et contenant « bar » : [a-zA-Z] une lettre
egrep "^foo.*bar" [0-9] un chiffre
Matcher une ligne commençant par « foo » et se terminant par « [ ] caractère ou un autre
bar » : egrep "^foo.*bar$« ^/$ le début/la fin de ligne
| séparateur pour spécifier de multiples expression (OU)
• Matcher une ligne contenant le caractère '*' : egrep "\*" \ chercher un caractère utilisé dans le regex
[xy]{2,} Chaine contenant deux caractère xy au moins deux fois. Exemple : bxyaz xxzyyj100xy
^(c|k)h Chaine commence par ch ou kh, Exemple : khalid, chaimae
Critère 1 Le nom doit être Fraise ou fraise : ls | egrep -w "[Ff]raise" ou bien egrep
"^[Ff]raise$" Critère 2 se est en fin de nom : ls | egrep "se$"
Critère 3 ai est présent dans le nom : ls | egrep "ai"
Critère 4 Nom contenant un chiffre numérique : ls | egrep "[0-9]"
Critère 5 Nom contenant la chaîne mm ou MM : ls | egrep "MM|mm"
1. Copiez le fichier /etc/passwd dans votre home directory. cd cp /etc/passwd ~
2. Afficher la ligne commençant par votre nom de login. egrep "^nomlogin" passwd
3. Afficher le même résultat demander par la question 2 à l’aide de la commande cat.
cat passwd | egrep "^nomlogin"
1. Rediriger le contenu du fichier « passwd » dans un nouveau fichier « logins » dans home
directory. cat passwd > logins
2. Ajouter le nom « ahmed », « saad » et « sara2021 » à l’aide de la commande echo dans le
fichier « logins », chaque nom dans une ligne. echo -e "ahmed\nsaad\nsara2021" >> logins
3. Dans le fichier « logins » ,Afficher les lignes des noms de login ne contenant pas de chiffre.
egrep -v "[0-9]" logins
4. Afficher les lignes du fichier « logins » commençant par des noms de login de 3 ou 4 caractères.
egrep "^.{3,4}:" logins
Ex4
12.dont le fruit commence par un p et comporte un maximum de 7 lettres. egrep "^p[a-zA-Z]{0,6}$
" fruits.txt
14.dont le prix ne se termine pas par 9. egrep -vi " [9a-z]$" fruits.txt
15.dont le prix se termine par 9 mais pas par 39, 69, 79, ni 89. egrep "[^36-8]9$" fruits.txt
16.dont le prix ne se termine pas par 09, ni par 39, ni par 79. egrep -v "(09|39|79|[A-Za-z])$"
fruits.txt
17.dont le prix contient un point. On considère que le seul point présent dans chaque ligne marque
la décimale du prix. egrep "\." fruits.txt
18.dont le prix est inférieur à 1 euro. Il n’y a pas besoin de comparaisons numériques pour cela. . .
egrep " 0\." fruits.txt
19.dont le prix est inférieur à 1 euro et dont le nom commence par une lettre comprise entre a et g.
egrep "^[a-g].* 0\." fruits.txt
20.dont le prix est supérieur ou égal à 1 euro mais inférieur strictement à 1.50 euros.
egrep "1\.[0-4]" fruits.txt
21.dont la première lettre du fruit est comprise entre a et e, et dont la deuxième lettre est a ou e.
egrep "^[a-e][ae]" fruits.txt
22.dont la première lettre du fruit est comprise entre p et t, ou dont la deuxième lettre est a ou e.
egrep "^[p-t]|^.[ae]" fruits.txt
TP3 ex1 5. Compresser l’image « capture.png » en format bzip2.
1. Afficher le contenu du fichier /etc/hdparm.conf avec 6. Comparer l’image compressé avec sa copie non compressée.
un arrêtà chaque page. 7. Décompresser l’image.
2. Afficher le nombre de lignes, de bytes et de mots du 8. Créer un fichier «àcompresser.txt» contenant le message «
fichier /etc/protocols dans le stdout puis sauvegarder le ce fichier
résultat dans un autre fichier « résultat.txt » (utiliser une sera compresser en format gzip ».
seule commande). 9. compresser le fichier «àcompresser.txt» en format gzip.
3. Afficher les lignes du fichier /etc/protocols . 10. Afficher les informations du fichier compressé
11. Afficher le contenu du fichier compressé (sous fichier).
4. Afficher les lignes de 5 à 13 contenus dans le fichier
12. Décompresser ce fichier.
/etc/protocols .
1. less /etc/hdparm.conf
2. touch résultat.txt; wc -lcw /etc/protocols | tee 2. mv Images/capture.png ~
résultat.txt 3. cp capture.png capture2.png
3. cat /etc/protocols 4. ls -l
5. bzip2 capture.png
4. head -n13 /etc/protocols | tail -n9
6. ls -l
TP3 ex2 7. bunzip2 capture.png.bz2
1. Capturer l’écran, puis renommer l’image par « capture.png ». 8. echo ‘ce fichier sera compressé en format gzip’ >
2. Déplacer l’image « capture.png » vers le répertoire àcompresser.txt
personnel. 9. gzip àcompresser.txt
3. Créer une copie de l’image sous le nom « capture2.png » 10. gzip -l àcompresser.txt.gz
4. Lister le détail du contenu de répertoire personnel et vérifier 11. gedit àcompresser.txt.gz ou zcat àcompresser.txt.gz
la taille 12. gunzip àcompresser.txt.gz ou gzip -d àcompresser.txt.bz
des deux images précédentes.
1. Créer 3 fichiers : Linux1.txt, Linux2.txt et Linux3.txt
2. Mettre les fichiers dans un dossier « Linux »
3. archiver ce dossier sous « archive.tar ». Tp3 ex3
4. Supprimer le dossier Linux avec son contenu. 1. touch Linux1.txt Linux2.txt Linux3.txt ou bien touch
5. Vérifier l’existence du dossier Linux et les fichiers Linux{1..3}.txt
crées. 2. mkdir Linux; mv Linux*.txt Linux ou bien mv
6. Extraire les fichiers de l’archive et vérifier l’existence Linux{1..3}.txt Linux
du dossier Linux , puis 3. tar -cvf archive.tar Linux
supprimer l’archive. 4. rm -R Linux
7. Extraire les fichiers du dossier Linux, ensuite, refaire la 5. Ls -R Linux
question 2 autrement 6. tar -xvf archive.tar; Ls -R Linux; rm -R archive.tar
(archiver que les fichiers sous archive2.tar). 7. mv Linux/Linux*.txt ~ ; tar -cvf archive2.tar Linux1.txt
8. Afficher le contenu de l’archive sans extraction. Linux2.txt
9. Créer un nouveau fichier : Linux4.txt et le mettre dans Linux3.txt
l’archive2. 8. tar -tf archive2.tar
10. Supprimer les fichiers : Linux1.txt, Linux2.txt, 9. touch Linux4.txt;tar -rvf archive2.tar Linux4.txt
Linux3.txt, Linux4.txt 10. rm Linux*.txt
11. Afficher le contenu de l’archive puis le compresser 11. tar -tf archive2.tar; gzip archive2.tar
avec gzip. 12. tar -xvf archive2.tar.gz
12. Extraire les fichiers de l’archive 13. tar -cjvf archive3.tar.bz2 Linux*.txt
13. Créer une archive3 compressé avec bzip2 contenant 14. tar -jxvf archive3.tar.bz2
les quatre fichiers.
14. Extraire les fichiers de l’archive compressé bzip2.
f. Passer la commande au premier plan.
Tp3 ex4 g. Tuer la commande.
1. Afficher les 15 premières lignes de /etc/profile 2. Lancer au premier plan une commande qui affiche un
2. Afficher les 15 dernières lignes de /etc/profile message sur la
3. Afficher toutes les lignes à partir de la quinzième sortie standard après 2 minutes.
4. Affichez les lignes 15 à 20 a. Cette commande est-elle convenable d’être lancée au
5. Récupérer les lignes 5 à 9 de /etc/fstab (par deux méthodes) premier plan ?
6. Comment afficher la cinquième ligne d'un fichier ? b. Lancer la même commande en arrière-plan.
1. head -n15 /etc/profile c. Voir les jobs avant la fin de l’exécution de la commande.
2. tail -n15 /etc/profile d. Tuer ce processus.
3. cat /etc/profile | tail -n13 ou bien tail +15 /etc/profile ou tail -n13 e. Voir les jobs après la fin de l’exécution de la commande.
1. ping 192.168.1.1
/etc/profile a. ctrl+z
4. head -n20 /etc/profile | tail -n6 b. Jobs
5. head -n9 /etc/fstab | tail -n5 ou bien tail -n8 /etc/fstab | head -n5 c. fg 1 ou %1
6. head -n15 /etc/fstab | tail -n1 d. Ctrl+z
Tp3 ex5 e. bg 1 ou %1&
1. Lancer la commande Ping dans le terminal sans spécifier le f. fg 1 ou %1
nombre de g. Ctrl+c
paquets. 2. sleep 120; echo salut après deux minutes
a. Suspendre la commande ping lancée. a. non
b. Afficher la liste des jobs. b. (sleep 120; echo salut après deux minutes) &
c. Relancer la commande au premier plan. c. Jobs
d. Suspendre la commande de nouveau. d. Kill %1
e. Relancer la commande en arrière-plan.

Vous aimerez peut-être aussi