GNU/Linux: WIP.
This commit is contained in:
parent
7497d56e53
commit
313092b0d9
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue