redirection_unix.md
· 912 B · Markdown
原始文件
# Écrire dans un fichier (écrase le contenu existant)
commande > fichier.txt
# Ajouter à la suite d'un fichier (sans écraser)
commande >> fichier.txt
# Rediriger uniquement les erreurs vers un fichier
commande 2> erreurs.log
# Cumuler les erreurs (sans écraser)
commande 2>> erreurs.log
# Fusionner stderr dans stdout (ordre important !)
commande > output.log 2>&1
# Raccourci bash/zsh pour fusionner stdout + stderr
commande &> output.log
# Supprimer les erreurs (trou noir)
commande 2>/dev/null
# Supprimer stdout ET stderr
commande &>/dev/null
# Piege a éviter :
## ✅ Correct — stderr suit stdout dans le fichier
commande > output.log 2>&1
## ❌ Incorrect — stderr reste dans le terminal !
commande 2>&1 > output.log
# Bonus
## Empêcher > d'écraser un fichier existant
set -o noclobber # à mettre dans ~/.bashrc
## Forcer l'écrasement malgré noclobber
commande >| fichier.txt
Écrire dans un fichier (écrase le contenu existant)
commande > fichier.txt
Ajouter à la suite d'un fichier (sans écraser)
commande >> fichier.txt
Rediriger uniquement les erreurs vers un fichier
commande 2> erreurs.log
Cumuler les erreurs (sans écraser)
commande 2>> erreurs.log
Fusionner stderr dans stdout (ordre important !)
commande > output.log 2>&1
Raccourci bash/zsh pour fusionner stdout + stderr
commande &> output.log
Supprimer les erreurs (trou noir)
commande 2>/dev/null
Supprimer stdout ET stderr
commande &>/dev/null
Piege a éviter :
✅ Correct — stderr suit stdout dans le fichier
commande > output.log 2>&1
❌ Incorrect — stderr reste dans le terminal !
commande 2>&1 > output.log
Bonus
Empêcher > d'écraser un fichier existant
set -o noclobber # à mettre dans ~/.bashrc
Forcer l'écrasement malgré noclobber
commande >| fichier.txt