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.