Remplacement de la page FAQ qu'on n'a jamais remplie par une ébauche de page de trucs et astuces linux

This commit is contained in:
Lab 8916100448256 2020-10-14 14:52:47 +00:00
parent 4d50a3af92
commit 8ad0597f48
2 changed files with 134 additions and 2 deletions

View file

@ -103,6 +103,6 @@ pygmentCodeFences = true
weight = 5
[[menu.main]]
name = "FAQ"
url = "/faq/"
name = "Trucs et Astuces"
url = "/trucs-et-astuces/"
weight = 6

132
content/trucs-et-astuces.md Normal file
View file

@ -0,0 +1,132 @@
---
title: Trucs Et Astuces
subtitle: Compilation de commandes bien utiles sous linux
comments: false
weight: 30
---
## Partager une console avec tmux
Créer une nouvelle session
```
tmux new-session -s shared # pour lancer une session
tmux new -s shared # pour lancer une session
```
(`shared` c'est le nom de la session partagée, qu'on peut remplacer par ce qu'on veut.)
Rejoindre une session existante
```
tmux attach-session -t shared #
tmux a -t shared # pour rejoindre la session
```
Pour scroller dans tmux : `Ctrl-b` puis `[`
Ensuite utiliser les touches habituelles pour scroller (flèches haut/bas, PgUp/PgDn). Et tapper `q` pour quitter le mode scrolling.
Créer une autre fenêtre dans une session tmux : `Ctrl-b` puis `c`
Passer d'une fenêtre à l'autre : `Ctrl-b` puis `n` (next) ou `Ctrl-b` puis `p` (previous) ou `Ctrl-b` puis `w` (windows list)
Par défaut les fenêtres prennent le nom du programme en cours d'execution. Mais on peut leur fixer un nom de son choix avec `Ctrl-b` puis `,`
Plus d'info sur tmux : https://www.howtogeek.com/671422/how-to-use-tmux-on-linux-and-why-its-better-than-screen/
## Générer un mot de passe aléatoire
mdp de 16 caratères :
```
$ openssl rand -base64 12
hSvo9XgXaMIGX6/0
```
mdp de N caractères, 1<=N<=24 :
```
$ openssl rand -base64 18 | cut -c -24
4nh6ppEY33szuU++n3wJgAat
```
(remplacer le 24 à la fin pour un mdp plus court)
## PostgreSQL
### psql, le client sql en ligne de commande
Lancer le client en ligne de commande
`sudo -u postgres psql`
`psql -U user -d database -W`
`psql -h host -U user -d database -W`
`psql -h host -U user "dbname=db sslmode=require"`
Puis dans le client psql :
- Se connecter à une autre base de donnée
`\c db_name`
`\c db_name user_name`
- Lister les tables de la db courante
`\dt`
- Lister les colonnes d'une table
`\d table_name`
ou `\d "Table_Name"` si le nom de la table contient des majuscules
- Rediriger la sortie des requêtes vers un fichier texte
`\o /tmp/file-name.txt`
Puis pour restorer la sortie par défaut à l'écran
`\o`
### Autres utilitaires postgresql
Créer un user
`sudo -u postgres createuser -P peertube`
Créer une db
`sudo -u postgres createdb -O owner_user_name -E UTF8 -T template0 db_name`
(le user `owner_user_name` doit avoir été crée au préalable)
Faire un dump d'une db
`sudo -u postgres pg_dump -Fc db_name > /tmp/db_name-dump.db`
Restorer une db a l'identique a partir d'un dump
`sudo -u postgres pg_restore -c -C -d postgres /tmp/peertube_prod-dump.db`
(la db de destination sera suprimée et re-crée avec le nom qu'elle avait au moment du dump)
Restorer un dump dans une db différente de celle d'origine
`sudo -u postgres pg_restore -d other_db_name /tmp/peertube_prod-dump.db`
(la db de destination `other_db_name` doit avoir été crée au préalable)
## vi
https://www.cs.colostate.edu/helpdocs/vi.html
Commandes vi les plus utiles :
| Commande | Description |
|----------|-------------|
| i | Passer en mode insertion ([Esc] pour en sortir)|
| u | Undo / Redo|
| x | Supprimer un caractère|
| Nx | Supprimer N caractères|
| D | Supprimer la fin de la ligne a partir de la position du curseur|
| dd | Supprimer complètement la ligne courante|
| Ndd ou dNd | Supprimer N lignes|
| yy | Copier (yank) la ligne courante dans le buffer|
| Nyy ou yNy |Copier N lignes dans le buffer|
| p | Coller (paste) le contenu du buffer dansle texte après la ligne courante |
## Rechercher des fichiers
Chercher des fichiers par une partie de leur nom
`find /répertoire/ou/chercher -name '*.jpg'`
La même chose sans distinction de la casse
`find /répertoire/ou/chercher -iname '*.jpg'`
Chercher des fichiers par leur contenu
`find /répertoire/ou/chercher -name '*.txt' -exec grep -li "texte à chercher" {} \;`
L'option -l de grep permet d'afficher les noms des fichiers trouvé plutot que les lignes contenant le texte cherché
L'option -i de grep permet d'ignorer la casse. L'enlever si non nécessaire donne de meilleures performances
La même chose mais dans tous les fichiers, quelque soit leur nom, mais en excluant les répertoires pour éviter que grep ne génère des erreurs
`find /répertoire/ou/chercher -type f -exec grep -li "texte à chercher" {} \;`
(en fait ca exclue plus que les répertoires, les liens symboliques aussi :-( )