Linux : Les Commandes de Base
1. Le Shell et l'Arborescence des Fichiers sous Linux
Le Shell
Le Shell est un interpréteur de commandes qui permet à l'utilisateur d'interagir avec le
système d'exploitation. Sous Linux, le Shell est un programme qui lit les commandes que
vous tapez et les exécute. Le Shell peut aussi être utilisé pour automatiser des tâches en
écrivant des scripts.
Il existe plusieurs types de Shell sous Linux, mais les plus populaires sont :
• Bash (Bourne Again Shell) : C’est le Shell par défaut dans de nombreuses
distributions Linux.
• Zsh : Un autre Shell, plus puissant et avec des fonctionnalités supplémentaires.
Un Shell fournit une invite de commande (prompt) qui montre que le système est prêt à
recevoir des instructions. Par exemple :
user@machine:~$
L'Arborescence des Fichiers
L'arborescence des fichiers sous Linux est organisée en une structure hiérarchique
(comme un arbre), où chaque fichier ou répertoire (dossier) est un nœud dans cet arbre. Le
point de départ de cette hiérarchie est la racine /. Voici un aperçu des répertoires clés dans
cette structure :
• / : La racine du système de fichiers.
• /home : Répertoires personnels des utilisateurs.
• /bin : Contient des commandes binaires essentielles pour le système.
• /etc : Contient des fichiers de configuration.
• /usr : Contient les applications et programmes utilisateurs.
• /var : Contient les fichiers variables comme les journaux systèmes.
• /tmp : Contient des fichiers temporaires.
Par exemple, pour naviguer dans les répertoires, vous utilisez des commandes comme cd,
et pour lister les fichiers, vous utilisez ls.
2. Commandes de Gestion de Fichiers
Ces commandes vous permettent de manipuler les fichiers et répertoires sur le système.
ls : Lister les fichiers
La commande ls permet d'afficher le contenu d'un répertoire.
• Exemple :
• ls
Cela liste tous les fichiers et répertoires du répertoire courant.
• Option :
o ls -l : Affiche des informations détaillées (permissions, propriétaire, taille, etc.).
o ls -a : Affiche les fichiers cachés (ceux qui commencent par un point).
cd : Changer de répertoire
La commande cd permet de naviguer dans l'arborescence des répertoires.
• Exemple :
• cd /home/user/Documents
Cela vous amène dans le répertoire Documents de l'utilisateur user.
cp : Copier des fichiers ou des répertoires
La commande cp est utilisée pour copier des fichiers ou des répertoires.
• Exemple :
• cp fichier.txt /home/user/Documents
Cela copie le fichier fichier.txt dans le répertoire Documents.
• Option :
o cp -r : Copie récursivement un répertoire (pour copier un répertoire entier).
mv : Déplacer ou renommer des fichiers
La commande mv permet de déplacer des fichiers ou de les renommer.
• Exemple :
• mv fichier.txt /home/user/Documents
Cela déplace fichier.txt dans le répertoire Documents.
Pour renommer un fichier :
mv fichier.txt fichier_renomme.txt
rm : Supprimer des fichiers
La commande rm permet de supprimer des fichiers ou des répertoires.
• Exemple :
• rm fichier.txt
Cela supprime le fichier fichier.txt.
o Option : -r pour supprimer un répertoire et son contenu.
3. Commandes de Gestion des Processus
C'est Qu'un Processus ?
Un processus est une instance d'un programme en cours d'exécution. Chaque processus
sous Linux possède un identifiant unique appelé PID (Process ID). Un processus peut être
en avant-plan (c’est-à-dire qu’il est directement contrôlé par l'utilisateur) ou en arrière-plan
(il fonctionne sans interaction directe avec l'utilisateur).
ps : Afficher les processus en cours
La commande ps permet de voir les processus en cours d'exécution.
• Exemple :
• ps aux
Affiche tous les processus en cours sur le système.
Description des colonnes
USER : Le nom de l'utilisateur qui a lancé le processus.
PID : Le PID (Process ID) est un identifiant unique attribué à chaque processus en cours
d'exécution.
%CPU : Le pourcentage d'utilisation du processeur par le processus.
%MEM : Le pourcentage de la mémoire physique utilisée par le processus.
VSZ : La taille virtuelle du processus (en Ko).
RSS : La taille de la mémoire physique utilisée par le processus (en Ko).
TTY : Le terminal associé au processus (si applicable).
STAT : Le statut du processus (par exemple, S pour "Sleeping", R pour "Running", etc.).
START : L'heure à laquelle le processus a démarré.
TIME : Le temps processeur total utilisé par le processus.
COMMAND : La commande ou le programme qui a lancé le processus
top : Surveiller les processus en temps réel
La commande top affiche une vue dynamique des processus en cours.
• Exemple :
• top
kill : Terminer un processus
La commande kill permet d'envoyer un signal pour terminer un processus.
• Exemple :
• kill 1234
Cela envoie un signal pour tuer le processus ayant le PID 1234.
4. Commandes d'Administration du Système
sudo : Exécuter une commande en tant qu'administrateur
La commande sudo permet d’exécuter des commandes avec des privilèges administratifs
(super-utilisateur).
• Exemple :
• sudo apt-get update
reboot : Redémarrer le système
La commande reboot redémarre le système.
• Exemple :
• sudo reboot
shutdown : Éteindre le système
La commande shutdown arrête le système.
• Exemple :
• sudo shutdown -h now
5. Commandes de Gestion des Permissions
Sous Linux, chaque fichier et répertoire a des permissions associées qui déterminent qui
peut y accéder et ce qu'ils peuvent faire (lire, écrire, exécuter).
chmod : Modifier les permissions
La commande chmod permet de modifier les permissions d'un fichier ou répertoire.
Elle permet de définir qui peut lire, écrire ou exécuter un fichier. Les permissions sont
données à trois types d'utilisateurs :
• Utilisateur (User) : C'est le propriétaire du fichier.
• Groupe (Group) : C'est le groupe d'utilisateurs auquel appartient le fichier.
• Autres (Others) : Ce sont tous les autres utilisateurs du système.
Syntaxe de base :
chmod [options] mode fichier
• mode : Le mode de permissions à appliquer (qui peut être en format numérique ou
symbolique).
• fichier : Le fichier ou répertoire auquel vous appliquez les permissions.
Types de permissions :
Les permissions se divisent en trois types :
1. Lecture (r) : Permet de lire le contenu du fichier.
2. Écriture (w) : Permet de modifier le fichier.
3. Exécution (x) : Permet d'exécuter le fichier (si c'est un programme ou un script).
Mode symbolique :
Les permissions peuvent être spécifiées en utilisant des symboles. Le format de la
commande est :
chmod [utilisateur][opérateur][permissions] fichier
Utilisateurs :
• u : Utilisateur (propriétaire)
• g : Groupe
• o : Autres
• a : Tous (utilisateur, groupe et autres)
Opérateurs :
• + : Ajouter une permission.
• - : Retirer une permission.
• = : Définir exactement les permissions (remplacer les anciennes).
Exemple :
1. chmod u+x fichier : Ajoute la permission d'exécution pour le propriétaire du fichier.
2. chmod g-w fichier : Retire la permission d'écriture pour le groupe.
3. chmod o=r fichier : Définit les permissions de lecture uniquement pour les autres.
Mode numérique :
Les permissions peuvent également être définies à l'aide de chiffres. Chaque permission
(lecture, écriture, exécution) est représentée par un chiffre :
• Lecture (r) = 4
• Écriture (w) = 2
• Exécution (x) = 1
Les permissions sont donc spécifiées comme une combinaison de ces valeurs :
• rwx = 4 + 2 + 1 = 7
• rw- = 4 + 2 = 6
• r-- = 4 = 4
• --- = 0
La commande prend trois chiffres :
1. Le premier chiffre définit les permissions pour le propriétaire.
2. Le deuxième chiffre définit les permissions pour le groupe.
3. Le troisième chiffre définit les permissions pour les autres utilisateurs.
Exemple :
1. chmod 755 fichier : Le propriétaire a toutes les permissions (rwx = 7), le groupe et
les autres ont des permissions de lecture et d'exécution (rx = 5).
2. chmod 644 fichier : Le propriétaire peut lire et écrire (rw = 6), tandis que le groupe et
les autres peuvent seulement lire (r = 4).
chmod 755 mon_script.sh
• Le propriétaire a toutes les permissions (lecture, écriture, exécution).
• Le groupe et les autres utilisateurs peuvent lire et exécuter le fichier, mais pas le
modifier.
En résumé, chmod est un outil puissant pour contrôler l'accès aux fichiers et répertoires en
fonction des utilisateurs et de leurs rôles sur le système.
Cela donne les permissions rwx (lecture, écriture, exécution) au propriétaire, et rx (lecture,
exécution) aux autres utilisateurs.
chown : Changer le propriétaire d'un fichier
La commande chown permet de modifier le propriétaire et/ou le groupe d'un fichier.
• Exemple :
• sudo chown user:group fichier.txt
Cela change le propriétaire du fichier fichier.txt à user et le groupe à group.
6. Commandes de Compression et d'Archivage
tar : Créer une archive
La commande tar permet de créer une archive (fichier compressé) d'un ou plusieurs
fichiers/répertoires.
• Exemple :
• tar -cvf archive.tar fichier1 fichier2
Cela crée une archive archive.tar contenant fichier1 et fichier2.
gzip : Compresser des fichiers
La commande gzip permet de compresser un fichier.
• Exemple :
• gzip fichier.txt
Cela compresse le fichier fichier.txt en fichier.txt.gz.
gunzip : Décompresser un fichier
La commande gunzip permet de décompresser un fichier compressé avec gzip.
• Exemple :
• gunzip fichier.txt.gz
7. Commandes de Texte et de Filtrage
cat : Afficher le contenu d'un fichier
La commande cat permet d'afficher le contenu d'un fichier texte.
• Exemple :
• cat fichier.txt
grep : Filtrer le contenu d'un fichier
La commande grep permet de rechercher une chaîne de caractères dans un fichier.
• Exemple :
• grep "mot" fichier.txt
Cela affiche toutes les lignes contenant mot dans fichier.txt.
8. Commandes de Redirection et de Pipes
Redirection avec > et >>
La redirection permet de changer la destination de la sortie d'une commande.
• Exemple :
• echo "Hello" > fichier.txt
Cela écrit Hello dans fichier.txt.
• >> : Ajoute à un fichier existant.
• echo "World" >> fichier.txt
Pipes avec |
Les pipes permettent de passer la sortie d'une commande comme entrée d'une autre.
• Exemple :
• ls | grep "fichier"
Cela liste les fichiers et filtre ceux qui contiennent fichier.
9. Commandes de Gestion des Disques
df : Afficher l'espace disque utilisé
La commande df permet de voir l'espace disque disponible et utilisé.
• Exemple :
• df -h
du : Afficher l'utilisation du disque
La commande du montre l'espace disque utilisé par un fichier ou un répertoire.
• Exemple :
• du -sh /home/user
fdisk : Partitionner un disque
La commande fdisk permet de partitionner un disque dur.
• Exemple :
• sudo fdisk /dev/sda
10. Création de fichiers :
A. Commande touch
La commande touch est la méthode la plus courante pour créer un fichier vide. Si le fichier
n'existe pas, touch crée un fichier vide. Si le fichier existe déjà, touch met à jour la date et
l'heure de modification.
Syntaxe :
touch nom_du_fichier
Exemple :
touch mon_fichier.txt
Cela créera un fichier vide appelé mon_fichier.txt dans le répertoire actuel.
Commande echo
La commande echo peut être utilisée pour créer un fichier et y ajouter du contenu. Vous
pouvez rediriger la sortie de echo vers un fichier pour le créer ou l'écraser avec du texte.
Syntaxe :
echo "Texte à insérer" > nom_du_fichier
Exemple :
echo "Ceci est un fichier texte." > mon_fichier.txt
Cela crée un fichier mon_fichier.txt contenant la phrase "Ceci est un fichier texte.". Si le
fichier existe déjà, son contenu sera écrasé.
Si vous souhaitez ajouter du texte à un fichier sans écraser son contenu existant, vous
pouvez utiliser l'opérateur >> :
echo "Texte supplémentaire" >> mon_fichier.txt
Commande cat
La commande cat est généralement utilisée pour afficher le contenu des fichiers, mais elle
peut également être utilisée pour créer un fichier et y ajouter du texte.
Syntaxe :
cat > nom_du_fichier
Exemple :
cat > mon_fichier.txt
Cela vous permettra d'écrire dans le fichier mon_fichier.txt. Une fois que vous avez terminé
d'écrire, appuyez sur Ctrl+D pour sauvegarder et fermer le fichier.
Commande nano ou vi (éditeurs de texte)
Si vous souhaitez créer un fichier et le modifier immédiatement, vous pouvez utiliser un
éditeur de texte comme nano ou vi.
nano mon_fichier.txt
Cela ouvrira l'éditeur nano pour que vous puissiez entrer du texte. Une fois terminé, vous
pouvez sauvegarder et quitter, Ctrl+X (pour quitter).
5. Commande printf
La commande printf est similaire à echo, mais elle offre plus de contrôle sur le formatage du
texte. Vous pouvez également l'utiliser pour créer un fichier.
Syntaxe :
printf "Texte formaté" > nom_du_fichier
Exemple :
printf "Ligne 1\nLigne 2\nLigne 3\n" > mon_fichier.txt
Cela crée un fichier mon_fichier.txt avec trois lignes de texte.
6. Commande > (Redirection de sortie)
Cette méthode utilise la redirection pour créer un fichier vide.
Syntaxe :
> nom_du_fichier
Exemple :
> mon_fichier.txt
Cela crée un fichier vide appelé mon_fichier.txt. Si le fichier existe déjà, son contenu sera
effacé.