notes/docs/learn/devops/2025-11-28.md
2026-02-13 09:18:37 +01:00

113 lines
3.0 KiB
Markdown

---
tags:
- Bash
- UNIX
---
<img src="https://media1.tenor.com/m/Aus6dg9v1FMAAAAC/bassem-regard.gif" alt="bassem sous degradé gros crane perdu">
*mon big ass qui fait sudo rm -rf / sans réfléchir*
# Commandes *sh pour les idiots (28/11/25)
## Cheatsheet de plein de commandes
> Depuis le début, beaucoup de commandes on été utilisées, du coup je note ici les commandes utilisées depuis le début et a quoi elles servent en gros
### Commandes de base
1. **sudo** : lance une commande avec les superdroits, peut manipuler tout le pc avec en gros
```bash
sudo [commande]
```
2. **ls** : liste les fichiers d'un dossier
```bash
# -a pour afficher les fichiers cachés / -l pour afficher en liste avec plus d'infos
ls [options] [fichier|dir]
```
3. **cd** : changer de dossier
```bash
# ~ pour aller au répertoire home / .. pour revenir en arriere
cd [dir]
```
4. **pwd** : affiche le répertoire actuel
```bash
pwd
```
5. **touch** : affiche le contenu d'un fichier
```bash
touch [fichier]
```
6. **nano** : éditeur de texte
```bash
nano [fichier]
```
7. **mkdir** : supprime ce qu'on lui donne
```bash
mkdir [options] [fichier|dir]
```
8. **rm** : supprime ce qu'on lui donne
```bash
# -r pour supprimer un dossier et son contenu (recursive) (`rmdir` le fait aussi)
# -f force la commande
rm [options] [fichier|dir]
```
9. **cp** : copie...
```bash
cp [options] [source] [destination]
```
10. **mv** : ...et déplace
```bash
mv [options] [source] [destination]
```
### Les caractères d'associations
`|` (le pipe) -> prend le résultat de la commande de gauche et le donne à celle de droite
*exemple : liste tout un répertoire, mais n'affiche que les résultats qui sont "feur"*
```bash
ls -la | grep "feur"
```
`>` et `>>`
- envoie le résultat d'une commande dans un fichier texte
- `>` écrase le fichier / `>>` ajoute à la fin sans effacer
- ex: `echo "coucou" > fichier.txt`
### Permissions et Utilisateurs
`chmod [droits] [fichier]`
- change les permissions d'un fichier (qui peut lire/écrire/exécuter)
- `chmod +x [fichier]` rend un script exécutable (très important)
- `chmod 777 [fichier]` donne tous les droits à tout le monde (dangereux mais ça dépanne)
`chown [user]:[groupe] [fichier]`
- change le propriétaire du fichier (si t'as copié un truc en sudo et que tu peux plus le toucher)
### Lecture et recherche dans les fichiers
`cat [fichier]`
- affiche tout le contenu d'un fichier d'un coup dans le terminal
- utile pour les petits fichiers, sinon ça inonde l'écran
`less [fichier]`
- affiche le contenu page par page (on peut scroller)
- appuyer sur `q` pour quitter
`head [fichier]` / `tail [fichier]`
- affiche juste le début (`head`) ou la fin (`tail`) d'un fichier
- `tail -f [fichier]` hyper utile pour voir les logs en direct (ça attend les nouvelles lignes)
`grep [mot] [fichier]`
- cherche un mot ou une phrase spécifique dans un fichier (le ctrl+f du terminal)
- -r pour chercher dans tous les dossiers (recursive) / -i pour ignorer les majuscules