Commandes Bash / Terminal
Commandes essentielles pour la navigation, les fichiers, la recherche, les permissions, les processus, le réseau et les archives
Navigation
| Commande | Options | Exemple | Sortie | Description |
|---|---|---|---|---|
ls
|
-la, -lh, -R |
ls -la /etc |
liste fichiers | Lister le contenu d'un répertoire ; -l format long, -a fichiers cachés, -h tailles lisibles |
cd
|
-, ~, .. |
cd ~/projects |
change rép. | Changer de répertoire ; cd - revient en arrière, cd ~ va au dossier personnel |
pwd
|
|
pwd |
/home/user | Afficher le répertoire courant (chemin complet) |
tree
|
-L n, -a |
tree -L 2 |
arborescence | Afficher l'arborescence des répertoires ; -L limite la profondeur (installation requise) |
find
|
-name -type -mtime |
find . -name '*.log' |
chemins fichiers | Rechercher des fichiers ou répertoires selon des critères |
locate
|
-i |
locate nginx.conf |
chemins fichiers | Recherche rapide via une base de données indexée ; exécuter updatedb au préalable |
Opérations sur Fichiers
| Commande | Options | Exemple | Sortie | Description |
|---|---|---|---|---|
cp
|
-r, -i, -u |
cp -r src/ dst/ |
copie fichier | Copier des fichiers ; -r pour les répertoires, -i demande confirmation avant écrasement |
mv
|
-i, -n |
mv old.txt new.txt |
déplace/renomme | Déplacer ou renommer des fichiers ; -i demande confirmation avant écrasement |
rm
|
-r, -f, -i |
rm -rf dist/ |
supprimé | Supprimer fichiers ou répertoires ; -r récursif, -f forcer — à utiliser avec précaution |
mkdir
|
-p |
mkdir -p a/b/c |
nouveau rép. | Créer un répertoire ; -p crée les répertoires parents si nécessaire |
touch
|
|
touch index.html |
fichier vide | Créer un fichier vide ou mettre à jour l'horodatage d'un fichier |
ln
|
-s |
ln -s /etc/nginx nginx |
lien symbolique | Créer un lien physique ; -s pour un symlink |
Afficher les Fichiers
| Commande | Options | Exemple | Sortie | Description |
|---|---|---|---|---|
cat
|
-n, -A |
cat -n file.txt |
contenu fichier | Afficher un fichier ; -n numérote les lignes, -A montre les caractères non imprimables |
head
|
-n N |
head -n 20 log.txt |
N premières lignes | Afficher les premières lignes d'un fichier (10 par défaut) |
tail
|
-n N, -f |
tail -f app.log |
N dernières lignes | Afficher les dernières lignes ; -f suit le contenu en temps réel |
less
|
/search, q |
less large.log |
vue paginée | Parcourir un fichier page par page ; / pour chercher, q pour quitter, espace pour avancer |
wc
|
-l, -w, -c |
wc -l file.txt |
compteur | Compter le contenu ; -l lignes, -w mots, -c octets/caractères |
Recherche & Traitement Texte
| Commande | Options | Exemple | Sortie | Description |
|---|---|---|---|---|
grep
|
-r -i -n -v -E |
grep -rn 'error' logs/ |
lignes trouvées | Rechercher des motifs textuels ; -r récursif, -i insensible à la casse, -n numéros de ligne |
grep -v
|
|
grep -v 'debug' app.log |
non-correspondants | Inverser la recherche — afficher les lignes NE contenant PAS le motif |
grep -E
|
|
grep -E 'warn|error' log |
lignes trouvées | Regex étendu — utiliser | pour OU, + pour un ou plusieurs |
awk
|
'{print $N}' |
awk '{print $1}' f |
valeur colonne | Traitement de texte par motif-action ; $1 premier champ, $NF dernier champ |
sed
|
-i 's/a/b/g' |
sed -i 's/foo/bar/g' f |
texte modifié | Éditeur en flux ; s/chercher/remplacer/g effectue un remplacement global |
sort
|
-n -r -k N |
sort -n numbers.txt |
sortie triée | Trier les lignes ; -n numérique, -r inverse, -k trier par colonne N |
uniq
|
-c, -d |
sort f | uniq -c |
lignes uniques | Supprimer les lignes adjacentes en double ; généralement utilisé après sort |
Permissions
| Commande | Options | Exemple | Sortie | Description |
|---|---|---|---|---|
chmod
|
755, 644, +x |
chmod +x script.sh |
droits modifiés | Modifier les permissions d'un fichier ; 755=rwxr-xr-x, 644=rw-r--r-- |
chown
|
-R user:group |
chown -R www-data:www-data /var/www |
propriétaire modifié | Changer le propriétaire et le groupe d'un fichier ; -R récursif |
ls -la
|
|
ls -la /var/www |
liste des droits | Afficher les permissions, propriétaire, groupe et taille pour tous les fichiers |
umask
|
022, 027 |
umask 022 |
droits par défaut | Définir le masque de permissions par défaut pour les nouveaux fichiers (022 → 644 pour les fichiers) |
sudo
|
-u user |
sudo systemctl restart nginx |
cmd élevée | Exécuter une commande en superutilisateur ; -u pour un autre utilisateur |
Gestion des Processus
| Commande | Options | Exemple | Sortie | Description |
|---|---|---|---|---|
ps
|
aux, -ef |
ps aux | grep nginx |
liste processus | Lister les processus ; aux=tous les utilisateurs, -ef=format complet |
top
|
q, k, M |
top |
vue en direct | Moniteur de processus interactif ; q quitter, k tuer, M trier par mémoire |
htop
|
F3, F9 |
htop |
vue en direct | Version améliorée de top avec couleurs ; F3 recherche, F9 tuer (installation requise) |
kill
|
-9, -15 |
kill -9 1234 |
signal envoyé | Envoyer un signal à un PID ; -15 SIGTERM (arrêt gracieux), -9 SIGKILL (force) |
killall
|
-9, -u |
killall node |
signal envoyé | Tuer tous les processus portant un nom donné |
jobs
|
-l |
jobs -l |
liste tâches | Lister les tâches en arrière-plan ou suspendues dans le shell courant |
bg / fg
|
%N |
fg %1 |
repris | bg envoie une tâche en arrière-plan, fg la ramène au premier plan |
Réseau
| Commande | Options | Exemple | Sortie | Description |
|---|---|---|---|---|
curl
|
-o -L -X -H -d |
curl -O https://example.com/f |
réponse | Transférer des données via HTTP/FTP ; -L suivre les redirections, -o sauvegarder dans un fichier |
wget
|
-O -r -q |
wget -q https://example.com |
fichier sauvegardé | Télécharger des fichiers ; -O renommer la sortie, -r récursif, -q silencieux |
ping
|
-c N |
ping -c 4 google.com |
RTT ms | Tester la connectivité réseau ; -c limite le nombre de paquets |
ssh
|
-i -p -L |
ssh user@host -p 2222 |
shell | Shell sécurisé ; -i fichier de clé, -p port, -L redirection de port local |
scp
|
-r -P -i |
scp file user@host:~/ |
copié | Copie sécurisée via SSH ; -r récursif, -P port (majuscule) |
netstat
|
-tuln |
netstat -tuln |
liste ports | Afficher les connexions réseau ; -t TCP, -u UDP, -l en écoute, -n numérique |
ss
|
-tuln |
ss -tuln |
liste ports | Remplaçant moderne de netstat ; plus rapide et plus détaillé |
Archives & Compression
| Commande | Options | Exemple | Sortie | Description |
|---|---|---|---|---|
tar -czf
|
-czf out.tar.gz |
tar -czf arc.tar.gz dir/ |
archive | Créer un tarball compressé en gzip ; c=créer, z=gzip, f=nom du fichier |
tar -xzf
|
-xzf file.tar.gz |
tar -xzf arc.tar.gz -C /tmp |
extrait | Extraire un tarball gzip ; x=extraire, -C répertoire de destination |
tar -tf
|
|
tar -tf archive.tar.gz |
liste fichiers | Lister le contenu d'un tarball sans l'extraire |
zip
|
-r, -9 |
zip -r out.zip dir/ |
fichier zip | Créer une archive zip ; -r récursif, -9 compression maximale |
unzip
|
-d, -l |
unzip archive.zip -d out/ |
extrait | Extraire un fichier zip ; -d destination, -l lister sans extraire |
gzip / gunzip
|
-k, -d |
gzip -k file.txt |
compressé | Compresser un fichier avec gzip ; -k conserver l'original, gunzip pour décompresser |
Environnement & Shell
| Commande | Options | Exemple | Sortie | Description |
|---|---|---|---|---|
env
|
|
env | grep PATH |
var=valeur | Afficher toutes les variables d'environnement ; combiner avec grep pour filtrer |
export
|
|
export NODE_ENV=production |
var définie | Définir une variable d'environnement pour la session courante et les processus enfants |
echo $VAR
|
|
echo $HOME |
valeur | Afficher la valeur d'une variable ; utiliser ${VAR} pour lever l'ambiguïté dans les chaînes |
which
|
|
which node |
chemin | Afficher le chemin complet de l'exécutable d'une commande |
alias
|
|
alias ll='ls -la' |
raccourci | Créer un raccourci de commande ; ajouter dans ~/.bashrc pour le rendre permanent |
source
|
|
source ~/.bashrc |
rechargé | Exécuter un fichier dans le contexte du shell courant (aussi : . ~/.bashrc) |
history
|
!N, !! |
history | tail -20 |
liste cmds | Afficher l'historique des commandes ; !! répète la dernière, !N exécute la Nième commande |
Référence Git Rapide
| Commande | Options | Exemple | Sortie | Description |
|---|---|---|---|---|
git init
|
|
git init my-project |
dépôt créé | Initialiser un nouveau dépôt Git dans le répertoire |
git clone
|
--depth 1 |
git clone url |
dépôt cloné | Cloner un dépôt distant ; --depth 1 pour un clone superficiel |
git status
|
-s |
git status -s |
modifications | Afficher l'état de l'arbre de travail ; -s format court |
git add
|
-A, -p |
git add -p |
indexé | Indexer des modifications ; -A tout, -p mode patch interactif |
git commit
|
-m, --amend |
git commit -m 'msg' |
commité | Valider les modifications indexées ; --amend modifie le dernier commit |
git push
|
-u origin |
git push -u origin main |
poussé | Pousser vers le dépôt distant ; -u définit la branche de suivi amont |
git pull
|
--rebase |
git pull --rebase |
synchronisé | Récupérer et intégrer les modifications distantes ; --rebase au lieu de merge |
git log
|
--oneline --graph |
git log --oneline -10 |
historique | Afficher l'historique des commits ; --oneline compact, --graph branches visuelles |
git stash
|
pop, list |
git stash pop |
restauré | Sauvegarder temporairement le travail non commité ; pop pour restaurer |
git diff
|
--staged |
git diff --staged |
diff | Afficher les modifications ; --staged montre les changements indexés mais non commités |