Page cover

Commandes Utiles

Quelques commandes utiles sous Linux

Voici une liste de commandes courantes utilisées dans l'administration Linux. Chaque commande est accompagnée de ses options les plus fréquemment utilisées et d'explications détaillées.

1. Commandes de base pour la navigation dans le système de fichiers

  • pwd : Affiche le chemin complet du répertoire courant (Print Working Directory).

    pwd
  • ls : Liste les fichiers et dossiers dans le répertoire courant.

    ls
    • ls -t : Trie les fichiers par date de modification, du plus récent au plus ancien.

      ls -t
    • ls -S : Trie les fichiers par taille, du plus grand au plus petit.

      ls -S
    • ls -l : Affiche les détails de chaque fichier (permissions, propriétaire, taille, date).

      ls -l
    • ls -R : Affiche les fichiers dans les sous-répertoires de manière récursive.

      ls -R
  • ls -a : Montre également les fichiers cachés (les fichiers dont le nom commence par un point).

    ls -a
  • ls -h : Affiche les tailles des fichiers de manière lisible (Ko, Mo, Go).

    ls -h

Les différentes options peuvent êtres associées. Par exemple ls -alh

Exemple de sortie :

Détails de la sortie :

  • drwxr-xr-x : Représente les permissions. Le premier caractère d indique qu'il s'agit d'un répertoire. Les autres caractères montrent les permissions pour le propriétaire, le groupe et les autres utilisateurs.

    • d : Répertoire

    • rwx : Permissions du propriétaire (lecture, écriture, exécution)

    • r-x : Permissions du groupe (lecture, pas d'écriture, exécution)

    • r-x : Permissions des autres utilisateurs (lecture, pas d'écriture, exécution)

  • 3 : Nombre de liens (ou sous-répertoires) dans le répertoire.

  • user : Nom de l'utilisateur propriétaire du fichier.

  • group : Nom du groupe associé au fichier.

  • 4.0K, 1.5M, 200K, 512 : Tailles des fichiers en format lisible.

  • Oct 24 10:30 : Date et heure de la dernière modification.

  • . et .. : . représente le répertoire courant, tandis que .. représente le répertoire parent.

  • file1.txt, file2.log, .hidden_file : Noms des fichiers et répertoires listés. Notez que .hidden_file est un fichier caché en raison du point (.) au début de son nom.

Cette commande est très utile pour avoir un aperçu détaillé des fichiers dans un répertoire, y compris les fichiers cachés et les tailles facilement compréhensibles.

  • cd [chemin] : Change le répertoire courant vers celui spécifié.

    • Exemple : Change de répertoire vers /home/utilisateur.

    • Astuce : cd .. te fait remonter d’un répertoire.

  • cp [source] [destination] : Copie des fichiers ou des dossiers.

    • Exemple : Copie fichier1.txt vers fichier2.txt.

    • cp -r : Copie un dossier récursivement (avec son contenu).

  • mv [source] [destination] : Déplace ou renomme des fichiers ou des dossiers.

    • Exemple : Déplace un fichier.

    • Pour renommer un fichier : mv ancien_nom.txt nouveau_nom.txt.

  • rm [fichier] : Supprime des fichiers.

    • Exemple : Supprime le fichier spécifié.

    • rm -r : Supprime un dossier et son contenu récursivement.

2. Commandes pour la gestion des fichiers

  • cat [fichier] : Affiche le contenu d'un fichier dans le terminal.

  • touch [fichier] : Crée un fichier vide ou modifie la date de dernier accès du fichier.

  • mkdir [nom_dossier] : Crée un nouveau répertoire.

  • mkdir -p [chemin] : Crée un répertoire ainsi que tous les sous-répertoires nécessaires dans le chemin spécifié.

    • Exemple : Crée un répertoire et tous les sous-répertoires nécessaires.

Option -p : Si un ou plusieurs des répertoires du chemin n'existent pas, cette option les crée également.

  • rmdir [nom_dossier] : Supprime un répertoire vide.

3. Commandes pour la gestion des droits

3.1 chmod

chmod [permissions] [fichier] : Change les permissions d’un fichier ou dossier.

Chmod ( change mode ) peut être utilisé de deux manières : symbolique ou numérique.

Mode numérique

Il Utilise des chiffres pour représenter les permissions.

  • 4 : lecture (r)

  • 2 : écriture (w)

  • 1 : exécution (x)

Les permissions sont additionnées pour chaque type d'utilisateur :

  • Propriétaire : premier chiffre

  • Groupe : deuxième chiffre

  • Autres : troisième chiffre

  • Exemple : Change les permissions d'un fichier.

  • Explication :

    = lecture (4) + écriture (2) + exécution (1),

    = lecture (4) + exécution (1).

Mode symbolique

Utilise des lettres pour représenter les utilisateurs et les permissions.

  • u : utilisateur (propriétaire)

  • g : groupe

  • o : autres

  • a : tous (utilisateur, groupe et autres)

  • r : lecture

  • w : écriture

  • x : exécution

  • Exemple

3.2 chown

chown [utilisateur]:[groupe] [fichier] : Change le propriétaire d’un fichier ou dossier.

  • Exemple : Change le propriétaire d'un fichier.

  • Exemple : Change le propriétaire et le groupe d'un fichier.

L'option -R avec la commande chown signifie "récursif". Elle permet de changer le propriétaire et/ou le groupe d'un fichier ou d'un répertoire ainsi que de tous les fichiers et sous-répertoires qu'il contient.

Syntaxe

Exemple d'utilisation

Changer le propriétaire récursivement : Supposons que vous ayez un répertoire appelé mon_dossier qui contient plusieurs fichiers et sous-répertoires. Pour changer le propriétaire de mon_dossier et de tout son contenu à imad, vous pouvez utiliser la commande suivante :

Changer le propriétaire et le groupe récursivement : Si vous souhaitez également changer le groupe en même temps, par exemple, à developpeurs ,vous pouvez exécuter :

4. Commandes de gestion des processus

  • ps : Affiche les processus en cours.

  • top : Affiche en temps réel les processus actifs, ainsi que leur utilisation des ressources.

  • kill [PID] : Termine un processus spécifié par son PID (Process ID).

    • Exemple :

      pour terminer le processus ayant le PID 1234.

    • Pour forcer l'arrêt :

5. Commandes réseau

  • nc [adresse] [port] : nc ou Netcat ouvre une connexion vers un hôte à une adresse IP ou un nom de domaine et un port spécifiés.

  • Cette commande peut également être utilisée pour écouter un port sur votre machine :

  • ip route show : Affiche la table de routage actuelle du système.

  • ip route add default via [adresse_gw] : Définit une passerelle par défaut pour le routage du trafic sortant.

  • Pour supprimer une passerelle par défaut existante, utilisez :

  • ping [adresse] : Vérifie la connectivité réseau vers un hôte en envoyant des paquets ICMP.

  • ip a : Affiche les interfaces réseau et leurs configurations ( adresse IP, masque, etc,)

  • ss : ss est le nouveau netstat qui est dépriécié sur certaines distribs linux. Il Affiche des informations sur les sockets et les connexions réseau.

Cette commande liste toutes les connexions TCP et UDP en cours, ainsi que les ports d'écoute.

  • traceroute [domaine] : Affiche le chemin que prennent les paquets pour atteindre une destination.

  • nslookup [domaine] : Interroge un serveur DNS pour obtenir l’adresse IP d’un domaine.

6. Manipulation des fichiers compressés

  • tar -czvf archive.tar.gz /chemin/dossier : Compresse un dossier en une archive .tar.gz.

    • -c : Créer une archive.

    • -z : Compresser avec gzip.

    • -v : Mode verbeux (affiche les fichiers traités).

    • -f : Nom du fichier archive.

  • tar -xzvf archive.tar.gz : Décompresse une archive .tar.gz.

  • Décompression avec unzip :

    • unzip [archive.zip] : Permet d'extraire le contenu d'un fichier ZIP.

    • Cette commande va décompresser le fichier archive.zip dans le répertoire courant.

    • Pour extraire vers un répertoire spécifique, on peut utiliser l'option -d :

  • Compression avec zip :

    • zip [archive.zip] [fichiers] : Crée un fichier ZIP à partir de fichiers ou de répertoires spécifiés.

    • Cette commande va créer un fichier ZIP nommé archive.zip contenant fichier1.txt et fichier2.txt.

    • Pour zipper un dossier entier, on utilise l'option -r :

7. Utilisation de su et sudo

  • su [utilisateur] : Permet de se connecter en tant qu’autre utilisateur (par défaut root). Il demande le mot de passe de l'utilisateur cible.

    • Exemple :

      pour passer à l'utilisateur spécifié avec son environnement.

  • sudo [commande] : Exécute une commande avec les privilèges d’un autre utilisateur, généralement root, sans changer de session. Il demande le mot de passe de l'utilisateur qui exécute la commande.

    • Exemple :

      pour mettre à jour la liste des paquets en tant que super utilisateur.

8. Commande pour gestion des disques

La gestion des disques permet de surveiller l'espace disque, visualiser les partitions, et diagnostiquer les problèmes de stockage. Ci-dessous, des commandes utiles avec des exemples pratiques pour mieux comprendre leur utilité.

1. Utilisation de du

  • du -h

But : Afficher la taille de tous les dossiers et sous-dossiers dans le répertoire courant.

Par exemple, dans un dossier contenant des dossiers imbriqués :

En utilisant du -h dans ce dossier, vous verrez la taille de chaque sous-dossier, y compris ceux imbriqués :

Résumé : du -h montre la taille de chaque dossier, sous-dossier, et fichier jusqu'à la fin de l’arborescence.

  • du -h --max-depth=1

But : Afficher la taille de chaque dossier de premier niveau uniquement dans le répertoire courant, sans aller plus profondément.

Avec la même structure de dossier, si vous utilisez du -h --max-depth=1, vous verrez uniquement la taille des dossiers de premier niveau :

  • du -sh :

But : Afficher la taille totale d’un répertoire, sans détails sur les sous-dossiers ou fichiers individuels. L’option -s (summary) résume la taille totale, et -h rend l'affichage lisible avec des unités (Ko, Mo, Go).

Exemple : Si vous êtes dans le dossier /home/user/Downloads et exécutez du -sh, vous obtiendrez la taille totale utilisée par le contenu de Downloads sans détails sur chaque sous-dossier :

Résumé : du -sh est utile pour une vérification rapide de la taille globale d’un dossier sans entrer dans les détails. Cela permet de visualiser la place occupée par le dossier en entier.

2. Utilisation de df

  • df -h

But : Afficher l'espace disque utilisé et disponible pour chaque système de fichiers, avec des unités lisibles (Go, Mo).

3. Utilisation de lsblk

  • lsblk

But : Afficher une arborescence des périphériques de stockage, leurs partitions, et points de montage.

4. Utilisation de mount et umount

  • mount

But : Afficher les systèmes de fichiers actuellement montés ou monter un périphérique sur un répertoire spécifique. Utilisez mount suivi du périphérique et du point de montage pour monter un disque.

  • umount

But : Démonter un périphérique, le rendant inaccessible depuis le système.

5. Utilisation de blkid

But : La commande blkid permet d'identifier les périphériques de stockage en affichant leurs informations, comme le type de système de fichiers et l'UUID (Universally Unique Identifier). L’UUID est un identifiant unique assigné à chaque partition de disque, permettant de référencer un périphérique indépendamment de son nom de fichier (par exemple, /dev/sda1).

Résumé : blkid est essentiel pour identifier les périphériques de stockage et leurs systèmes de fichiers, surtout lors de la configuration de montages permanents avec des UUID pour garantir une compatibilité entre redémarrages.

9. Téléchargement et Interaction Web avec curl et wget

Les commandes curl et wget permettent de télécharger des fichiers, d’interagir avec des serveurs web et d’effectuer des requêtes HTTP, mais elles sont adaptées à des usages différents. curl est particulièrement polyvalent, prenant en charge de nombreuses méthodes HTTP (GET, POST, PUT, DELETE, etc.) pour interagir de façon dynamique avec des API ou des services web. En revanche, wget est optimisé pour le téléchargement fiable de fichiers, y compris la récupération de sites entiers.

1. curl

curl est un outil polyvalent pour transférer des données via de nombreux protocoles (HTTP, FTP, etc.), souvent utilisé pour télécharger des fichiers ou interagir avec des APIs.

Exemples de commandes curl :

Explication : Télécharge fichier.txt dans le répertoire courant en conservant son nom d'origine.

Explication : Télécharge fichier.txt et le renomme en monfichier.txt.

Explication : Affiche les en-têtes HTTP du site pour vérifier sa disponibilité ou d'autres informations comme la type de serveur web ( apche, nginx ou autres ).

Exemple de sortie de curl -I

2. wget

wget est conçu pour des téléchargements robustes, avec la possibilité de reprendre un téléchargement interrompu. Il est idéal pour des téléchargements en masse et récursifs.

Exemples de commandes wget :

Explication : Télécharge fichier.txt dans le répertoire courant avec son nom original.

Explication : Télécharge fichier.txt et le renomme en monfichier.txt.

Explication : Reprend le téléchargement de fichier.txt s’il a été interrompu.

Explication : Télécharge le site exemple.com de manière récursive avec une profondeur d'un seul niveau, utile pour copier des pages liées en un clic.

Résumé :

curl est plus adapté pour les requêtes API et les téléchargements simples, tandis que wget excelle dans les téléchargements en masse et avec reprise automatique. Ensemble, ces commandes fournissent des options puissantes pour interagir avec les serveurs web et gérer les transferts de données de manière flexible.

10. OpenSSL

Commandes générales

📌 Version

📌 Liste globale des commandes


🔐 2. Génération de clés

Clé RSA 2048 bits

Clé RSA 4096 bits

Clé EC (Elliptic Curve)


📝 3. Certificats & CSR

Créer une CSR + clé privée

Créer un certificat auto-signé (1 an)

Lire un certificat


🎁 4. Conversion de certificats

PEM → DER

DER → PEM

PEM → PFX (PKCS#12)


🔐 5. Chiffrement de fichiers

Chiffrer

Déchiffrer


🧮 6. Hash & intégrité

SHA-256

SHA-512


🎲 7. openssl rand — générer des données aléatoires

📌 Aléatoire en Base64 (très utilisé pour les mots de passe)

16 octets (≈ 24 caractères Base64)

32 octets (≈ 44 caractères Base64) – recommandé

64 octets (≈ 88 caractères Base64)

📌 Aléatoire en hexadécimal

📌 Aléatoire brut (binaire)

✔️ À quoi ça sert ?

  • génération de mots de passe forts

  • génération de clés symétriques (AES)

  • génération de tokens API

  • création de secrets pour scripts ou déploiements


🔑 8. openssl passwd — générer des hashes de mot de passe

openssl passwd génère un hash de mot de passe au format UNIX crypt(3), utilisé dans /etc/shadow.

📌 SHA-512 (recommandé)

📌 SHA-256

📌 MD5 (ancien, éviter)

📌 Demander le mot de passe sans le taper en clair

(puis tapez le mot de passe)

📌 Ajouter un sel personnalisé

✔️ Usage typique

  • scripts d’automatisation (Ansible, cloud-init, Docker…)

  • création d’entrées pour /etc/shadow

  • générer un mot de passe chiffré pour un utilisateur Linux


🔍 9. Diagnostic TLS

Tester une connexion HTTPS

Afficher uniquement le certificat serveur


📦 10. Résumé rapide (cheat-sheet)

Besoin
Commande

Mot de passe aléatoire

openssl rand -base64 32

Hash pour /etc/shadow

openssl passwd -6

Clé privée RSA

openssl genrsa -out key.pem 4096

CSR

openssl req -new -key key.pem -out req.csr

Certificat auto-signé

openssl req -x509 -new -key key.pem -out cert.pem -days 365

Chiffrer un fichier

openssl enc -aes-256-cbc -salt -in in.txt -out out.enc

Lire un certificat

openssl x509 -in cert.pem -text -noout

Last updated

Was this helpful?