Guide Pratique des Commandes Linux : Éditeur Vim, Réseau, Processus et Disques

Introduction à l'Éditeur Vim

Vim est un éditeur de texte puissant et omniprésent dans les environnements Linux. Maîtriser ses commandes essentielles est crucial pour l'administration système et le développement.

Déplacements du Curseur

  • Déplacements Inter-lignes (Mode Commande) :
    • gg : Se positionner sur la première ligne du fichier.
    • G : Se positionner sur la dernière ligne du fichier.
    • :n : Accéder à la ligne spécifiée par le numéro n (Exemple : :6 pour la ligne 6).
  • Déplacements Intra-ligne (Mode Commande) :
    • 0 (ou ^) : Placer le curseur au début de la ligne courante.
    • $ : Placer le curseur à la fin de la ligne courante.

Opérations de Suppression

  • Suppression de Caractères (Mode Commande) :
    • x : Supprimer le caractère sous le curseur.
    • nx : Supprimer n caractères à partir de la position du curseur.
    • X : Supprimer le caractère précédant le curseur.
    • D : Supprimer du curseur jusqu'à la fin de la ligne.
  • Suppression de Lignes (Mode Commande) :
    • dd : Supprimer la ligne actuelle.
    • ndd : Supprimer n lignes à partir de la ligne actuelle.
    • dG : Supprimer toutes les lignes de la ligne actuelle jusqu'à la fin du fichier.
    • :n1,n2d : Supprimer les lignes de n1 à n2 (Exemple : :1,12d).

Copie et Collage

  • **Copie de Caractères (Mode Visuel) :**Appuyez sur v pour entrer en mode visuel, utilisez les flèches pour sélectionner le texte, puis appuyez sur y pour copier.
  • Copie de Lignes (Mode Commande) :
    • yy : Copier la ligne actuelle.
    • nyy : Copier n lignes à partir de la ligne actuelle.
    • :n1,n2 copy n3 : Copier les lignes de n1 à n2 et les coller à la ligne n3 (Exemple : :3,14 copy 2).
  • Collage (Mode Commande) :
    • p : Coller le contenu copié après le curseur (ou sous la ligne si c'est une ligne entière).
    • P : Coller le contenu copié avant le curseur (ou au-dessus de la ligne si c'est une ligne entière).

Annulation et Rétablissement

  • u : Annuler la dernière opération.
  • U : Annuler toutes les modifications sur la ligne actuelle.
  • Ctrl+r : Rétablir une opération annulée.

Recherche de Texte

  • /chaîne : Rechercher la "chaîne" à partir du curseur vers l'avant. Utilisez n pour la prochaine occurence, N pour la précédente.
  • ?chaîne : Rechercher la "chaîne" à partir du curseur vers l'arrière. Utilisez n pour la précédente occurrence, N pour la suivante.
  • :set ic : Ignorer la casse lors de la recherche.
  • :set noic : Respecter la casse lors de la recherche (paramètre par défaut).

Remplacement de Texte

  • :%s/ancien/nouveau : Remplacer la première occurrence de "ancien" par "nouveau" sur chaque ligne du fichier.
  • :%s/ancien/nouveau/g : Remplacer toutes les occurrences de "ancien" par "nouveau" sur chaque ligne du fichier.
  • :n1,n2s/ancien/nouveau/g : Remplacer toutes les occurrences de "ancien" par "nouveau" uniquement entre les lignes n1 et n2.

Commandes Vim Utiles

  • :set nu : Afficher les numéros de ligne.
  • :set nonu : Masquer les numéros de ligne.
  • Ctrl+g : Afficher des informations sur le fichier (nom, numéro de ligne, total de lignes, pourcentage de position).

Modes Réseau des Machines Virtuelles

La configuration réseau d'une machine virtuelle est essentielle pour sa connectivité. Voici les modes les plus courants :

1. Mode Pont (Bridge)

La machine virtuelle se comporte comme un hôte distinct sur le réseau physique. Elle obtient une adresse IP de votre routeur ou serveur DHCP et peut communiquer directement avec d'autres périphériques sur le même réseau local, ainsi qu'accéder à Internet. Ce mode offre généralement de meilleures performances réseau.

2. Mode NAT (Network Address Translation)

La machine virtuelle partage l'adresse IP de la machine hôte. Le trafic réseau de la VM passe par l'hôte, qui effectue la traduction d'adresce. La VM peut accéder à Internet, mais elle n'est pas directement accessible depuis le réseau externe sans configuration de redirection de port. Ce mode est pratique pour des configurations simples et ne nécessite pas d'adresse IP supplémentaire sur le réseau physique.

3. Mode Réseau Hôte Uniquement (Host-Only)

Crée un réseau privé entre la machine hôte et les machines virtuelles. Les VM peuvent communiquer entre elles et avec l'hôte, mais elles n'ont pas d'accès direct au réseau externe ou à Internet. Ce mode est utile pour des environnements isolés nécessitant une sécurité accrue ou pour des tests internes.

Pour un environnement de cours ou de développement standard, le mode Pont est souvent recommandé pour sa flexibilité et ses performances.

Commandes Réseau Linux

ping

Utilisée pour tester la connectivité réseau et mesurer le temps de réponse d'un hôte.

ping [options] [adresse_IP/nom_hôte]

Options Courantes :

  • -c n : Arrêter après n paquets d'écho.

Exemples :

ping 192.168.1.1       # Tester la connectivité vers une IP
ping google.com        # Tester la connectivité vers un nom d'hôte
ping -c 4 192.168.1.100 # Envoyer 4 paquets d'écho vers une IP

ifconfig

Affiche et configure les interfaces réseau. Notez que ip a est l'outil recommandé sur les systèmes Linux modernes.

ifconfig [interface_nom] [options_configuration]

Exemples :

ifconfig                # Afficher toutes les interfaces réseau
ifconfig eth0           # Afficher les informations de l'interface eth0
sudo ifconfig eth0 192.168.1.15 netmask 255.255.255.0 # Attribuer temporairement une IP à eth0

Ces modifications sont temporaires et seront perdues au redémarrage. Pour une configuration permanente, il faut modifier les fichiers de configuration réseau du système (ex: /etc/network/interfaces ou via NetworkManager).

netstat

Permet d'afficher les connexions réseau, les tables de routage, les statistiques d'interface, etc.

netstat [options]

Options Courantes :

  • -l : Afficher uniquement les sockets en écoute.
  • -t : Afficher les connexions TCP.
  • -u : Afficher les connexions UDP.
  • -n : Afficher les adresses et numéros de port sous forme numérique.
  • -a : Afficher toutes les connexions et sockets en écoute.

Exemple :

netstat -tuln # Afficher les ports TCP/UDP en écoute, en format numérique

Gestion des Processus

ps

Affiche les informations sur les processus en cours d'exécution.

ps [options]

Options Courantes :

  • -a : Afficher les processus de tous les utilisateurs.
  • -u : Afficher les processus par utilisateur/propriétaire.
  • -x : Afficher les processus sans terminal de contrôle.
  • -e : Afficher tous les processus.
  • -f : Afficher une liste complète (full format).

Exemples :

ps aux # Afficher les processus avec informations détaillées (style BSD)
ps -ef # Afficher les processus avec informations détaillées (style System V)

top

Fournit un aperçu en temps réel des processus et de l'utilisation des ressources système.

top

Cette commande affiche une liste dynamique des processus triés par utilisation du CPU, ainsi que des informations sur la mémoire, le swap et la charge système.

kill

Permet d'envoyer un signal à un processus spécifié par son PID (Process ID) pour le terminer.

kill [options] [PID]

Option Courante :

  • -9 : Envoyer le signal SIGKILL, forçant l'arrêt immédiat du processus.

Exemple :

kill 12345           # Envoyer le signal par défaut (SIGTERM) au processus 12345
kill -9 54321        # Terminer de force le processus 54321

killall

Termine les processus en spécifiant leur nom au lieu de leur PID.

killall [options] [nom_processus]

Option Courante :

  • -9 : Forcer l'arrêt des processus.

Exemple :

killall firefox      # Terminer toutes les instances du processus firefox
killall -9 ma_app    # Terminer de force toutes les instances de 'ma_app'

Gestion de l'Espace Disque

du (Disk Usage)

Estime l'espace disque utilisé par des fichiers ou des répertoires.

du [options] [fichier/répertoire]

Options Courantes :

  • -h : Afficher les tailles dans un format lisible par l'homme (Mo, Go).
  • -s : Afficher uniquement le total pour chaque argument (utile pour les répertoires).
  • -c : Afficher un total général.

Exemples :

du -h /home/utilisateur/documents # Taille du répertoire 'documents' en format lisible
du -sh /var/log                 # Taille totale du répertoire '/var/log'

df (Disk Free)

Affiche l'utilisation de l'espace disque des systèmes de fichiers montés.

df [options] [point_de_montage]

Options Courantes :

  • -h : Afficher les tailles dans un format lisible par l'homme.
  • -a : Inclure tous les systèmes de fichiers (y compris les systèmes de fichiers virtuels et de pseudo-systèmes de fichiers).

Exemples :

df -h             # Afficher l'utilisation de tous les systèmes de fichiers montés
df -h /dev/sda1   # Afficher l'utilisation d'une partition spécifique
df -h /mnt/data   # Afficher l'utilisation du point de montage /mnt/data

Montage et Démontage de Systèmes de Fichiers

Sous Linux, les périphériques de stockage (disques durs, clés USB, lecteurs CD/DVD) ne sont pas directement accessibles après leur connexion. Ils doivent être "montés" sur un répertoire existant du système de fichiers pour que leur contenu devienne accessible. Ce répertoire est appelé "point de montage". L'opération inverse, qui déconnecte le périphérique du système de fichiers, est appelée "démontage".

fdisk

Permet de manipuler la table de partitions d'un disque. L'option -l liste les partitions.

sudo fdisk -l

Cette commande liste tous les périphériques de bloc et leurs partitions, comme /dev/sda1, qui peuvent ensuite être montés.

mount

Attache un système de fichiers à un point de montage spécifié.

sudo mount [options] [périphérique] [point_de_montage]

Options Courantes :

  • -t [type] : Spécifier le type de système de fichiers (ex: ext4, vfat).
  • -r : Monter en lecture seule.
  • -w : Monter en lecture/écriture (comportement par défaut).

Exemples :

sudo mount /dev/sdb1 /mnt/usbkey  # Monter la partition /dev/sdb1 sur /mnt/usbkey
sudo mount -t ext4 /dev/sdc1 /data # Monter une partition ext4 sur /data

Le point de montage (ex: /mnt/usbkey) doit exister avant de monter le périphérique.

umount

Démonte un système de fichiers monté.

sudo umount [options] [périphérique/point_de_montage]

Option Courante :

  • -f : Forcer le démontage (à utiliser avec prudence).

Exemple :

sudo umount /mnt/usbkey   # Démonter le périphérique monté sur /mnt/usbkey
sudo umount /dev/sdb1     # Démonter la partition /dev/sdb1

Un système de fichiers ne peut pas être démonté si des processus l'utilisent.

Partage de Fichiers en Environnement Linux

Les environnements Linux offrent diverses solutions pour le partage de fichiers, que ce soit entre systèmes Linux ou avec des systèmes Windows.

NFS (Network File System)

NFS est un protocole de partage de fichiers réseau qui permet à un utilisateur de visualiser, de stocker, de mettre à jour et de manipuler des fichiers sur un ordinateur distant comme s'ils étaient sur l'ordinateur local.

Configuration du Serveur NFS

  1. Installation du serveur NFS : ``` sudo apt update sudo apt install nfs-kernel-server

    
    Si la commande `apt install` échoue, mettez à jour votre liste de paquets : `sudo apt update && sudo apt upgrade`.
    
  2. **Définition des partages NFS :**Éditez le fichier /etc/exports :

    sudo vim /etc/exports
    

    Ajoutez une ligne pour chaque répertoire à partager. Exemple :

    /srv/partage_nfs  192.168.1.0/24(rw,sync,no_root_squash)
    

    Explication des options :

    • /srv/partage_nfs : Le chemin du répertoire à partager sur le serveur.
    • 192.168.1.0/24 : Les clients autorisés (ici, tout le sous-réseau 192.168.1.x). Vous pouvez aussi utiliser * pour tous les clients, ou une IP spécifique.
    • rw : Accès en lecture et écriture.
    • sync : Les changements sont écrits sur le disque avant de répondre.
    • no_root_squash : Permet à l'utilisateur root sur le client d'avoir les privilèges root sur le partage.
  3. Appliquer les modifications et démarrer le service : ``` sudo exportfs -a sudo systemctl restart nfs-kernel-server

    
    

Configuration du Client NFS

  1. Installation du client NFS : ``` sudo apt update sudo apt install nfs-common
  2. Création du point de montage et montage du partage : ``` sudo mkdir /mnt/nfs_distant sudo mount [ADRESSE_IP_SERVEUR]:/srv/partage_nfs /mnt/nfs_distant
    
    Exemple :
    
    
    sudo mount 192.168.1.10:/srv/partage_nfs /mnt/nfs_distant
    
    Pour un montage persistant au démarrage, ajoutez une entrée dans `/etc/fstab`.
    
    

Samba

Samba est une suite de logiciels libres qui permet l'interopérabilité entre les systèmes Linux/Unix et les systèmes Windows, en implémentant le protocole SMB/CIFS.

Configuration du Serveur Samba

  1. Installation de Samba : ``` sudo apt update sudo apt install samba
  2. Modification du fichier de configuration : ``` sudo vim /etc/samba/smb.conf
    
    Ajoutez la section suivante à la fin du fichier pour définir un partage :
    
    
    [partage_windows] path = /home/utilisateur/mon_dossier_partage writable = yes guest ok = yes public = yes browseable = yes
    
    Explication :
    
    
    - `[partage_windows]` : Le nom du partage tel qu'il apparaîtra aux clients Windows.
    - `path` : Le chemin réel du répertoire sur le système Linux.
    - `writable = yes` : Permet l'écriture dans le partage.
    - `guest ok = yes` : Autorise les connexions sans mot de passe.
    - `public = yes` : Rend le partage visible à tous.
    - `browseable = yes` : Permet aux clients de voir le partage lors de la navigation réseau.
    
  3. Définir les permissions du répertoire partagé : ``` sudo chmod -R 0777 /home/utilisateur/mon_dossier_partage
  4. Recharger la configuration et redémarrer le service : ``` sudo systemctl restart smbd nmbd
    
    

Accès depuis Windows

Dans l'explorateur de fichiers Windows ou la boîte de dialogue "Exécuter" (Win+R), saisissez l'adresse IP du serveur Linux précédée de doubles barres obliques inverses : \\192.168.1.10. Vous devriez voir le partage partage_windows.

FTP (File Transfer Protocol)

Le FTP est un protocole standard utilisé pour transférer des fichiers entre un client et un serveur sur un réseau informatique.

Configuration du Serveur FTP (vsftpd)

  1. Installation du serveur vsftpd : ``` sudo apt update sudo apt install vsftpd
  2. Configuration de vsftpd : ``` sudo vim /etc/vsftpd.conf
    
    Assurez-vous que les lignes suivantes ne sont pas commentées (enlevez le `#` devant si nécessaire) :
    
    
    local_enable=YES # Permet aux utilisateurs locaux de se connecter write_enable=YES # Autorise l'écriture de fichiers
    
    Vous pourriez également vouloir chrooter les utilisateurs locaux pour les confiner à leur répertoire personnel : `chroot_local_user=YES`.
    
  3. Redémarrer le service vsftpd : ``` sudo systemctl restart vsftpd
    
    

Accès Client

Vous pouvez accéder au serveur FTP depuis n'importe quel client FTP (comme FileZilla) ou même depuis un navigateur web en utilisant l'adresse : ftp://[ADRESSE_IP_SERVEUR]. Utilisez un compte utilisateur existant sur le système Linux pour vous connecter.

Étiquettes: vim Linux réseau processus Disque

Publié le 15 juillet à 04h58