Outils pour utilisateurs

Outils du site


atelier20211120-cli_is_fun-run

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
atelier20211120-cli_is_fun-run [2021/12/06 11:50] wapatelier20211120-cli_is_fun-run [2021/12/06 11:58] (Version actuelle) wap
Ligne 7: Ligne 7:
 ===== Préambule ===== ===== Préambule =====
  
-La ligne de commande, c'est magique. Il existe des tas de sortilèges. Si vous êtes perdu, vous pouvez toujours demander votre chemin à `man(le manuel).+La ligne de commande, c'est magique. Il existe des tas de sortilèges. Si vous êtes perdu, vous pouvez toujours demander votre chemin à man (le manuel).
  
 ===== Exemple 1 ===== ===== Exemple 1 =====
Ligne 25: Ligne 25:
 ==== Un petit mot concernant les arguments ==== ==== Un petit mot concernant les arguments ====
  
-Lorsqu'on appelle une commande avec des arguments, quelle est la différence entre `-het `--human-readable?+Lorsqu'on appelle une commande avec des arguments, quelle est la différence entre -h et --human-readable ?
  
-`-h`: c'est une option courte (1 lettre): permet d'ajouter d'autres options (-hla ...) +  * -h: c'est une option courte (1 lettre): permet d'ajouter d'autres options (-hla ...) 
-`--human-readable`: c'est une option longue: plus facile à lire / retenir+  * --human-readable: c'est une option longue: plus facile à lire / retenir
  
 ==== Un petit alias peut-être ? ==== ==== Un petit alias peut-être ? ====
  
 exa c'est bien, mais c'est long à taper: créons un alias. exa c'est bien, mais c'est long à taper: créons un alias.
-Dans votre fichier `~/.bashrcou `~/.zshrc`, ajoutez:+Dans votre fichier ~/.bashrc ou ~/.zshrc, ajoutez:
  
   alias ll="exa -l --icons --group-directories-first --sort=extension"   alias ll="exa -l --icons --group-directories-first --sort=extension"
Ligne 41: Ligne 41:
 Notations particulières couramment utilisées: Notations particulières couramment utilisées:
  
-* dossiers `.et `..: dossier courant et parent +  * dossiers . et .. : dossier courant et parent 
-`~: raccourci pour signifier "mon dossier personnel" (home) +  * ~ : raccourci pour signifier "mon dossier personnel" (home) 
-`/: caractère de séparation de dossiers dans un chemin +  * / : caractère de séparation de dossiers dans un chemin 
-* fichiers commençant par `.: fichiers cachés+  * fichiers commençant par . : fichiers cachés
  
 ===== Exemple 2 ===== ===== Exemple 2 =====
Ligne 54: Ligne 54:
 ==== Les redirections ==== ==== Les redirections ====
  
-Chaque programme peut rediriger la sortie écran (stdout) vers un fichier via l'opérateur `>`.+Chaque programme peut rediriger la sortie écran (stdout) vers un fichier via l'opérateur >
  
-`/dev/null: pseudo-fichier qui ignore tout ce qu'on lui envoie +  * /dev/null : pseudo-fichier qui ignore tout ce qu'on lui envoie 
-* les erreurs restent visibles à l'écran: seuls sont affichés les fichiers manquants+  * les erreurs restent visibles à l'écran: seuls sont affichés les fichiers manquants
  
 ===== Exemple 3 ===== ===== Exemple 3 =====
Ligne 72: Ligne 72:
 Outil de traitement et d'extraction de texte possédant son propre langage. Outil de traitement et d'extraction de texte possédant son propre langage.
  
-https://en.wikipedia.org/wiki/The_AWK_Programming_Language[The AWK Programming Language]+[[https://en.wikipedia.org/wiki/The_AWK_Programming_Language|The AWK Programming Language]]
  
-En gros, les mots sont séparés par un caractère blanc et sont numérotés de `$1à `$x`.+En gros, les mots sont séparés par un caractère blanc et sont numérotés de $1 à $x.
  
-La ligne `{print $7}signifie:+La ligne {print $7} signifie:
  
 affiche le septième champ (l'url). affiche le septième champ (l'url).
Ligne 84: Ligne 84:
 Concept clé du shell UNIX, le pipe permet de rediriger la sortie d'un programme vers l'entrée d'un autre. Concept clé du shell UNIX, le pipe permet de rediriger la sortie d'un programme vers l'entrée d'un autre.
  
-Il est représenté par le caractère `|`.+Il est représenté par le caractère |
  
 ===== Exemple 4: encore awk ===== ===== Exemple 4: encore awk =====
Ligne 92: Ligne 92:
   awk '$9 == "404" {print $7}' access.log | sort | uniq -c | sort -rn | head -n 30   awk '$9 == "404" {print $7}' access.log | sort | uniq -c | sort -rn | head -n 30
  
-La ligne `$9 == "404" {print $7}signifie:+La ligne $9 == "404" {print $7} signifie:
  
-Si le neuvième champ de chaque ligne est `404`, alors affiche le septième champ.+Si le neuvième champ de chaque ligne est 404, alors affiche le septième champ.
  
 ===== Exemple 5 ===== ===== Exemple 5 =====
Ligne 108: Ligne 108:
 Si aucun fichier n'est spécifié, recherche dans un dictionnaire. Si aucun fichier n'est spécifié, recherche dans un dictionnaire.
  
-`.signifie "n'importe quel terme"+. signifie "n'importe quel terme"
  
 ==== grep ==== ==== grep ====
Ligne 119: Ligne 119:
 ==== N'importe quel mot de 4 à 8 lettres ==== ==== N'importe quel mot de 4 à 8 lettres ====
  
-`^: rien avant +  * ^ : rien avant 
-`[a-z]: n'importe quelle lettre de a jusqu'à z +  * [a-z] : n'importe quelle lettre de a jusqu'à z 
-`{4,8}: répétée de 4 à 8 fois +  * {4,8} : répétée de 4 à 8 fois 
-`$: rien après+  * $ : rien après
  
 ==== xargs ==== ==== xargs ====
  
 Parfois, il n'est pas possible que la sortie d'une commande corresponde à l'entrée d'une autre. Parfois, il n'est pas possible que la sortie d'une commande corresponde à l'entrée d'une autre.
-xargs permet de se sortir de situations parfois difficiles où il n'est pas possible d'enchainer les commandes avec des `|`.+xargs permet de se sortir de situations parfois difficiles où il n'est pas possible d'enchainer les commandes avec des |
  
 Par défaut, xargs affiche ce qu'il reçoit sur 1 ligne. L'argument -n2 lui indique de grouper 2 éléments par ligne. Par défaut, xargs affiche ce qu'il reçoit sur 1 ligne. L'argument -n2 lui indique de grouper 2 éléments par ligne.
Ligne 139: Ligne 139:
   grep '^[^#]' /etc/pacman.conf   grep '^[^#]' /etc/pacman.conf
  
-`^: rien avant +  * ^ : rien avant 
-`[^x]: qui n'est pas le caractère `x`.+  * [^x] : qui n'est pas le caractère x.
  
 ===== Du fun, du fun, du fun ===== ===== Du fun, du fun, du fun =====
Ligne 148: Ligne 148:
 Les outils indispensables: Les outils indispensables:
  
-* Mettez de la couleur dans vos terminaux: `lolcat` +  * Mettez de la couleur dans vos terminaux: lolcat 
-* Inspectez votre machine: `neofetch` +  * Inspectez votre machine: neofetch 
-* Réalisez des bannières avec style: `figlet` +  * Réalisez des bannières avec style: figlet 
-* Invitez une vache dans le terminal: `cowsay` +  * Invitez une vache dans le terminal: cowsay 
-* Faites parler chuck norris: `fortune-mod-chucknorris`+  * Faites parler chuck norris: fortune-mod-chucknorris
  
 ==== La météo ==== ==== La météo ====
Ligne 169: Ligne 169:
   figlet -tc -f shadow "Merci de votre attention \!" | lolcat   figlet -tc -f shadow "Merci de votre attention \!" | lolcat
  
-La sortie de figlet peut être redirigée vers `/etc/motd(message of the day).+La sortie de figlet peut être redirigée vers /etc/motd (message of the day).
  
 ==== Ultra combo ! ==== ==== Ultra combo ! ====
Ligne 188: Ligne 188:
  
   yes $COLUMNS $LINES|awk 'BEGIN{x=y=e=f=1}{if(x==$1||!x)\   yes $COLUMNS $LINES|awk 'BEGIN{x=y=e=f=1}{if(x==$1||!x)\
- {e*=-1};if(y==$2||!y){f*=-1};x+=e;y+=f;+  {e*=-1};if(y==$2||!y){f*=-1};x+=e;y+=f;
- printf "\033[%s;%sH",y,x;system("sleep .02")}'+  printf "\033[%s;%sH",y,x;system("sleep .02")}'
  
 ===== Quelques références ===== ===== Quelques références =====
  
-* https://en.wikipedia.org/wiki/The_AWK_Programming_Language[The AWK Programming Language] +  [[https://en.wikipedia.org/wiki/The_AWK_Programming_Language|The AWK Programming Language]
-* https://www.rexegg.com/regex-quickstart.html[Regex Cheat Sheet] +  [[https://www.rexegg.com/regex-quickstart.html|Regex Cheat Sheet]
-* https://mywiki.wooledge.org/BashGuide[Bash Guide] +  [[https://mywiki.wooledge.org/BashGuide|Bash Guide]
-* https://blog.zenika.com/2019/02/14/shell-mon-amour/[Shell mon amour] +  [[https://blog.zenika.com/2019/02/14/shell-mon-amour|Shell mon amour]
-* https://adamdrake.com/command-line-tools-can-be-235x-faster-than-your-hadoop-cluster.html[Command-line Tools can be 235x Faster than your Hadoop Cluster]+  [[https://adamdrake.com/command-line-tools-can-be-235x-faster-than-your-hadoop-cluster.html|Command-line Tools can be 235x Faster than your Hadoop Cluster]]
  
 ===== Merci ===== ===== Merci =====
atelier20211120-cli_is_fun-run.1638791453.txt.gz · Dernière modification : 2021/12/06 11:50 de wap