Vous êtes sur la page 1sur 34

Rappel

Gnralit
Lien
Les entres sorties
............

10

11

12

13

14

Expressions rationnelles simples vs tendues

Dans les expressions rationnelles simples,


les mta-caractres ?, +, {, |, (, et )
perdent leur signification spciale, il faut
utiliser la place leurs versions avec la
contre-oblique \?,\+, \{, \|, \(, et \).

15

faon rapide de crer un ou pls fichiers

[ens@dell1234 exemple_grep]$ cat >f1 >f2 >


f3 >f4
les 4 fichiers
f1
f2
f3
f4
seront crs
mais seul le fichier f4 va contenir ses lignes
^C
[ens@dell1234 exemple_grep]$ ll f[1-4]
-rw-rw-r-- 1 ens ens 0 mars 19 09:25 f1
-rw-rw-r-- 1 ens ens 0 mars 19 09:25 f2
-rw-rw-r-- 1 ens ens 0 mars 19 09:25 f3
-rw-rw-r-- 1 ens ens 91 mars 19 09:27 f4

echo "test : pour une de mes etudiantes :) " >f11

$ ls| grep "f1\?[1-4]"


f1
f11
f2
f3
f4

Cat, Head, Tail, Tree, Tee, Start


&&
grep

18

cat -n vide.txt > cent.txt


cat cent.txt
1
2
3
4
5
6
7
8
9
10
.
.
.
96
97
98
99
100
19

head -n 4 cent.txt
1
2
3
4

head -n -4 cent.txt
1
2
3
.
.
95
96

tail -n -4 cent.txt
97
98
99
100

tail -n +4 cent.txt
4
5
.
.
.
100
20

[ens@dell1234 dedacte]$ wc cent.txt


100 100 800 cent.txt
[ens@dell1234 dedacte]$ wc < cent.txt
100 100 800
[ens@dell1234 dedacte]$ wc < cent.txt
100 100 800
[ens@dell1234 dedacte]$ wc -l < cent.txt
100
[ens@dell1234 dedacte]$ wc -w < cent.txt
100
[ens@dell1234 dedacte]$ wc -c < cent.txt
800
[ens@dell1234 dedacte]$ wc -c cent.txt
800 cent.txt

21

[ens@dell1234 dedacte]$ mkdir rrrr


[ens@dell1234 dedacte]$ cd rrrr/
[ens@dell1234 rrrr]$ ll
total 0
[ens@dell1234 rrrr]$ ll / >lltxt
[ens@dell1234 rrrr]$ ll
total 4
-rwxrwxrwx 1 root root 974 mars 9 17:22 lltxt
[ens@dell1234 rrrr]$ mkdir rr
[ens@dell1234 rrrr]$ ln lltxt rr/tt
[ens@dell1234 rrrr]$ echo $?
0
mkdir rrrr && cd rrrr/&& ll &&ll / >lltxt&&mkdir rr&&ln lltxt
rr/tt&& tree .

.
|-- lltxt
`-- rr
`-- 22tt

[ens@dell1234 rrrr]$ tree -lfpgu --inodes device .


.
|-- [ 65545 2051 -rwxrwxrwx root root ] ./lltxt
`-- [ 65546 2051 drwxrwxrwx root root ] ./rr
`-- [ 65545 2051 -rwxrwxrwx root root ] ./rr/tt
1 directory, 2 files

23

[ens@dell1234 complement]$ mkdir rrrr && cd rrrr/&& ll


&&ll / >lltxt&&mkdir rr&&ln lltxt rr/tt&& tree .
total 0
.
|-- lltxt
`-- rr
`-- tt
1 directory, 2 files
[ens@dell1234 rrrr]$ tree -lfpgu --inodes
device .\342\200\223device [error opening dir]
.
|-- [ 615413 -rw-rw-r-- ens
ens ] ./lltxt
`-- [ 615415 drwxrwxr-x ens
ens ] ./rr
`-- [ 615413 -rw-rw-r-- ens
ens ] ./rr/tt
1 directory, 2 files
24

[ens@dell1234 ~]$ mkdir complement


[ens@dell1234 ~]$ cd complement
[ens@dell1234 complement]$ mkdir exemple\ ln
[ens@dell1234 complement]$ ll
total 4
drwxrwxr-x 2 ens ens 4096 mars 9 20:44 exemple ln
[ens@dell1234 complement]$ ll *
total 0
Cet exemple met l'accent sur le problme cre la les espaces l 'intrieure du nom
D'une entre.
[ens@dell1234 complement]$ mv exemple\ ln/ exemple_ln
La commande mv
mv dplace ou renomme des fichiers ou des rpertoires.
[ens@dell1234 complement]$ ll
total 4
drwxrwxr-x 2 ens ens 4096 mars 9 20:44 exemple_ln
25

[ens@dell1234 rrrr]$ tree -lfpgu --inodes .


.
|-- [ 615413 -rw-rw-r-- ens
ens ] ./lltxt
`-- [ 615415 drwxrwxr-x ens
ens ] ./rr
`-- [ 615413 -rw-rw-r-- ens
ens ] ./rr/tt
1 directory, 2 files

[ens@dell1234 rrrr]$ ll -i *
615413 -rw-rw-r-- 2 ens ens 974 mars 9 21:19 lltxt
rr:
total 4
615413 -rw-rw-r-- 2 ens ens 974 mars 9 21:19 tt

26

[ens@dell1234 rrrr]$ stat lltxt


File: `lltxt'
Size: 974
Blocks: 8
IO Block: 4096 fichier rgulier
Device: fd00h/64768d Inode: 615413
Links: 2
Access: (0664/-rw-rw-r--) Uid: ( 500/ ens) Gid: ( 500/ ens)
Access: 2010-03-09 21:19:49.000000000 +0000
Modify: 2010-03-09 21:19:49.000000000 +0000
Change: 2010-03-09 21:19:49.000000000 +0000
[ens@dell1234 rrrr]$ stat rr/tt
File: `rr/tt'
Size: 974
Blocks: 8
IO Block: 4096 fichier rgulier
Device: fd00h/64768d Inode: 615413
Links: 2
Access: (0664/-rw-rw-r--) Uid: ( 500/ ens) Gid: ( 500/ ens)
Access: 2010-03-09 21:19:49.000000000 +0000
Modify: 2010-03-09 21:19:49.000000000 +0000
Change: 2010-03-09 21:19:49.000000000 +0000

chmod 000 rr/tt

27

[ens@dell1234 rrrr]$ stat rr/tt


File: `rr/tt'
Size: 974
Blocks: 8
IO Block: 4096 fichier
rgulier
Device: fd00h/64768d Inode: 615413
Links: 2

Access: (0000/----------)

Uid: ( 500/

ens)

Gid: ( 500/ ens)


Access: 2010-03-09 21:19:49.000000000 +0000
Modify: 2010-03-09 21:19:49.000000000 +0000
Change: 2010-03-09 21:38:10.000000000 +0000
[ens@dell1234 rrrr]$ stat lltxt
File: `lltxt'
Size: 974
Blocks: 8
IO Block: 4096 fichier
rgulier
Device: fd00h/64768d Inode: 615413
Links: 2

Access: (0000/----------)

Uid: ( 500/

Gid: ( 500/ ens)


Access: 2010-03-09 21:19:49.000000000 +0000
Modify: 2010-03-09 21:19:49.000000000 +0000
Change: 2010-03-09 21:38:10.000000000 +0000 28

ens)

[ens@dell1234 complement]$ mkdir exemple_stat


[ens@dell1234 complement]$ cd exemple_stat
[ens@dell1234 exemple_stat]$ >zzz
[ens@dell1234 exemple_stat]$ stat zzz
File: `zzz'
Size: 0
Blocks: 0
IO Block: 4096 fichier rgulier vide
Device: fd00h/64768d Inode: 615424
Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 500/ ens) Gid: ( 500/ ens)
Access: 2010-03-09 22:11:25.000000000 +0000
Modify: 2010-03-09 22:11:25.000000000 +0000
Change: 2010-03-09 22:11:25.000000000 +0000
[ens@dell1234 exemple_stat]$ cat zzz
[ens@dell1234 exemple_stat]$ stat zzz
File: `zzz'
Size: 0
Blocks: 0
IO Block: 4096 fichier rgulier vide
Device: fd00h/64768d Inode: 615424
Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 500/ ens) Gid: ( 500/ ens)
Access: 2010-03-09 22:13:40.000000000 +0000
Modify: 2010-03-09 22:11:25.000000000 +0000
Change: 2010-03-09 22:11:25.000000000 +0000
29

[ens@dell1234 exemple_stat]$ stat zzz >zzz


[ens@dell1234 exemple_stat]$ stat zzz
File: `zzz'
Size: 346
Blocks: 8
IO Block: 4096 fichier rgulier
Device: fd00h/64768d Inode: 615424
Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 500/ ens) Gid: ( 500/ ens)
Access: 2010-03-09 22:13:40.000000000 +0000
Modify: 2010-03-09 22:16:08.000000000 +0000
Change: 2010-03-09 22:16:08.000000000 +0000
[ens@dell1234 exemple_stat]$ vi zzz
[ens@dell1234 exemple_stat]$ stat zzz
File: `zzz'
Size: 346
Blocks: 8
IO Block: 4096 fichier rgulier
Device: fd00h/64768d Inode: 615428
Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 500/ ens) Gid: ( 500/ ens)
Access: 2010-03-09 22:19:15.000000000 +0000
Modify: 2010-03-09 22:19:15.000000000 +0000
Change: 2010-03-09 22:19:15.000000000 +0000
30

[ens@dell1234 rep1]$ tee testtee


dir que je tape ceci
dir que je tape ceci
a savoir je teste la commande tee
a savoir je teste la commande tee
cette commande duplique la ligne !!
cette commande duplique la ligne !!

31

$ grep "." testtee


dir que je tape ceci
a savoir je teste la commande tee
cette commande duplique la ligne !!
$ grep '.' testtee
dir que je tape ceci
a savoir je teste la commande tee
cette commande duplique la ligne !!
grep "je" testtee
dir que je tape ceci
a savoir je teste la commande tee

32

$ grep -v "je" testtee


cette commande duplique la ligne !!
$ cat -n testtee
1 dir que je tape ceci
2 a savoir je teste la commande tee
3 cette commande duplique la ligne !!
4
$ grep -vn "je" testtee
3:cette commande duplique la ligne !!
4:
$ grep -vc "je" testtee
2
$ grep -c "je" testtee
2
$ grep -vnc "je" testtee
2

33

Danger
[ens@dell1234 rrrr]$ stat lltxt > rr/tt
bash: rr/tt: Permission non accorde
[ens@dell1234 rrrr]$ stat lltxt > rr/tt1
[ens@dell1234 rrrr]$ stat lltxt
File: `lltxt'
Size: 974
Blocks: 8
IO Block: 4096 fichier rgulier
Device: fd00h/64768d Inode: 615413
Links: 2
Access: (0000/----------) Uid: ( 500/ ens) Gid: ( 500/ ens)
Access: 2010-03-09 21:19:49.000000000 +0000
Modify: 2010-03-09 21:19:49.000000000 +0000
Change: 2010-03-09 21:38:10.000000000 +0000

34