le reste
This commit is contained in:
@@ -1,17 +0,0 @@
|
||||
|
||||
I.
|
||||
1. id <login>
|
||||
2. uname -m
|
||||
3. Dans mon repertoire domicile "dacostaj"
|
||||
4. /etc/ contient énormément de fichier
|
||||
|
||||
II.
|
||||
1. dacostaj
|
||||
2. cd /etc/
|
||||
3. cd
|
||||
|
||||
IV.
|
||||
1. Non
|
||||
|
||||
V.
|
||||
1.
|
||||
Binary file not shown.
@@ -1,110 +0,0 @@
|
||||
I.
|
||||
|
||||
1.
|
||||
[user1@salle224-05 TP02]$ man echo
|
||||
|
||||
NAME
|
||||
echo - display a line of text
|
||||
|
||||
SYNOPSIS
|
||||
echo [SHORT-OPTION]... [STRING]...
|
||||
|
||||
DESCRIPTION
|
||||
Echo the STRING(s) to standard output.
|
||||
|
||||
La commande echo affiche sur la sortie standard les chaines de caracteres passees en argument.
|
||||
|
||||
2.
|
||||
[user1@salle224-05 TP02]$ echo "Hello world!"
|
||||
Hello world!
|
||||
|
||||
3.
|
||||
[user1@salle224-05 TP02]$ echo "$?"
|
||||
0
|
||||
|
||||
Le code de sortie 0 indique que la commande precedente (echo) s'est executee sans erreur.
|
||||
|
||||
4.
|
||||
[user1@salle224-05 TP02]$ ls fi
|
||||
fi
|
||||
|
||||
5.
|
||||
[user1@salle224-05 TP02]$ echo "$?"
|
||||
0
|
||||
|
||||
Le fichier fi existe, la commande ls se termine correctement avec un code de sortie egal a 0.
|
||||
|
||||
6.
|
||||
[user1@salle224-05 TP02]$ ls -l fi
|
||||
-rw-r--r-- 1 user1 users 0 Sep 16 14:00 fi
|
||||
|
||||
7.
|
||||
[user1@salle224-05 TP02]$ echo "$?"
|
||||
0
|
||||
|
||||
8.
|
||||
[user1@salle224-05 TP02]$ ls nofi
|
||||
ls: cannot access 'nofi': No such file or directory
|
||||
|
||||
9.
|
||||
[user1@salle224-05 TP02]$ echo "$?"
|
||||
2
|
||||
|
||||
Le fichier nofi n'existe pas. Le code de sortie est different de 0 (ici 2), ce qui signale une erreur.
|
||||
|
||||
III.
|
||||
|
||||
1.
|
||||
Le caractere ; permet d'enchainer des commandes sur une meme ligne. Le shell exécute les commandes les unes apres les autres, de maniere sequentielle, quel que soit le code de sortie des commandes precedentes.
|
||||
|
||||
2.
|
||||
[user1@salle224-05 TP02]$ ls fi ; echo "$?"
|
||||
fi
|
||||
0
|
||||
|
||||
3.
|
||||
[user1@salle224-05 TP02]$ ls nofi ; echo "$?"
|
||||
ls: cannot access 'nofi': No such file or directory
|
||||
2
|
||||
|
||||
4.
|
||||
[user1@salle224-05 TP02]$ ls fi && echo "Hello world!" ; echo "$?"
|
||||
fi
|
||||
Hello world!
|
||||
0
|
||||
|
||||
5.
|
||||
[user1@salle224-05 TP02]$ ls nofi && echo "Hello world!" ; echo "$?"
|
||||
ls: cannot access 'nofi': No such file or directory
|
||||
2
|
||||
|
||||
6.
|
||||
[user1@salle224-05 TP02]$ ls fi || echo "Hello world!" ; echo "$?"
|
||||
fi
|
||||
0
|
||||
|
||||
7.
|
||||
[user1@salle224-05 TP02]$ ls nofi || echo "Hello world!" ; echo "$?"
|
||||
ls: cannot access 'nofi': No such file or directory
|
||||
Hello world!
|
||||
0
|
||||
|
||||
8.
|
||||
[user1@salle224-05 TP02]$ ls nofi || ls fi ; echo "$?"
|
||||
ls: cannot access 'nofi': No such file or directory
|
||||
fi
|
||||
0
|
||||
|
||||
9.
|
||||
[user1@salle224-05 TP02]$ ls fi || ls nofi ; echo "$?"
|
||||
fi
|
||||
0
|
||||
|
||||
10.
|
||||
[user1@salle224-05 TP02]$ ls nofi && ls fi ; echo "$?"
|
||||
ls: cannot access 'nofi': No such file or directory
|
||||
2
|
||||
|
||||
Signification des notations :
|
||||
- && (ET logique) : la seconde commande n'est executee que si la premiere s'est terminee avec succes (code de sortie 0).
|
||||
- || (OU logique) : la seconde commande n'est executee que si la premiere a echoue (code de sortie different de 0).
|
||||
@@ -0,0 +1,288 @@
|
||||
I. Quelques formes des lignes de commandes.
|
||||
|
||||
|
||||
Forme simple
|
||||
|
||||
|
||||
1.
|
||||
[user1@salle224-05 TP02]$ man echo
|
||||
|
||||
NAME
|
||||
echo - display a line of text
|
||||
|
||||
SYNOPSIS
|
||||
echo [SHORT-OPTION]... [STRING]...
|
||||
|
||||
DESCRIPTION
|
||||
Echo the STRING(s) to standard output.
|
||||
|
||||
La commande echo affiche sur la sortie standard les chaines de caracteres passees en argument[cite: 1, 2]
|
||||
|
||||
2.
|
||||
[user1@salle224-05 TP02]$ echo "Hello world!"
|
||||
Hello world!
|
||||
|
||||
3.
|
||||
[user1@salle224-05 TP02]$ echo "$?"
|
||||
0
|
||||
|
||||
Le code de sortie 0 indique que la commande precedente (echo) s'est executee sans erreur[cite: 1, 2]
|
||||
|
||||
4.
|
||||
[user1@salle224-05 TP02]$ ls fi
|
||||
fi
|
||||
|
||||
5.
|
||||
[user1@salle224-05 TP02]$ echo "$?"
|
||||
0
|
||||
|
||||
Le fichier fi existe, la commande ls se termine correctement avec un code de sortie egal a 0[cite: 1, 2]
|
||||
|
||||
6.
|
||||
[user1@salle224-05 TP02]$ ls -l fi
|
||||
-rw-r--r-- 1 user1 users 0 Sep 16 14:00 fi
|
||||
|
||||
7.
|
||||
[user1@salle224-05 TP02]$ echo "$?"
|
||||
0
|
||||
|
||||
8.
|
||||
[user1@salle224-05 TP02]$ ls nofi
|
||||
ls: cannot access 'nofi': No such file or directory
|
||||
|
||||
9.
|
||||
[user1@salle224-05 TP02]$ echo "$?"
|
||||
2
|
||||
|
||||
Le fichier nofi n'existe pas. Le code de sortie est different de 0 (ici 2), ce qui signale une erreur[cite: 1, 2]
|
||||
|
||||
|
||||
Pipeline
|
||||
|
||||
|
||||
Plus tard
|
||||
|
||||
Liste
|
||||
|
||||
|
||||
1.
|
||||
Le caractere ; permet d'enchainer des commandes sur une meme ligne. Le shell execute les commandes les unes apres les autres, de maniere sequentielle, quel que soit le code de sortie des commandes precedentes[cite: 1, 2]
|
||||
|
||||
2.
|
||||
[user1@salle224-05 TP02]$ ls fi ; echo "$?"
|
||||
fi
|
||||
0
|
||||
|
||||
3.
|
||||
[user1@salle224-05 TP02]$ ls nofi ; echo "$?"
|
||||
ls: cannot access 'nofi': No such file or directory
|
||||
2
|
||||
|
||||
4.
|
||||
[user1@salle224-05 TP02]$ ls fi && echo "Hello world!" ; echo "$?"
|
||||
fi
|
||||
Hello world!
|
||||
0
|
||||
|
||||
5.
|
||||
[user1@salle224-05 TP02]$ ls nofi && echo "Hello world!" ; echo "$?"
|
||||
ls: cannot access 'nofi': No such file or directory
|
||||
2
|
||||
|
||||
6.
|
||||
[user1@salle224-05 TP02]$ ls fi || echo "Hello world!" ; echo "$?"
|
||||
fi
|
||||
0
|
||||
|
||||
7.
|
||||
[user1@salle224-05 TP02]$ ls nofi || echo "Hello world!" ; echo "$?"
|
||||
ls: cannot access 'nofi': No such file or directory
|
||||
Hello world!
|
||||
0
|
||||
|
||||
8.
|
||||
[user1@salle224-05 TP02]$ ls nofi || ls fi ; echo "$?"
|
||||
ls: cannot access 'nofi': No such file or directory
|
||||
fi
|
||||
0
|
||||
|
||||
9.
|
||||
[user1@salle224-05 TP02]$ ls fi || ls nofi ; echo "$?"
|
||||
fi
|
||||
0
|
||||
|
||||
10.
|
||||
[user1@salle224-05 TP02]$ ls nofi && ls fi ; echo "$?"
|
||||
ls: cannot access 'nofi': No such file or directory
|
||||
2
|
||||
|
||||
Signification des notations :
|
||||
- && (ET logique) : la seconde commande n'est executee que si la premiere s'est terminee avec succes (code de sortie 0)[cite: 1, 2]
|
||||
- || (OU logique) : la seconde commande n'est executee que si la premiere a echoue (code de sortie different de 0)[cite: 1, 2]
|
||||
|
||||
|
||||
II. Redirections des entrees/sorties.
|
||||
|
||||
|
||||
1.
|
||||
[user1@salle224-05 TP02]$ ls nofi fi
|
||||
ls: cannot access 'nofi': No such file or directory
|
||||
fi
|
||||
|
||||
2.
|
||||
[user1@salle224-05 TP02]$ ls nofi fi > output_file
|
||||
ls: cannot access 'nofi': No such file or directory
|
||||
|
||||
3.
|
||||
[user1@salle224-05 TP02]$ cat output_file
|
||||
fi
|
||||
|
||||
Le fichier output_file contient la sortie de (fi)[cite: 1]. Le message d'erreur pour nofi s'affiche sur le terminal car il est emis sur la sortie des erreurs (descripteur 2) et non redirige par '>' (qui ne redirige que la sortie standard 1)[cite: 1]
|
||||
|
||||
4.
|
||||
[user1@salle224-05 TP02]$ ls nofi > output_file
|
||||
ls: cannot access 'nofi': No such file or directory
|
||||
|
||||
5.
|
||||
[user1@salle224-05 TP02]$ cat output_file
|
||||
|
||||
L'utilisation de '>' ecrase le contenu precedent du fichier[cite: 1]. Comme la commande genere aucun resultat (seulement une erreur sur le terminal), le fichier output_file se retrouve vide[cite: 1]
|
||||
|
||||
6.
|
||||
[user1@salle224-05 TP02]$ ls fifi nofifi > output_file
|
||||
ls: cannot access 'nofifi': No such file or directory
|
||||
|
||||
7.
|
||||
[user1@salle224-05 TP02]$ cat output_file
|
||||
fifi
|
||||
|
||||
8.
|
||||
[user1@salle224-05 TP02]$ ls nofi >> output_file
|
||||
ls: cannot access 'nofi': No such file or directory
|
||||
|
||||
9.
|
||||
[user1@salle224-05 TP02]$ cat output_file
|
||||
fifi
|
||||
|
||||
Contrairement a '>' qui ecrase le fichier, '>>' permet d'ajouter a la fin du fichier sans effacer son contenu existant[cite: 1, 2]. Ici, comme ls nofi ne produit rien sur la sortie standard, le contenu reste inchange[cite: 1]
|
||||
|
||||
10.
|
||||
[user1@salle224-05 TP02]$ ls nofi fi 2> error_file
|
||||
fi
|
||||
|
||||
11.
|
||||
[user1@salle224-05 TP02]$ cat error_file
|
||||
ls: cannot access 'nofi': No such file or directory
|
||||
|
||||
12.
|
||||
[user1@salle224-05 TP02]$ ls fi nofifi 2> error_file
|
||||
fi
|
||||
|
||||
13.
|
||||
[user1@salle224-05 TP02]$ cat error_file
|
||||
ls: cannot access 'nofifi': No such file or directory
|
||||
|
||||
14.
|
||||
[user1@salle224-05 TP02]$ ls nofi fi 2>> error_file
|
||||
fi
|
||||
|
||||
15.
|
||||
[user1@salle224-05 TP02]$ cat error_file
|
||||
ls: cannot access 'nofifi': No such file or directory
|
||||
ls: cannot access 'nofi': No such file or directory
|
||||
|
||||
Les redirections '2>' et '2>>' permettent de rediriger la sortie standard des erreurs (descripteur 2)[cite: 1]
|
||||
- '2>' ecrase le fichier cible avec les messages d'erreur[cite: 1, 2]
|
||||
- '2>>' ajoute les messages d'erreur a la fin du fichier sans en effacer le contenu[cite: 1, 2]
|
||||
|
||||
16.
|
||||
[user1@salle224-05 TP02]$ ls nofi fi > output_file 2> error_file
|
||||
|
||||
17.
|
||||
[user1@salle224-05 TP02]$ cat output_file
|
||||
fi
|
||||
|
||||
18.
|
||||
[user1@salle224-05 TP02]$ cat error_file
|
||||
ls: cannot access 'nofi': No such file or directory
|
||||
|
||||
19.
|
||||
[user1@salle224-05 TP02]$ ls nofi fi > output_and_error_file 2>&1
|
||||
|
||||
20.
|
||||
[user1@salle224-05 TP02]$ cat output_and_error_file
|
||||
ls: cannot access 'nofi': No such file or directory
|
||||
fi
|
||||
|
||||
L'interet d'utiliser '2>&1' est de rediriger la sortie d'erreur (descripteur 2) vers la meme destination que la sortie standard (descripteur 1)[cite: 1]
|
||||
Contrairement a la commande 16 qui separait les resultats dans deux fichiers distincts (output_file et error_file), '2>&1' permet de combiner le flux de resultat et le flux d'erreur dans un seul et meme fichier[cite: 1]
|
||||
|
||||
21.
|
||||
[user1@salle224-05 TP02]$ man wc
|
||||
|
||||
NAME
|
||||
wc - print newline, word, and byte counts for each file
|
||||
|
||||
SYNOPSIS
|
||||
wc [OPTION]... [FILE]...
|
||||
|
||||
DESCRIPTION
|
||||
Print newline, word, and byte counts for each FILE...
|
||||
|
||||
La commande wc compte et affiche le nombre de lignes, de mots et d'octets/caracteres contenus dans un fichier ou transmis par l'entree standard[cite: 1]
|
||||
|
||||
22.
|
||||
[user1@salle224-05 TP02]$ wc
|
||||
ligne 1
|
||||
ligne 2
|
||||
CTRL-D
|
||||
2 4 16
|
||||
|
||||
On obtient trois nombres indiquant respectivement le nombre de lignes, de mots et d'octets tapes sur l'entree standard[cite: 1]. CTRL-D signale la fin du flux d'entree (EOF)[cite: 1]
|
||||
|
||||
23.
|
||||
[user1@salle224-05 TP02]$ wc output_and_error_file
|
||||
2 10 55 output_and_error_file
|
||||
|
||||
24.
|
||||
[user1@salle224-05 TP02]$ wc < output_and_error_file
|
||||
2 10 55
|
||||
|
||||
Difference :
|
||||
- Dans le premier cas, le nom du fichier est passe en argument a la commande wc, qui affiche donc le nom du fichier apres les statistiques[cite: 1]
|
||||
- Dans le second cas, l'entree standard de wc est redirigee a partir du fichier via '<'. La commande lit le contenu depuis son entree standard et n'a pas connaissance du nom du fichier, elle n'affiche donc que les statistiques[cite: 1]
|
||||
|
||||
25.
|
||||
[user1@salle224-05 TP02]$ ls -l /etc/ > output_file
|
||||
|
||||
On a liste les details du repertoire /etc/ et redirige le resultat pour l'enregistrer dans le fichier output_file[cite: 1, 2]
|
||||
|
||||
26.
|
||||
[user1@salle224-05 TP02]$ wc < output_file
|
||||
248 2232 14850
|
||||
|
||||
On a compte le nombre de lignes, mots et octets contenus dans le fichier output_file en le redirigeant sur l'entree standard de wc[cite: 1]
|
||||
|
||||
27.
|
||||
[user1@salle224-05 TP02]$ ls -l /etc/ | wc
|
||||
248 2232 14850
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
1.
|
||||
[user1@salle224-05 TP02]$ echo "Hello world1!" | echo "Hello world2!"
|
||||
Hello world2!
|
||||
|
||||
2.
|
||||
[user1@salle224-05 TP02]$ echo "Hello world1!" | cat
|
||||
Hello world1!
|
||||
|
||||
3.
|
||||
Signification de la notation | :
|
||||
Le symbole | (pipe / tube) permet de relier la sortie standard (resultats) de la commande situee a sa gauche a l'entree standard de la commande situee a sa droite[cite: 1]
|
||||
|
||||
Explication des resultats :
|
||||
- Dans le premier cas (echo "Hello world1!" | echo "Hello world2!"), la commande echo de droite ignore l'entree standard qu'elle recoit et affiche simplement son propre argument "Hello world2!"[cite: 1]
|
||||
- Dans le deuxieme cas (echo "Hello world1!" | cat), la commande cat lit le texte recu sur son entree standard (transmis par le pipe depuis echo "Hello world1!") et l'affiche sur la sortie standard[cite: 1]
|
||||
@@ -0,0 +1 @@
|
||||
fi
|
||||
@@ -0,0 +1,49 @@
|
||||
Préfixes : 0 10 110 1110 1111...
|
||||
Hexa : 0-7 8-B C-D E F
|
||||
|
||||
C2 A5
|
||||
1100 0010 1010 0101
|
||||
|
||||
00010100101
|
||||
|
||||
|
||||
I. Reconstituer un texte `a partir de son encodage utf-8.
|
||||
|
||||
|
||||
On utilise Hexa
|
||||
|
||||
ex :
|
||||
c2 a5 = 0b00010100101 = ¥
|
||||
|
||||
|
||||
II. La commande read du shell.
|
||||
|
||||
|
||||
[user1@salle224-05 TP03]$ help read
|
||||
|
||||
La commande help permet d'accéder à la documentation d'une commande interne au shell comme read.
|
||||
|
||||
[user1@salle224-05 TP03]$ echo "$x"
|
||||
|
||||
On utilise le symbole $ suivi du nom de la variable pour accéder à sa valeur.
|
||||
|
||||
[user1@salle224-05 TP03]$ read x
|
||||
123
|
||||
|
||||
L'option à donner à read pour afficher une chaîne d'invitation (prompt) avant la saisie est l'option -p.
|
||||
|
||||
Le caractère ; permet de séparer plusieurs commandes sur une même ligne pour les exécuter séquentiellement.
|
||||
|
||||
[user1@salle224-05 TP03]$ read -p "Type var value: " var ; echo "var value is: $var"
|
||||
Type var value: patatra
|
||||
var value is: patatra
|
||||
|
||||
[user1@salle224-05 TP03]$ read -p "Type var value: " var ; echo "var value is: $var"
|
||||
Type var value: 495bl stu...f
|
||||
var value is: 495bl stu...f
|
||||
|
||||
|
||||
III. Une commande pour afficher des caractères UNICODE.
|
||||
|
||||
|
||||
z
|
||||
Binary file not shown.
Reference in New Issue
Block a user