Bases de la ligne de commande
Pour les utilisateurs novices de Linux, la ligne de commande peut sembler peu familière, voire intimidante. Mais en réalité, la ligne de commande est l’outil le plus puissant et le plus flexible d’un système Linux. La maîtrise des opérations de base en ligne de commande rend non seulement la gestion du système plus efficace, mais vous aide également à comprendre comment Linux fonctionne sous le capot.
Cet article vous fera passer de zéro à la compréhension des concepts de terminaux et de shells, à la maîtrise des commandes les plus couramment utilisées et à l’apprentissage des connaissances de base telles que les chemins de fichiers, les canaux et les autorisations.
Que sont le terminal et le shell
Borne
Un terminal est une application qui fournit une fenêtre dans laquelle vous pouvez interagir avec l’ordinateur en tapant des commandes de texte. Dans l’environnement de bureau Ubuntu, le terminal est la fenêtre avec un fond noir (ou sombre) que vous voyez.
L’application de terminal par défaut dans Ubuntu 26.04 est Ptyxis. Il remplace le terminal GNOME traditionnel et offre une meilleure intégration des conteneurs. Vous pouvez toujours installer le Terminal GNOME classique si nécessaire.
Si vous souhaitez essayer un terminal accéléré par GPU plus moderne, Ghostty est disponible en version préliminaire dans le référentiel de l’univers 26.04 :
sudo apt install ghosttyGhostty n’est pas le terminal par défaut. Sur les appareils sans prise en charge d’OpenGL 4.3, une solution de secours en matière de rendu logiciel peut être nécessaire.
Coquille
Un shell est le programme derrière le terminal qui traite réellement les commandes. Lorsque vous tapez des commandes dans le terminal, le shell les analyse et les exécute. Le shell par défaut d’Ubuntu est Bash (Bourne Again Shell).
Les coquilles courantes comprennent :
| Coquille | Descriptif |
|---|---|
| Frapper | Le shell par défaut d’Ubuntu, riche en fonctionnalités avec une bonne compatibilité |
| Zsh | Un shell plus moderne avec une meilleure complétion automatique et de meilleurs thèmes |
| Poisson | Un shell convivial avec une coloration syntaxique prête à l’emploi |
| Tiret | Un shell léger utilisé par Ubuntu pour les scripts système |
Vous pouvez vérifier votre shell actuel avec la commande suivante :
echo $SHELLFaçons d’ouvrir le terminal
Dans Ubuntu 26.04, il existe plusieurs façons d’ouvrir le terminal :
Méthode 1 : raccourci clavier
Le moyen le plus rapide consiste à appuyer sur Ctrl + Alt + T, ce qui ouvre directement une fenêtre de terminal.
Méthode 2 : à partir du menu Application
- Cliquez sur le bouton Activités dans le coin supérieur gauche (ou appuyez sur la touche Super).
- Tapez “Terminal” dans la barre de recherche
- Cliquez sur l’icône du terminal pour l’ouvrir
Méthode 3 : à partir du gestionnaire de fichiers
Dans le gestionnaire de fichiers GNOME (Nautilus), vous pouvez cliquer avec le bouton droit sur une zone vide et sélectionner “Ouvrir dans le terminal”. Le terminal naviguera automatiquement vers le répertoire actuel.
Méthode 4 : Terminal virtuel TTY
Appuyez sur Ctrl + Alt + F3 (F3 à F6) pour passer à un terminal virtuel en texte uniquement. Appuyez sur Ctrl + Alt + F2 pour revenir à l’interface graphique. Ceci est particulièrement utile lorsque l’interface graphique rencontre des problèmes.
Commandes de base
pwd - Imprimer le répertoire de travail
pwd (Répertoire de travail d’impression) affiche le chemin de votre répertoire actuel :
pwd
# Example output: /home/usernamels - Liste du contenu du répertoire
ls (Liste) est l’une des commandes les plus couramment utilisées pour afficher les fichiers et dossiers dans un répertoire :
# List current directory contents
ls
# Show detailed information (permissions, size, modification time, etc.)
ls -l
# Show hidden files (files starting with .)
ls -a
# Combined usage: detailed info + hidden files + human-readable file sizes
ls -lah
# List contents of a specific directory
ls /etc
# Sort by modification time (newest first)
ls -ltcd - Changer de répertoire
cd (Change Directory) est utilisé pour basculer entre les répertoires :
# Enter a specific directory
cd /var/log
# Go up one level
cd ..
# Return to the home directory
cd ~
# Or simply type
cd
# Return to the previous directory
cd -
# Enter a multi-level directory
cd /usr/share/docmkdir - Créer des répertoires
# Create a single directory
mkdir myproject
# Create nested directories (-p auto-creates parent directories)
mkdir -p projects/web/frontend
# Create multiple directories at once
mkdir dir1 dir2 dir3cp - Copier des fichiers et des répertoires
# Copy a file
cp file.txt backup.txt
# Copy a file to a specific directory
cp file.txt /home/username/Documents/
# Copy an entire directory (requires -r for recursive copy)
cp -r myproject myproject-backup
# Copy while preserving file attributes (permissions, timestamps, etc.)
cp -a source/ destination/mv - Déplacer ou renommer
# Rename a file
mv oldname.txt newname.txt
# Move a file to another directory
mv file.txt /home/username/Documents/
# Move and rename
mv file.txt /home/username/Documents/newname.txt
# Move an entire directory
mv myproject /opt/rm - Supprimer des fichiers et des répertoires
# Remove a file
rm file.txt
# Remove a directory and its contents (recursive deletion)
rm -r myproject
# Force removal (no confirmation prompt)
rm -f file.txt
# Confirm before each deletion
rm -i *.txtLes fichiers supprimés avec rm ne vont pas à la corbeille : ils sont immédiatement supprimés définitivement ! En particulier, une commande comme rm -rf / détruira l’intégralité de votre système. Avant d’utiliser rm, assurez-vous toujours de supprimer les bons fichiers. Les débutants doivent d’abord utiliser ls pour vérifier quels fichiers correspondent, puis les supprimer seulement après confirmation.
cat - Afficher le contenu du fichier
# View the complete contents of a file
cat file.txt
# Display line numbers
cat -n file.txt
# Concatenate multiple files
cat file1.txt file2.txt
# Create a new file (Ctrl+D to finish input)
cat > newfile.txtless - Affichage paginé
Lorsque le contenu du fichier est très long, less est plus approprié que cat :
less /var/log/syslogOpérations courantes dans less :
- Espace : page suivante
- b : page précédente
- g : Aller au début du fichier
- G : Aller à la fin du fichier
- /mot-clé : recherche
- n : résultat de recherche suivant
- q : Quitter
head and tail - Afficher le début et la fin des fichiers
# View the first 10 lines (default)
head file.txt
# View the first 20 lines
head -n 20 file.txt
# View the last 10 lines
tail file.txt
# View the last 50 lines
tail -n 50 file.txt
# Follow file changes in real time (commonly used for viewing logs)
tail -f /var/log/syslogChemins de fichiers
Comprendre les chemins de fichiers est fondamental pour utiliser la ligne de commande. Le système de fichiers Linux démarre à partir de / (le répertoire racine) et tous les fichiers et répertoires sont organisés dans cette arborescence.
Chemins absolus ou relatifs
Les chemins absolus partent du répertoire racine / et fournissent l’emplacement complet d’un fichier :
# Absolute path examples
/home/username/Documents/file.txt
/etc/nginx/nginx.conf
/var/log/syslogLes chemins relatifs sont calculés à partir du répertoire actuel :
# Assuming you are in /home/username
# The following two are equivalent:
cat /home/username/Documents/file.txt # Absolute path
cat Documents/file.txt # Relative pathSymboles de chemin spéciaux
| Symbole | Signification | Exemple |
|---|---|---|
/ | Répertoire racine | cd / |
~ | Répertoire personnel de l’utilisateur actuel | cd ~ est identique à cd /home/username |
. | Répertoire actuel | ./script.sh exécute un script dans le répertoire courant |
.. | Annuaire parent | cd ../.. monte de deux niveaux |
- | Répertoire précédent (uniquement pour les CD) | cd - |
# Practical examples
# Return to the home directory from anywhere
cd ~
# View the contents of the parent directory
ls ..
# Run a script in the current directory
./my-script.sh
# Copy a file from two levels up to the current directory
cp ../../config.txt .Tuyaux et redirection
Les tuyaux et la redirection sont des fonctionnalités extrêmement puissantes de la ligne de commande. Ils vous permettent de combiner plusieurs commandes simples pour accomplir des tâches complexes.
Tuyaux (|)
Un tube transmet la sortie d’une commande en entrée à une autre commande :
# View all processes and search for lines containing "nginx"
ps aux | grep nginx
# List directory contents and display them page by page
ls -la /etc | less
# Count the number of files in the current directory
ls | wc -l
# View disk usage, sorted by size
du -sh * | sort -h
# Multi-level pipe: find errors in logs, deduplicate, and sort
cat /var/log/syslog | grep "error" | sort | uniq -c | sort -rnRedirection de sortie (> et >>)
# Write command output to a file (overwrites existing content)
echo "Hello, Ubuntu!" > hello.txt
# Append command output to the end of a file
echo "Another line" >> hello.txt
# Save a command listing to a file
ls -la > filelist.txt
# Redirect error output to a file
command 2> errors.log
# Redirect both standard output and error output
command > output.log 2>&1
# Or the shorter version
command &> output.logRedirection d’entrée <
# Read input from a file
wc -l < file.txt
# Common usage: import an SQL file into a database
mysql -u root -p database_name < backup.sqlBases des autorisations
Linux est un système multi-utilisateurs et la gestion des autorisations garantit la sécurité du système.
sudo - Exécuter en tant qu’administrateur
sudo (Super User Do) permet aux utilisateurs réguliers d’exécuter des commandes avec les privilèges d’administrateur (root) :
# Install software
sudo apt install vim
# Edit a system configuration file
sudo nano /etc/hosts
# Open a shell as root (use with caution)
sudo -i
# Check sudo privileges
sudo -lLorsque vous utilisez pour la première fois sudo, il vous demandera votre propre mot de passe utilisateur (pas le mot de passe root). Le mot de passe sera mémorisé pendant un certain temps.
chmod - Modifier les autorisations de fichiers
Les autorisations de fichiers Linux sont divisées en trois groupes : propriétaire (u), groupe (g) et autres (o). Chaque groupe dispose des autorisations lecture (r=4), écriture (w=2) et exécution (x=1).
# View file permissions
ls -l file.txt
# Example output: -rw-r--r-- 1 user group 1024 Jan 1 12:00 file.txt
# Add execute permission to a file
chmod +x script.sh
# Set exact permissions (owner: rwx, group: rx, others: rx)
chmod 755 script.sh
# Common permission combinations
chmod 644 file.txt # Owner read/write, others read-only
chmod 600 secret.key # Owner read/write only
chmod 777 shared.txt # Full permissions for everyone (not recommended)
# Recursively modify directory permissions
chmod -R 755 /var/www/htmlRaccourcis clavier courants
La maîtrise des raccourcis clavier peut améliorer considérablement l’efficacité de votre ligne de commande :
| Raccourci | Fonction |
|---|---|
| Onglet | Commandes de saisie semi-automatique, noms de fichiers, noms de répertoires |
| Onglet Onglet | Afficher toutes les options de réalisation possibles |
| Ctrl+C | Interrompre la commande en cours d’exécution |
| Ctrl + D | Quittez le shell actuel (équivalent à taper exit) |
| Ctrl+R | Recherche inversée dans l’historique des commandes |
| Ctrl + L | Effacer l’écran (équivalent à la commande clear) |
| Ctrl + A | Déplacer le curseur au début de la ligne |
| Ctrl + E | Déplacer le curseur à la fin de la ligne |
| Ctrl + W | Supprimer le mot avant le curseur |
| Ctrl + U | Supprimer du curseur jusqu’au début de la ligne |
| Ctrl + K | Supprimer du curseur jusqu’à la fin de la ligne |
| Flèches haut/bas | Parcourir l’historique des commandes |
| ****** | Réexécutez la dernière commande |
| !$ | Référencez le dernier argument de la commande précédente |
# Tab completion example
cd /etc/ng[Tab] # Auto-completes to cd /etc/nginx/
# Typical usage of !!: forgot to add sudo
apt install vim
# Permission error, then:
sudo !!
# Equivalent to sudo apt install vim
# Ctrl+R search history
# Press Ctrl+R, type "docker", and the most recent command containing "docker" will appearObtenir de l’aide
Sous Linux, il existe de nombreuses façons d’obtenir de l’aide :
homme - Pages du manuel
man (Manuel) est la documentation de commande la plus fiable :
# View the manual for the ls command
man ls
# Search manuals (by keyword)
man -k "copy file"
# View a specific section of the manual
man 5 crontab # View the crontab file format (section 5)L’indicateur —help
La plupart des commandes prennent en charge l’indicateur --help, qui affiche un résumé d’utilisation concis :
ls --help
cp --help
systemctl --helptldr - Manuel simplifié
tldr (Trop long ; n’a pas lu) fournit des exemples de commandes concis et pratiques, parfaits pour les débutants :
# Install tldr
sudo apt install tldr
# Update the database
tldr --update
# View command usage
tldr tar
tldr rsync
tldr systemctlAutres ressources d’aide
# View a brief description of a command
whatis ls
# Find the path of a command
which python3
whereis nginx
# Check the command type (built-in, external, alias, etc.)
type cd
type lsAide-mémoire de commande essentielle pour les débutants
Voici les 20 commandes les plus couramment utilisées par les débutants. Ajoutez-le à vos favoris pour référence ! Vous n’avez pas besoin de les mémoriser tous en même temps : recherchez-les simplement lorsque vous en avez besoin, et ils deviendront une seconde nature avec le temps.
| Commande | Objectif | Exemple courant |
|---|---|---|
pwd | Afficher le répertoire actuel | pwd |
ls | Liste du contenu du répertoire | ls -lah |
cd | Changer de répertoire | cd /var/log |
mkdir | Créer des répertoires | mkdir -p a/b/c |
cp | Copier des fichiers/répertoires | cp -r src/ dst/ |
mv | Déplacer/Renommer | mv old.txt new.txt |
rm | Supprimer des fichiers/répertoires | rm -r dirname |
cat | Afficher le contenu du fichier | cat file.txt |
less | Afficher les fichiers page par page | less /var/log/syslog |
head/tail | Afficher le début/la fin des fichiers | tail -f log.txt |
grep | Texte de recherche | grep "error" log.txt |
find | Rechercher des fichiers | find / -name "*.conf" |
sudo | Exécuter avec les privilèges d’administrateur | sudo apt update |
apt | Gestionnaire de paquets | sudo apt install vim |
chmod | Modifier les autorisations | chmod +x script.sh |
nano/vim | Éditeurs de texte | nano file.txt |
df | Vérifier l’utilisation du disque | df -h |
top/htop | Afficher les processus | htop |
systemctl | Gérer les services système | systemctl status nginx |
history | Afficher l’historique des commandes | history | grep ssh |
Conseils avancés
Alias de commande
Vous pouvez créer des alias courts pour les commandes fréquemment utilisées :
# Temporary alias (only valid for the current session)
alias ll='ls -lah'
alias gs='git status'
# Permanent alias (written to ~/.bashrc)
echo "alias ll='ls -lah'" >> ~/.bashrc
echo "alias update='sudo apt update && sudo apt upgrade -y'" >> ~/.bashrc
# Apply aliases immediately
source ~/.bashrcHistorique des commandes
# View command history
history
# Search command history
history | grep "apt install"
# Execute command #42 from history
!42
# Clear history
history -cCaractères génériques
# * matches any characters
ls *.txt # All .txt files
cp *.jpg photos/ # Copy all .jpg files
# ? matches a single character
ls file?.txt # Matches file1.txt, fileA.txt, etc.
# [] matches a specified range
ls file[1-3].txt # Matches file1.txt, file2.txt, file3.txtAprès avoir appris ces bases, vous pouvez déjà gérer la plupart des opérations quotidiennes dans la ligne de commande Ubuntu. Vous pouvez continuer à apprendre des sujets plus avancés tels que les scripts shell, l’administration système, la configuration réseau, etc. N’oubliez pas que la pratique rend parfait : l’expérience pratique est le meilleur moyen de maîtriser la ligne de commande.