Guide Essentiel des Commandes Linux : Processus, Fichiers et Réseau

Classé dans Informatique

Écrit le en français avec une taille de 12,24 KB

1. Afficher les répertoires

Pour afficher les répertoires, vous pouvez utiliser les commandes suivantes :

  • find -type d : Recherche et affiche tous les répertoires.
  • ls -l : Liste le contenu du répertoire courant avec des détails, y compris les répertoires.

2. Dossiers pour stocker les fichiers système

Le dossier /dev est utilisé pour stocker les fichiers spéciaux de périphériques système.

3. Gestion des processus : Premier plan (FG) et Arrière-plan (BG)

Comprendre la gestion des processus en arrière-plan (BG) et au premier plan (FG) est essentiel sous Linux.

4. Supprimer un dossier et son contenu

Pour supprimer un dossier et tout son contenu de manière récursive, utilisez la commande :

rm -r <nom_du_dossier>

5. Exécution et gestion des processus (FG/BG)

Linux, comme tout système Unix, permet d'exécuter plusieurs tâches simultanément. Sur les systèmes monoprocesseurs, un temps spécifique est alloué à chaque tâche, donnant l'impression à l'utilisateur que toutes les tâches s'exécutent en même temps.

Exécuter un programme en arrière-plan

Pour exécuter un programme en arrière-plan dès son lancement, il suffit d'ajouter l'esperluette (&) à la fin de la ligne de commande.

Exemple : Copier un répertoire en arrière-plan.

# cp -r /usr/src/linux /tmp &
#

Lorsque le programme a terminé son exécution, le système vous en informe par un message :

#
[Fait] cp -r /usr/src/linux /tmp
#

Passer un programme en arrière-plan après son lancement

Si vous avez lancé un programme sans l'esperluette et souhaitez le passer en arrière-plan :

  1. Suspendez l'exécution du programme en appuyant sur Ctrl + Z.
  2. Exécutez la commande suivante pour le passer en arrière-plan : bg.

Commandes jobs, fg et bg

Lorsque vous exécutez une commande sur la console, celle-ci attend généralement la fin du processus. Pour lancer une commande et retourner immédiatement à la console, utilisez l'opérateur & à la fin de la commande.

[CFM @ sel] $ firefox &
[1] 23710
[CFM @ sel] $

Si une application est lancée en arrière-plan et n'est pas fermée, vous ne pouvez pas utiliser la console pour interagir avec elle directement. Vous pouvez voir les processus en cours d'exécution en arrière-plan sur cette console avec la commande jobs.

[CFM @ sel] $ jobs
[1] + Running & firefox
[CFM @ sel] $

Vous pouvez ramener une application s'exécutant en arrière-plan au premier plan de la console avec la commande fg, suivie du numéro de tâche affiché par la commande jobs.

[CFM @ sel] $ fg 1
firefox

Si vous souhaitez renvoyer un processus du premier plan à l'arrière-plan, suspendez-le avec Ctrl + Z, puis utilisez bg.

[1] + Stopped firefox
[CFM @ sel] $ bg 1
[1] + firefox &
[CFM @ sel] $

Il est également possible d'arrêter un processus sur la console en appuyant sur Ctrl + Z, ou depuis une autre console en utilisant la commande kill, puis de l'envoyer en arrière-plan avec bg.

Important

Si un processus d'arrière-plan tente d'utiliser la console pour interagir avec l'utilisateur, le processus sera suspendu.

6. Gestion des priorités : nice et renice

Les commandes nice et renice permettent de gérer la priorité d'exécution des processus sous Linux.

La commande nice

La commande nice permet de lancer un programme avec une priorité modifiée.

  • Le terme "nice" (gentil) indique qu'un processus avec une valeur nice élevée est "gentil" avec les autres processus, leur laissant plus de ressources CPU.
  • La plage des valeurs nice va de 19 (priorité la plus basse, très "gentil") à -20 (priorité la plus haute, pas "gentil").
  • Les utilisateurs non-root peuvent spécifier des valeurs nice de 0 à 19. L'utilisateur root a accès à toute la plage (-20 à 19).
  • La valeur nice par défaut est 0.

Exemples :

  • Pour exécuter une commande avec une priorité plus basse (valeur nice plus élevée) :
    $ nice -n 10 commande_longue &
  • Pour exécuter une commande avec une priorité plus haute (valeur nice plus basse, nécessite les droits root) :
    $ sudo nice -n -15 commande_critique &

La commande renice

La commande renice modifie le niveau de priorité (valeur nice) d'un processus déjà en cours d'exécution.

  • Les utilisateurs non-root ne sont autorisés qu'à augmenter la valeur nice (diminuer la priorité) d'un processus qu'ils possèdent. Seul l'utilisateur root peut diminuer la valeur nice (augmenter la priorité).
  • La valeur nice est un nombre. Le signe - est utilisé pour les priorités élevées (valeurs négatives).

Exemples :

  • Pour définir la priorité d'un processus (PID 2984) à la valeur nice maximale (diminuer sa priorité) :
    $ renice 19 2984
  • Pour définir la priorité d'un processus (PID 3598) à une valeur nice plus basse (une priorité plus élevée, nécessite les droits root) :
    $ sudo renice -15 3598
  • Vous pouvez également modifier le niveau nice de tous les processus d'un utilisateur (nécessite les droits root) :
    $ sudo renice 15 -u miguel

7. Supprimer des fichiers et répertoires

La commande principale pour supprimer des fichiers et répertoires est rm.

Supprimer un fichier

$ rm fichier

Supprimer un dossier vide

$ rmdir nom_du_dossier

Supprimer un répertoire non vide (récursif)

$ rm -r répertoire

Cette commande supprime le répertoire et tout son contenu de manière récursive.

8. Systèmes de fichiers Linux

Les systèmes de fichiers couramment utilisés par Linux incluent :

  • ext2
  • ext3
  • ext4 (le plus courant actuellement)
  • swap (partition d'échange)

9. Créer un lien en dur

Pour créer un lien en dur, utilisez la commande ln.

$ ln <fichier_source> <lien_dur>

10. Fichiers utilisateurs et mots de passe

Les informations concernant les utilisateurs sont stockées dans le fichier /etc/passwd. Les mots de passe chiffrés sont stockés dans le fichier /etc/shadow pour des raisons de sécurité.

11. Modifier la priorité des processus en cours (renice)

La commande renice est utilisée pour modifier la priorité des processus en cours d'exécution. Appliquer renice à un groupe de processus ou à tous les processus d'un utilisateur entraîne la modification de leur priorité d'ordonnancement.

Syntaxe de renice

renice <priorité> [-p] <pid ...> [-g] <pgrp ...> [-u] <utilisateur ...>
  • ID de processus : pid
  • ID du groupe de processus : pgrp

Options

  • -g : Force l'interprétation des paramètres comme des ID de groupe de processus.
  • -u : Force l'interprétation des paramètres comme des noms d'utilisateur.
  • -p : Force l'interprétation des paramètres comme des ID de processus (comportement par défaut).

Exemples

  • Modifier la priorité du processus avec le PID 785 à 15 :
    $ renice 15 785
  • Modifier la priorité de tous les processus de l'utilisateur peter à +20 (diminuer la priorité) :
    $ renice +20 -u peter

12. Comprendre UMASK

La commande umask définit les permissions par défaut pour les nouveaux fichiers et répertoires. Elle fonctionne en soustrayant la valeur de l'umask des permissions maximales (666 pour les fichiers, 777 pour les répertoires).

Exemples :

  • Si umask est 022 :
    • Permissions pour un nouveau fichier : 666 - 022 = 644 (rw-r--r--)
    • Permissions pour un nouveau répertoire : 777 - 022 = 755 (rwxr-xr-x)
  • Si umask est 222 :
    • Permissions pour un nouveau fichier : 666 - 222 = 444 (r--r--r--)
    • Permissions pour un nouveau répertoire : 777 - 222 = 555 (r-xr-xr-x)

13. Afficher les processus en cours

Pour afficher tous les processus en cours, y compris leur utilisation de la mémoire et du CPU, utilisez la commande :

ps aux

14. Génération de clés SSH (privées et publiques)

Pour générer une paire de clés SSH (privée et publique), exécutez la commande suivante :

ssh-keygen -t rsa

Cette commande est utilisée pour créer une paire de clés RSA (publique/privée), avec une longueur par défaut de 1024 bits. Le programme vous posera plusieurs questions :

Generating public/private rsa key pair.
Enter file in which to save the key (/home/javier/.ssh/id_rsa):

Il vous est demandé d'entrer le nom du fichier où stocker la clé privée. Le chemin proposé par défaut est /home/javier/.ssh/id_rsa, ce qui est généralement approprié pour la configuration du client SSH. Appuyez sur Entrée pour accepter la valeur par défaut.

Ensuite, il vous sera demandé une phrase secrète (passphrase) :

Enter passphrase (empty for no passphrase):
Enter same passphrase again:

En appuyant deux fois sur Entrée, vous omettez l'utilisation d'une phrase secrète. Il est recommandé d'en utiliser une pour une sécurité accrue.

Enfin, le programme vous informera de la création des clés :

Your identification has been saved in /home/javier/.ssh/id_rsa.
Your public key has been saved in /home/javier/.ssh/id_rsa.pub.
The key fingerprint is:
13:08:b:23:74:53:e4:0f:b3:16:49:01:b:79:64:60:7c:38 javier@client

15. Changer de console virtuelle

Pour basculer entre les consoles virtuelles (TTY) sous Linux, utilisez la combinaison de touches :

Ctrl + Alt + F1

... jusqu'à

Ctrl + Alt + F6

La console graphique est généralement accessible via Ctrl + Alt + F7.

16. Ports réseau et leurs privilèges

Les ports réseau sont des points de communication pour les applications. Il y a 65535 ports au total.

Les ports de 0 à 1023 sont considérés comme des ports privilégiés (ou "bien connus"). Ils nécessitent des droits root pour être utilisés par une application, car ils sont généralement réservés aux services système essentiels.

Voici quelques exemples de ports couramment utilisés :

  • HTTPS : 443
  • SSH : 22
  • Telnet : 23
  • NetBIOS : 139
  • CUPS (système d'impression) : 631

Entrées associées :