nformatique sysadmin shell}}
====== La ligne de commande ======
Le shell désigne un interpréteur de ligne de commande. **La ligne de commande est l'unité d'interaction avec l'utilisateur**. Cette interaction est faite par du ... inal. Le rôle du shell est de traiter la ligne de commande et d'appeler le ou les programmes concernés. Ils
sie, à l'édition et la correction sur la ligne de commande.
===== Mouvement du curseur =====
^ <key>ctrl</... cet historique on peut rechercher et rappeler une commande précédemment invoquée.
<code bash>
# afficher le... |
^ <key>ctrl</key>+<key>s</key> | recherche la commande en descendant l'historique |
^ <key>ctrl</key>+<key>o</key> | invoquer la commande |
^ <key>ctrl</key>+<key>g</key> | Abandonner la
s le système de fichier =====
==== find ====
La commande **find** permet de rechercher des fichiers en fon... motif doit être transmis sans interprétation à la commande find.
Rechercher à partir du répertoire courant ... ind . -type f -name "*.py" -o "*.cpp"
</code>
La commande find permet de lancer des traitements sur les obj... yntaxe particulière. Après l'option on indique la commande a exécuter. Au sein de cette commande, on fait ré
======
Le shell est un interpréteur de ligne de commande. Entre le moment de la saisie de l'utilisateur et l'exécution de la commande, différents traitements sont opérés.
L'invite de commande indique que le shell est prêt à recevoir la saisi... harriot est frappée, le shell analyse la ligne de commande, cela consiste à identifier la commande et ses ar
ur effectuer des opérations arithmétiques.
===== Commande expr =====
**expr** est une commande qui prend pour arguments chaque terme de l'expression arithmétique. ... oit pas être interprété et passé tel quel à la
# commande expr
$ expr 3 \* 2
6
# Ici expr est invoquée sa... .
$ expr \( 10 + 6 \) / 2
8
</code>
expr est une commande externe, son choix est pertinent lorsque des cont
dédiés.
Lorsque vous n’êtes pas sûr du nom de la commande à utiliser pour accomplir une action, le système ... également des outils pour vous aider à trouver la commande adéquate.
===== Accéder à l'aide depuis la commande =====
La plupart des commandes disposent d’une aide i... que l’utilisateur saisit de mauvais arguments, la commande affiche l'aide.
Les options **-h** ou **%%--help
sibilité est de remplacer le shell courant via la commande
<code bash>
exec "$0" "$@"
</code>
</note>
<not... nnée des répertoires à parcourir pour trouver une commande. Si plusieurs versions d'une même commande existe, c'est celle trouvée dans le premier répertoire de la lis... echo $TEST
test_value
</code>
Ponctuellement, la commande **env** permet de modifier l'environnement dispon
s filtres sont souvent utilisés en branchement de commande via du caractère '|'.
===== Découpage d'un fichi... ire seulement le début d'un fichier on utilise la commande **head**:
<code bash>
# extraire les 15 premières... ire les dernière lignes d'un fichier, utiliser la commande **tail**:
<code bash>
# extraire les 20 dernières lignes
$ tail -n 20 /path/to/file
</code>
La commande **split** permet de découper un fichier en plusie
n mode script. Dans
ce mode la suite de lignes de commande est écrite dans un fichier texte qu’on appelle un... . Le nom de ce fichier devient alors une nouvelle commande dont le traitement va consister à déclencher successivement chacune des lignes de commande écrites dans le fichier texte.
La première ligne... ts d'un script =====
Comme pour n'importe quelle commande des arguments peuvent être passés au script via l
de tests.
En shell Bash on peut donc voir toute commande comme une expression conditionnelle dont le code ... l vaut 0 et à faux dans les autres cas.
===== La commande test =====
Deux syntaxes valides pour la commande test:
<code bash>
# Utilisation du mnémonique
test "$a"... ue =====
Les opérateurs sont des arguments de la commande test
^ ^ Signification ^ Exemple d'utili
l
nom_fonction
</code>
La syntaxe d'appel d'une commande est identique à celle d'une commande classique. Cela se vérifie aussi pour le cas où on doit passer des arguments à la fonction. Sur la commande d’appel, ces arguments doivent être placés les un... ==
Un alias permet de raccourcir la saisie d'une commande usuelle avec ses arguments. Utilisée sans argumen
programmation.
<code bash>
while condition
do
commande1
commande2
...
done
</code>
==== Exemple d'utilisation de boucles while ====
<code bash>
#!/bin/bash
... ne à ligne. Cette lecture se fait en utilisant la commande **read**.
<code bash>
#!/bin/bash
a=0
# read pe... redirection se place après le marqueur de fin de commande de la boucle while à savoir après le **done**. Le
ote PC-1 puis option Console)
Depuis la ligne de commande de l'hôte PC-1, on se connecte en ssh sur le routeur R1, on lance une commande pour générer un peu de trafic puis on se déconnec... ASCII.
===== Routage =====
Depuis la ligne de commande d'un routeur VyOS, pour afficher la table de routage:
<code bash>
show ipv6 route
</code>
La commande traceroute6 permet lister les nœuds intermédiaire
adresses multicast peuvent être affichées via la commande:
<code bash>
$ ip -6 maddr show
</code>
Adresse ... mode client/serveur. Pour cela, on va utiliser la commande nc (netcat). On crée un serveur à l'écoute sur le... veur à l'écoute sur PC-2 sur le port 4500 avec la commande:
<code bash>
$ nc -v -6 -n -u fd75:e4d9:cb77:2::... tl=64 time=3.91 ms
</code>
===== Web en ligne de commande =====
Pour fonctionner en IPv6 une application d
mmandes consiste à conditionner l’exécution d’une commande au résultat d’une autre. Selon le code retour d’u... r différent de 0) |
===== Structure if =====
La commande if permet une écriture à la fois plus lisible et ... rrête en retournant le code retour de la dernière commande.
<note>
Les motifs sont décrits avec la même syn... rrespond à la valeur de l’expression alors aucune commande n’est exécutée et le code retour de l’instruction