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:
parent
4d50a3af92
commit
8ad0597f48
2 changed files with 134 additions and 2 deletions
|
@ -103,6 +103,6 @@ pygmentCodeFences = true
|
||||||
weight = 5
|
weight = 5
|
||||||
|
|
||||||
[[menu.main]]
|
[[menu.main]]
|
||||||
name = "FAQ"
|
name = "Trucs et Astuces"
|
||||||
url = "/faq/"
|
url = "/trucs-et-astuces/"
|
||||||
weight = 6
|
weight = 6
|
||||||
|
|
132
content/trucs-et-astuces.md
Normal file
132
content/trucs-et-astuces.md
Normal 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 :-( )
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue