20
Serie1: TP1 : Ennoncé : 1 )dans votre répertoire courant, créez en une commande les fichiers suivants : fiche1, fiche2, Fiche4, fiche45, fichier41, Fichier510 en utilisant la commande touch 2 )lister tous les fichiers a. Se terminant par 1 b. Commençant par fiche4 c. Commençant par fiche4 et de 7 lettres maximum d. Commençant par fiche et se terminant par 2 chiffres numériques e. Contenant la chaine ‘hier’ f. Commençant par f ou F 3) créer les répertoires Files et temp dans votre répertoire courant, en une commande déplacez les fichiers précédemment créés dans le répertoire temp. 4 )copier les fichiers dont l’avant dernier caractère est un 4 ou 1 dans le répertoire Files en une seule commande. Objectif : familialiser l’utilisation des commandes touch et ls

Serie1

Embed Size (px)

Citation preview

Page 1: Serie1

Serie1:

TP1 :

Ennoncé :

1 )dans votre répertoire courant, créez en une commande les fichiers suivants :

fiche1, fiche2, Fiche4, fiche45, fichier41, Fichier510 en utilisant la commande touch

2 )lister tous les fichiers

a. Se terminant par 1

b. Commençant par fiche4

c. Commençant par fiche4 et de 7 lettres maximum

d. Commençant par fiche et se terminant par 2 chiffres numériques

e. Contenant la chaine ‘hier’

f. Commençant par f ou F

3) créer les répertoires Files et temp dans votre répertoire courant, en une commande déplacez les fichiers précédemment créés dans le répertoire temp.

4 )copier les fichiers dont l’avant dernier caractère est un 4 ou 1 dans le répertoire Files en une seule commande.

Objectif :

familialiser l’utilisation des commandes touch et ls

avoir créé des fichiers et les manipuler.

Commande1 : « touch »

Syntaxe :

$ touch [fichier…]

Page 2: Serie1

Permet de…

Crée un fichier vide de ce nom s’il n’existe pas,sinon change la date de dernière modification du fichier

touch –a : Modifie l’heure d’accès seulement

touch –m : Modifie la date de modification seulement

Commande2 : « ls »

Syntaxe : $ ls [option…] [(chemin|fichier)…]

Permet de…

Lister les fichiers d'un répertoire: (List Sorted)

ls -l : Permet de lister les attributs des fichiersls -d: Affiche uniquement les répertoiresls -a : Liste tous les fichiers du répertoire y compris les fichiers cachés.ls -m : Affiche les fichiers en les séparant par une virgule.ls -t : Affiche les fichiers par date.ls -lu : Affiche les fichiers par date du dernier accès et indique la date.ls -F : Affiche les fichiers par typels -S : Affiche les fichiers triés par ordre de taille décroissante.ls -X : Affiche les fichiers par type d'extensionls -r : Affiche les fichier en ordre alphabétique inversels -alR / : Affiche tous les fichiers d'un systèmels -alR |grep doc : Affiche tous les fichiers contenant doc

Correction :

1 ) smi4@ubuntu:~$ touch fiche1 fiche2 Fiche4 fiche45 fichier41 Fichier510

2 ) -smi4@ubuntu:~$ ls *1

-smi4@ubuntu:~$ ls fiche4*

-smi4@ubuntu:~$ ls fiche4?

-smi4@ubuntu:~$ ls fiche*[0-9][0-9]

-smi4@ubuntu:~$ ls *hier*

-smi4@ubuntu:~$ ls [fF]*

3 ) smi4@ubuntu:~$ mkdir ~/Files temp

Page 3: Serie1

smi4@ubuntu:~$ cp [fF]ich* temp

4 ) smi4@ubuntu:~$ cp temp/* [14]? Files

TP2 :

Ennoncé :

Dans votre répertoire personnel, créer un répertoire que vous appellerez catalogue,dans ce répertoire créer les fichiers suivants : fiche1,fiche2,f fiche22, fiche30, fiche40, fiche41, fiche, lettre1, prog.dat, program.cob, program.c, programme, emploiA, empoiB.

1 ) quel est le résultat de la commande ls dans chacun des cas suivant :

a. ls*.*

b. ls*.c

c. ls p*

d. ls *e*

e. ls fiche[0-9]

f. ls fiche[0-9]*

g. ls fich[ !0-9]*

h. ls lettr ??

2 ) aller au répertoire initial et créer en une seule commande un sous répertoire de catalogue appelé catalogue3.

3 ) copier tous les fichiers présents dans le répertoire catalogue se terminant par un caractère numérique dans catalogue3.

5 ) répéter la commande de la question 3 en utilisant l’option i

Page 4: Serie1

4 ) répéter la commande de la question 3 en utilisant l’option f

6 ) en une seule commande vider le conteu de cotr répertoire courant (travail)

Objectif :

bien maitriser les commandes de traitement de fichiers

lister un fichier

copier d’un fichier à un autre de façons différentes.

Commande1 : « cd »

Syntaxe :

$cd [ fichier]

Permet de … Se déplacer dans les répertoires (Change Directory)

cd.. : Remonte d'un niveaucd/ : Retourne à la racinecd- : Retourne au répertoire précédent

Commande2 : « mkdir »

Syntaxe :

$mkdir [option] répertoire …

Permet de …Créer des répertoire: (make directory)

mkdir : Crée un répertoire

mkdir -p:Crée un répertoire et ses sous répertoires associés.

Commande3 : « cp »

Page 5: Serie1

Syntaxe :

$cp [option…]fichier1 fichier2

Permet de…

Copier un fichier dans un autre endroit

cp : Demande s'il peut écraser le nom de fichier : répondre par Oui(y) ou Non (n)cp -f :Effacer les fichiers cibles existants (voir ci- dessus)cp -i : Avertit de l'existence d'un fichier du même nom et demande s'il peut ou non le remplacer.cp -l : Permet de faire un lien en "dur" entre le fichier source et sa copiecp -s : Permet de faire un lien "symbolique" entre le fichier source et sa copiecp -p : Permet lors de la copie de préserver toutes les informations concernant le fichier.cp -r : Permet de copier de manière récursive l'ensemble d'un répertoire et de ses sous

Commande3 : « rm »

Syntaxe :

$rm [option…]fichier1

Permet de…Supprimer des fichiers et répertoires: (remove & remove directory)

rm -d : Permet de supprimer un répertoire qu'il soit plein ou nonrm -r : Permet de supprimer un répertoire et ses sous répertoiresrm -f : Permet de supprimer les fichiers protégés en écriture et répertoires sans confirmationrmdir : Supprime un répertoirermdir -p rep1/rep2/rep :Supprime le répertoire et ses sous répertoire associés

NB :

pour accéder à un fichier on utilise la commande « cd », ‘cd fichier’ ou, on répete le chemin à chaque fois

Correction :

1 ) smi4@ubuntu:~$ mkdir ~/catalogue

2 ) smi4@ubuntu:~$ cd catalogue

smi4@ubuntu:~/catalogue$ touch fiche1 fiche2 fiche22 fiche30 fiche40 fiche41 fiche lettre1 prog.dat program.cob program.c programme emploiA emploiB

Page 6: Serie1

/home/userxGx

F1 F2

F11 F12 F13 F21 F22 F23

3 ) smi4@ubuntu:~$ cd catalogue

smi4@ubuntu:~/catalogue$ ls *.*

smi4@ubuntu:~/catalogue$ ls *.c

smi4@ubuntu:~/catalogue$ ls p*

smi4@ubuntu:~/catalogue$ ls *e*

smi4@ubuntu:~/catalogue$ ls fiche[0-9]

smi4@ubuntu:~/catalogue$ ls fiche[0-9]*

smi4@ubuntu:~/catalogue$ ls fich[!0-9]*

smi4@ubuntu:~/catalogue$ ls lettr??

4 ) smi4@ubuntu:~/catalogue$ mkdir ~/catalogue/catalogue3

smi4@ubuntu:~/catalogue$ cp [fl]*[0-9] catalogue3

5 ) smi4@ubuntu:~/catalogue$ cp -i [fl]*[0-9] catalogue3

smi4@ubuntu:~/catalogue$ cp -f [fl]*[0-9] catalogue3

6 ) smi4@ubuntu:~/catalogue$ rm -r ~/catalogue

TP3 :Soit l’arborescence suivante :

1) Dans votre répertoire personnel, crée en une seule commande

les répertoires l’arborescence ci-dessus en utilisant la commande

mkdir avec l’option –p ,F12,F13,F21,F22,et F23 en utilisanant

2) Créer le fichier ch1 dans le répertoire F22

Page 7: Serie1

3) Copier ch1 dans F11 sous le nom ch2

4) copier ch2 dans F12 sous le nom ch3

5) Lier ch2 à ch4 dans F13

6) lier ch1 à ch5 dans F13

7) Modifier le fichier ch2 en utilisant la commande cat

8) Afficher le contenue du fichier ch4

9) Supprimer le fichier ch2

10) copier ch1 dans F1 sous le nom ch6

11) Quel est le nombre de liens pour chacun des fichiers suivants :

ch1, ch2, ch3, ch4, ch5, ch6

12) Supprimer de deux façons les deux arborescences suivantes :

F1 et F2

Objectif :

manipuler les fichiers avec la commande cp

savoir faire des liens entre les fichiers,

afficher le contenu d’un fichier

faire la différence entre liens durs et symboliques

commande1 : « cat > »

Syntaxe :

$cat >fichier...

Permet de…

Donner la main pour écrire

Commande2 : « cat »

Page 8: Serie1

Syntaxe :

$cat fichier…

Permet de …

Afficher le contenu d’un fichier

Commande3 : « cp –s »

Syntaxe :

$cp –s fichier1 fichier2

Permet de… faire un lien "symbolique" entre le fichier source et sa copie(la modification effectuer au fichier source s’applique automatiquement sur la copie)

Correction :

1) smi4@ubuntu:~$ mkdir -p F1/F11 F1/F12 F1/F13 F2/F21 F2/F22 F2/F23

2) smi4@ubuntu:~$ touch F2/F22/ch1

3) smi4@ubuntu:~$ cp F2/F22/ch1 F1/F11/ch2

4) smi4@ubuntu:~$ cp F1/F11/ch2 F1/F12/ch3

5) smi4@ubuntu:~$ ln F1/F11/ch2 F1/F13/ch4

6) smi4@ubuntu:~$ ln F2/F22/ch1 F1/F13/ch5

7) smi4@ubuntu:~$ cat >F1/F11/ch2

8) smi4@ubuntu:~$ cat F1/F13/ch4

9) smi4@ubuntu:~$ rm -r F1/F11/ch2

10)smi4@ubuntu:~$ cp F2/F22/ch1 F1/ch6

11)ls links F1/F11/ch2 F2/F22/ch1 F1/F12/ch3 F1/F13/ch5 F1/F13/ch4 F1/ch6

12)a: rm –r F1 F2

b: rm F1/F11 ch1 ,rm F1/F11

serie 2 :

Page 9: Serie1

TP1 :

Ennoncé :

Quelles sont les commandes permettant de répondre aux questions suivantes :

1. qui suis-je ?

2. ou suis-je ?

3. qui est connecté ?

4. quel est le contenu du répertoire courant ?

Objectif :

determiner l’identité d’un utilisateur sous laquelle il se logge

préciser ou se trouve l’utilisateur

préciser qui est l’utilisateur

lister le contenu d’un répertoire

commande1 : « whoami »

Syntaxe : $ whoami

Commande2 : « pwd »

Syntaxe : $ pwd

Commande3 : « who »

Syntaxe : $ who

TP2:

Ennoncé :

Page 10: Serie1

1)créer un répertoire essai-grep dans votre home directory. Dans ce répertoire créer les fichiers suivants :

tomate poire pomme cerise Fraise fraise courgette POMME3 afraise

2)editez les fichiers(sortie de la commande ls redirigée vers grep) avec les critères sur leur nom

suivant :

a)critère 1 le nom doit etre Fraise ou fraise

b)critère 2 « se » est en fin de nom

c) critère 3 « ai » est présent dans le nom

d) critère 4 nom contenant un chiffre numérique

3)En une seule commande supprimer votre répertoire courant (travail)

Objectif :

Redirigée une commande vers une autre(la sortie d’une première cimmande devient l’entrée d’une deuxième commande)

Symboles de redirection :

< :redirection de l’entrée standard

> : redirection de la sortie standard

>> : redirection de la sortie standard à la fin d’un fichier

Commande1 : « ls > fichier »

Page 11: Serie1

Commande2 : « grep …fichier »

Après lister le fichier,on cherche dans cette sortie

smi4@ubuntu:~$ mkdir essai-grep

smi4@ubuntu:~$ cd essai-grep

smi4@ubuntu:~/essai-grep$ touch tomate poire pomme cerise Fraise fraise courgette POMME3 afraise

smi4@ubuntu:~/essai-grep$ ls >critère1

smi4@ubuntu:~/essai-grep$ grep ^[fF] critère1

smi4@ubuntu:~/essai-grep$ ls >critère2

smi4@ubuntu:~/essai-grep$ grep se$ critère2

smi4@ubuntu:~/essai-grep$ ls >critère3

smi4@ubuntu:~/essai-grep$ grep ai critère3

smi4@ubuntu:~/essai-grep$ ls >critère4

smi4@ubuntu:~/essai-grep$ grep [0-9] critère4

smi4@ubuntu:~/essai-grep$ cd ..

TP3:

Ennoncé:

1 . créer un fichier fruit.price dans votre repertoire tpunix et écrire le texte suivant ( en utilisant la commande cat ):

apples :9

apricot :7

bergamot :12

blackberry :39

cantaloupe :10

cherry :6

citron :5

Page 12: Serie1

elderberry :79

grape :59

grapefruit :67

huckleberry :66

indian mulberry :99

kiwi :19

lemon :8

mango :34

melon :50

noni :56

nut :19

orange :14

peach :17

pear :29

sloe :34

strawberry :80

2 . visionner votre fichier avec la commande more.

3 . à l’aide de grep, faire afficher les lignes de ce fichier :

a) Contenant l’expression « berry»

b) Contenant l’expression « appLES » en ignorant la casse (distinction minuscules/majuscule)

c) Ne Contenant pas l’expression « apples »

d) Dont le fruit commence pa la lettre ‘s’

e) Dont le fruit commence par une voyelle minuscule

f) Dont le fruit commence par la lettre ‘l’ ou une lettre comprise entre ‘a’ et ‘g’

g) Dont le fruit ne commence pas par une voyelle

Page 13: Serie1

h) Dont le fruit ne commence pas par une lettre comprise entre ‘a’ et ‘m’

i) Dont le prix se termine par 79

j) Dont le prix ne se termine pas par 9

k) Dont le prix se termine par9 mais pas par 39, 69, 79, ni 89

l) Dont le prix ne se termine pas par 09, ni par 39, ni par 79

4 . en une seule commande supprimer votre répertoire courant (travail).

Objectif :

Savoir une autre façon pour afficher le contenu d’un fichier

Utiliser le pipe dans la commande de recherche grep

Commande 1: « more »

Syntaxe :

$more [option] fichier

Permet de

Liste du contenu du fichier, arrêt en bas de l’écran

more –p : effacer l’ecran pour chaque page.

more +num : commencer à partir de la ligne num.

Commande 2: « grep [option]commande1 fichier |commande2»

Correction :

1) smi4@ubuntu:~$ mkdir tpunix

smi4@ubuntu:~$ touch tpunix/fruit.price

smi4@ubuntu:~$ cat >tpunix/fruit.price

Page 14: Serie1

2) smi4@ubuntu:~$ more tpunix/fruit.price

3) a:smi4@ubuntu:~$ grep apples tpunix/fruit.price

b:smi4@ubuntu:~$ grep -i appLES tpunix/fruit.price

c:smi4@ubuntu:~$ grep -v apples tpunix/fruit.price

d:smi4@ubuntu:~$ grep ^s tpunix/fruit.price

e:smi4@ubuntu:~$ grep ^[aieyou] tpunix/fruit.price

f:smi4@ubuntu:~$ grep ^[la-g] tpunix/fruit.price

g:smi4@ubuntu:~$ grep -v ^[aieyuo] tpunix/fruit.price

h:smi4@ubuntu:~$ grep -v ^[a-m] tpunix/fruit.price

i:smi4@ubuntu:~$ grep 79$ tpunix/fruit.price

j:smi4@ubuntu:~$ grep -v 9 tpunix/fruit.price

k:smi4@ubuntu:~$ grep 9$ tpunix/fruit.price|grep -v [3678]

l:smi4@ubuntu:~$ grep [1245689]9$ tpunix/fruit.price

4) smi4@ubuntu:~$ rm -r tpunix

TP4 :

Ennoncé:

1. Dans votre repertoire de travail personnel, créer un répertoire que vous appellerez tpunix.

2. Copier le fichier /etc/passwd dans votre répertoire tpunix sous le nom des_lignes

3. Afficher le contenu de ce fichier

4. Faire afficher la premiere ligne de des_lignes

5. Utiliser un nombre négatif en argument de l’option –n, faire afficher des_lignes mais pas ses deux dernières lignes.

6. Faire efficher les deux dernières lignes de des_lignes

Page 15: Serie1

7. Utiliser un nombre positif en argument de l’option –n, faie afficher des lignes mais pas ses cinq premières lignes.

8. Faire afficher les deux premières lignes de tous vos fichier d’extension .txt (de tpunix), sans en-tete

9. Crèer un fichier extremes (attention sans extension .txt), qui conteint la première ligne de tous les fichiers d’extension .txt et, ç la suite, leur dernière ligne, le tout sans en-tete

10. Faire afficher uniquement les lignes5, 6 et 7 de des_lignes.

Objectif :

Manipuler les fichiers par lignes

Afficher les premières lignes

Afficher les dérnières lignes

Commande1 : « head »

Syntaxe :

$head [option] fichier

Permet de…

Afficher les premiers lignes d’un fichier

head –n N : afficher les N premiers lignes

head –q : ne pas afficher les en-têtes

head –v : toujours afficher les en-têtes

head –version: afficher le numero de version à la sortie standard

Commande2 : « tail »

Page 16: Serie1

Syntaxe :

$tail [option] fichier

Permet de…

Afficher les derniers lignes d’un fichier

tail –n N : Afficher les N derniers lignes

tail –q : ne jamais afficher les en-têtes

tail –v : toujours afficher l’en-tête

tail –version : afficher un numéro de version

Correction :

1) smi4@ubuntu:~$ mkdir tpunix

2) smi4@ubuntu:~$ cp /etc/passwd tpunix/des_lignes

3) smi4@ubuntu:~$ more tpunix/des_lignes

4) smi4@ubuntu:~$ head -n 1 tpunix/des_lignes

5) smi4@ubuntu:~$ head -n -2 tpunix/des_lignes

6) smi4@ubuntu:~$ tail -n 2 tpunix/des_lignes

7) smi4@ubuntu:~$ tail –n 5 tpunix/des_lignes

8) smi4@ubuntu:~$ grep .txt tpunix/des _lignes | head -qn 59) smi4@ubuntu:~$ sed -n '5,7p' tpunix/des_lignes

TP5:

Ennoncé:

1) Recherche le fichier ordinaire fiche.txt dans l’arborescence de votre répertoire personnel. 2) Recherche le répertoire tpunix dans l’arborescence de votre répertoire personnel.

Page 17: Serie1

3) Rechercher tous les fichiers ordinaires vous appartenant dans toute l’arborescence du système de fichiers (c'est-à-dire depuis la racine). 4) Créer le fichier hebdo.txt contenant les références des fichiers ordinaires vous appartenant contenus dans l’arborescence du système de fichiers et qui ont été modifiés il y a moins d’une semaine. 5) Afficher tous les noms des fichiers répertoires commençant par une lettre majuscule. 6) Afficher tous les fichiers normaux ayant pour taille 150Ko ? 7) Afficher tous répertoires ayant les autorisations d’accès ‘ rwxr-xr-x ’