Cheatsheets — vue longue
retour à la listeToutes les pages concaténées sur un seul document, pour un Ctrl-F direct.
Bash & shell
page dédiée →Les commandes qu'on tape sans réfléchir, et celles qu'on cherche à chaque fois.
Fichiers et dossiers
mkdir -p projet/src/utils # -p : crée les parents, ne râle pas si ça existe
touch projet/src/main.py
ls -la projet
total 0
drwxr-xr-x 3 edouard staff 96 Aug 7 14:02 .
drwxr-xr-x 8 edouard staff 256 Aug 7 14:02 ..
drwxr-xr-x 4 edouard staff 128 Aug 7 14:02 src
cp -r src/ backup/ # -r : récursif, indispensable pour un dossier
mv ancien.py nouveau.py
rm -rf build/ # -f : pas de confirmation. Vérifier le chemin AVANT
ls utile : -l long, -a cachés, -h tailles lisibles, -t tri par date, -S par taille.
Trouver
find . -name "*.py" -not -path "*/node_modules/*"
find . -type f -size +100M # les gros fichiers
find . -name "*.log" -mtime +7 -delete # modifiés il y a plus de 7 jours
rg "requests.post" --type py # ripgrep : rapide, respecte .gitignore
rg -i "todo" -A 2 # -i insensible à la casse, -A 2 lignes après
rg -l "FastAPI" # -l : juste les noms de fichiers
rg -c "import" # -c : compte par fichier
rg bat grep sur tous les tableaux. Si grep est imposé : grep -rn "motif" .
Inspecter un fichier
head -20 gros.csv # 20 premières lignes
tail -f app.log # -f : suit le fichier en direct
wc -l data.csv # compte les lignes
du -sh * # taille de chaque entrée du dossier
df -h # espace disque restant
du -sh * | sort -rh | head -5
1.2G node_modules
340M .venv
12M data
2.1M src
48K README.md
Pipes et redirections
commande > fichier # écrase
commande >> fichier # ajoute
commande 2> erreurs.log # stderr seulement
commande &> tout.log # stdout + stderr
commande 2>/dev/null # jette les erreurs
commande | tee log.txt # affiche ET écrit
curl -s ... | bash télécharge un script et l'exécute directement. Pratique pour les
installeurs officiels, dangereux pour tout le reste : lire d'abord avec
curl -s <url> | less.
Processus et ports
lsof -i :3000 # qui occupe le port 3000
kill <PID> # demande poliment
kill -9 <PID> # force, en dernier recours
kill -9 $(lsof -t -i :3000)
ps aux | rg python
lsof -i :3000
COMMAND PID USER FD TYPE DEVICE NODE NAME
node 88008 edouard 24u IPv6 0x9f2a TCP *:hbci (LISTEN)
Variables d'environnement
export API_KEY="sk-..." # pour cette session
echo $API_KEY
env | rg API # lister
unset API_KEY
set -a; source .env; set +a # charger un .env dans le shell
$VAR non défini vaut chaîne vide sans erreur. ${VAR:?message} échoue explicitement,
${VAR:-defaut} fournit une valeur de repli.
Enchaîner
a && b # b seulement si a réussit (exit code 0)
a || b # b seulement si a échoue
a ; b # b dans tous les cas
a & # a en tâche de fond
echo $? # code de sortie de la dernière commande
Boucles et substitution
for f in *.md; do echo "-- $f"; wc -l "$f"; done
for i in {1..5}; do curl -s "https://api.example.com/p/$i" > "p$i.json"; done
NOW=$(date +%Y-%m-%d) # substitution de commande
echo "backup-$NOW.tar.gz"
Toujours guillemeter "$f" : sans guillemets, un nom de fichier avec un espace se découpe
en deux arguments.
Archives et transferts
tar -czf archive.tar.gz dossier/ # c créer, z gzip, f fichier
tar -xzf archive.tar.gz # x extraire
zip -r archive.zip dossier/
scp fichier user@host:/chemin/
rsync -avz --progress src/ user@host:/dest/
Raccourcis qui font gagner du temps
| Touches | Effet |
|---|---|
Ctrl-R |
recherche dans l'historique |
Ctrl-A / Ctrl-E |
début / fin de ligne |
Ctrl-W |
supprime le mot précédent |
Ctrl-U |
supprime jusqu'au début |
Ctrl-C |
interrompt |
Ctrl-D |
fin d'entrée / quitte le shell |
!! |
dernière commande (sudo !!) |
cd - |
dossier précédent |
See also
Raccourcis Mac
page dédiée →Le terminal et l'éditeur de code partagent des raccourcis proches, mais pas identiques. Le meilleur trio à mémoriser : Option pour les mots, Cmd pour les lignes/fichier, et Shift pour sélectionner pendant le déplacement.
Terminal (zsh / bash)
| Action | Raccourci |
|---|---|
| Début de la ligne | Ctrl + A |
| Fin de la ligne | Ctrl + E |
| Reculer / avancer d'un mot | Option + ← / Option + → |
| Supprimer le mot précédent | Option + Retour arrière |
| Supprimer jusqu'au début de ligne | Ctrl + U |
| Supprimer jusqu'à la fin de ligne | Ctrl + K |
| Effacer tout l'écran | Ctrl + L |
| Historique des commandes | ↑ / ↓ |
| Rechercher une commande passée | Ctrl + R, puis tape ta recherche |
| Annuler l'édition courante | Ctrl + C |
Le terminal ne permet généralement pas de sélectionner/manipuler des lignes comme un éditeur : on sélectionne à la souris, puis Cmd + C.
Éditeur de code
Déplacement et sélection
| Action | Raccourci |
|---|---|
| Déplacer le curseur d'un caractère | ← / → |
| Déplacer le curseur d'un mot | Option + ← / Option + → |
| Début / fin de ligne | Cmd + ← / Cmd + → |
| Début / fin du fichier | Cmd + ↑ / Cmd + ↓ |
| Ligne suivante / précédente | ↑ / ↓ |
| Sélectionner caractère par caractère | Shift + flèches |
| Sélectionner mot par mot | Option + Shift + ← / → |
| Sélectionner jusqu'au début / à la fin de ligne | Cmd + Shift + ← / → |
| Sélectionner jusqu'au début / à la fin du fichier | Cmd + Shift + ↑ / ↓ |
| Sélectionner tout | Cmd + A |
| Sélectionner un mot | Double-clic |
| Sélectionner une ligne | Triple-clic |
Édition de base
| Action | Raccourci |
|---|---|
| Copier / couper / coller | Cmd + C / X / V |
| Annuler / refaire | Cmd + Z / Cmd + Shift + Z |
| Indenter / désindenter les lignes sélectionnées | Tab / Shift + Tab |
| Commenter les lignes sélectionnées | Cmd + / |
Manipulation de lignes (VS Code, Cursor)
| Action | Raccourci |
|---|---|
| Dupliquer la ligne / sélection | Option + Shift + ↓ ou ↑ |
| Déplacer la ligne / sélection | Option + ↓ ou ↑ |
| Supprimer une ligne | Cmd + Shift + K |
| Ajouter un curseur sur la ligne suivante | Option + Cmd + ↓ |
| Ajouter un curseur sur la ligne précédente | Option + Cmd + ↑ |
title: Raccourcis Mac category: cheatsheets created: 2025-01-XX updated: 2025-01-XX tags: [mac, shortcuts, terminal, zsh, vscode, cursor] confidence: high publish: true
Distinguer terminal et éditeur de code : les raccourcis de base sont proches, mais déplacer une ligne dépend de l'éditeur.
Terminal (zsh / bash)
| Action | Raccourci |
|---|---|
| Début de la ligne | Ctrl + A |
| Fin de la ligne | Ctrl + E |
| Reculer / avancer d'un mot | Option + ← / Option + → |
| Supprimer le mot précédent | Option + Retour arrière |
| Supprimer jusqu'au début de ligne | Ctrl + U |
| Supprimer jusqu'à la fin de ligne | Ctrl + K |
| Effacer tout l'écran | Ctrl + L |
| Historique des commandes | ↑ / ↓ |
| Rechercher une commande passée | Ctrl + R, puis tape ta recherche |
| Annuler l'édition courante | Ctrl + C |
Le terminal ne permet généralement pas de sélectionner/manipuler des lignes comme un éditeur : on sélectionne à la souris, puis Cmd + C.
Éditeur de code
| Action | Raccourci |
|---|---|
| Déplacer le curseur d'un caractère | ← / → |
| Déplacer le curseur d'un mot | Option + ← / Option + → |
| Début / fin de ligne | Cmd + ← / Cmd + → |
| Début / fin du fichier | Cmd + ↑ / Cmd + ↓ |
| Ligne suivante / précédente | ↑ / ↓ |
| Sélectionner caractère par caractère | Shift + flèches |
| Sélectionner mot par mot | Option + Shift + ← / → |
| Sélectionner jusqu'au début / à la fin de ligne | Cmd + Shift + ← / → |
| Sélectionner jusqu'au début / à la fin du fichier | Cmd + Shift + ↑ / ↓ |
| Sélectionner tout | Cmd + A |
| Sélectionner un mot | Double-clic |
| Sélectionner une ligne | Triple-clic |
| Copier / couper / coller | Cmd + C / X / V |
| Annuler / refaire | Cmd + Z / Cmd + Shift + Z |
| Indenter / désindenter les lignes sélectionnées | Tab / Shift + Tab |
| Commenter les lignes sélectionnées | Cmd + / |
Dans VS Code, Cursor et beaucoup d'éditeurs modernes :
| Action | Raccourci |
|---|---|
| Dupliquer la ligne / sélection | Option + Shift + ↓ ou ↑ |
| Déplacer la ligne / sélection | Option + ↓ ou ↑ |
| Supprimer une ligne | Cmd + Shift + K |
| Ajouter un curseur sur la ligne suivante | Option + Cmd + ↓ |
| Ajouter un curseur sur la ligne précédente | Option + Cmd + ↑ |
Le meilleur trio à mémoriser : Option pour les mots, Cmd pour les lignes/fichier, et Shift pour sélectionner pendant le déplacement.
Presse-papiers système
Copier la sortie d'une commande directement dans le presse-papiers :
pwd | pbcopy
Ensuite Cmd + V pour coller.
Lire le contenu du presse-papiers :
pbpaste
Copier le chemin absolu d'un fichier :
realpath mon_fichier.py | pbcopy
Pipe typique : copier le résultat d'un cat, d'un git log --oneline, etc.