diff --git a/gnu-linux-initiation/gnu-linux.md b/gnu-linux-initiation/gnu-linux.md index 3f2f69f..5766356 100644 --- a/gnu-linux-initiation/gnu-linux.md +++ b/gnu-linux-initiation/gnu-linux.md @@ -1,11 +1,14 @@ # GNU/Linux avec Debian -## Présenté +### Présenté + + par Julien Palard + https://mdk.fr ::: notes @@ -29,7 +32,7 @@ Introduce yourself! ## KDE - + ## KDE @@ -46,7 +49,19 @@ Introduce yourself! # Le shell -![](static/shell.png) +```shell +mdk@seraph$ date +Thu May 25 03:37:25 PM CEST 2023 + +mdk@seraph$ cal + May 2023 +Su Mo Tu We Th Fr Sa + 1 2 3 4 5 6 + 7 8 9 10 11 12 13 +14 15 16 17 18 19 20 +21 22 23 24 25 26 27 +28 29 30 31 +``` ## Les commandes @@ -59,7 +74,7 @@ Ces programmes peuvent prendre des « arguments » ou des « paramètres ». Dans : -```bash +```shell $ date ``` @@ -76,7 +91,7 @@ avec backspace. Dans : -```bash +```shell $ man intro ``` @@ -91,15 +106,15 @@ Mais pourquoi !? ## Le shell -- C'est plus rapide. -- Ça permet de faire collaborer plusieurs programmes. -- C'est à la portée de tout développeur d'ajouter un programme en quelques minutes. +- Ça permet de faire collaborer des programmes. +- Il est facile d'ajouter des programmes. +- Tout au clavier, c'est plus rapide. ## C'est plus rapide - Dû à la simplicité de l'interface. -- L'auto-complétion des commandes et parfois de leurs arguments. +- L'auto-complétion des commandes. - Les raccourcis claviers. - La quantité de programmes disponnibles (~4500 chez moi, là). @@ -184,18 +199,20 @@ Digrésser sur Markdown et reStructuredText, mentionner groff. Voici les programmes que j'utilise le plus : - $ history | awk '{print $2}' | sort | uniq -c | sort -gr - 3408 git - 902 cd - 765 python - 539 ls - 385 emacs - 330 curl - 327 ssh - 291 make - 209 mv - 188 rm - ... +```shell +$ history | awk '{print $2}' | sort | uniq -c | sort -gr +3408 git +902 cd +765 python +539 ls +385 emacs +330 curl +327 ssh +291 make +209 mv +188 rm +... +``` ## Démo @@ -210,7 +227,7 @@ C'est un fichier de produits alimentaires. Téléchargeons et décompressons le fichier : -```bash +```shell $ curl -O https://fr.openfoodfacts.org/data/fr.openfoodfacts.org.products.csv.gz $ gunzip fr.openfoodfacts.org.products.csv.gz $ mv fr.openfoodfacts.org.products.csv products.csv @@ -223,7 +240,19 @@ Attention, compressé il fait ~700M, décompressé ~8GB. Peser le fichier : -```bash +```shell +$ du -h products.csv +8103812 products.csv +``` + +Ahh oui, 8 millions d'octets… + + +## Démo + +Plus **h**umain : + +```shell $ du -h products.csv 7.8G products.csv ``` @@ -233,7 +262,7 @@ $ du -h products.csv Compter les lignes : -```bash +```shell $ wc -l products.csv 2864834 products.csv ``` @@ -241,12 +270,11 @@ $ wc -l products.csv ## Démo -Obtenir des informations sur le contenu du fichier : +Que contient-il ? -```bash +```shell $ file products.csv -products.csv: UTF-8 Unicode text, -with very long lines +products.csv: UTF-8 Unicode text, with very long lines ``` @@ -254,7 +282,7 @@ with very long lines Lire le fichier : -```bash +```shell $ less products.csv ``` @@ -265,7 +293,7 @@ Attention le fichier est gigantesque ! Obtenir les 10 premières lignes du fichier : -```bash +```shell $ head products.csv code url creator created_t created_datetime ... ... 00000000000000225 http://world-fr.openfoodfacts.org/produit/00000000000000225/jeunes-pousses-endives... @@ -277,7 +305,7 @@ code url creator created_t created_datetime ... ... ## Les noms des colonnes -```bash +```shell $ head -n 1 products.csv | tr '\t' '\n' code url @@ -288,20 +316,18 @@ created_datetime ## Le nombre de colonnes -```bash -$ head -n 1 products.csv | -> tr '\t' '\n' | wc -l +```shell +$ head -n 1 products.csv | tr '\t' '\n' | wc -l 201 ``` -Parmis les colonnes je repère `additives`... +Parmis les colonnes je repère `additives`… ## Les numéros des colonnes -```bash -$ head -n 1 products.csv | -> tr '\t' '\n'| grep -n additives +```shell +$ head -n 1 products.csv | tr '\t' '\n' | grep -n additives 51:additives_n 52:additives 53:additives_tags @@ -310,17 +336,17 @@ $ head -n 1 products.csv | ## Les additifs -```bash -cut -f 51-54 products.csv | less +```shell +$ cut -f 51-54 products.csv | less ``` Je repère « E412 », je me demande si beaucoup de produits l'utilisent… + ## Les additifs -```bash -$ cut -f 51-54 products.csv | -> grep -c E412 +```shell +$ cut -f 51-54 products.csv | grep -c E412 44554 ``` @@ -329,7 +355,7 @@ Je me demande quel est l'additif le plus utilisé… ## Les additifs -```bash +```shell $ cut -f 51-54 products.csv | > grep -oE 'E[0-9]{3}' | sort | uniq -c | sort -gr | head 196667 E322 @@ -345,6 +371,38 @@ $ cut -f 51-54 products.csv | ``` +# Le système de fichiers + +> Tout est fichier. + +```shell +$ ls / +bin home lib32 media root sys vmlinuz +boot initrd.img lib64 mnt run tmp +dev initrd.img.old libx32 opt sbin usr +etc lib lost+found proc srv var +``` + +ou + +```shell +$ man hier +``` + + +## Même l'alimentation électrique + +```shell +$ cat /sys/class/power_supply/AC/online +1 +``` + +## Les droits + + + +## Les points de montage + # ssh SSH: Parler de clefs, conseiller ED25519 @@ -485,9 +543,6 @@ Quelques démos s'imposeront avec `iconv` et peut être Python. # TODO -- Le système de fichiers - - Les droits - - Les montages - Petit historique - Les window-managers - Sweet sweet thinks like youtube-dl