GNU/Linux: WIP.

This commit is contained in:
Julien Palard 2023-05-26 16:12:59 +02:00
parent 7497d56e53
commit 313092b0d9
Signed by: mdk
GPG Key ID: 0EFC1AC1006886F8
1 changed files with 102 additions and 47 deletions

View File

@ -1,11 +1,14 @@
# GNU/Linux avec Debian
## Présenté
### Présenté
<!-- .slide: data-background="static/background.jpg" -->
par
Julien Palard <julien@palard.fr>
https://mdk.fr
::: notes
@ -29,7 +32,7 @@ Introduce yourself!
## KDE
<img src="https://upload.wikimedia.org/wikipedia/commons/d/d9/KDE_1.0.png" style="width: 80%"/>
<img src="https://upload.wikimedia.org/wikipedia/commons/d/d9/KDE_1.0.png" style="width: 70%"/>
## 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