CheatSheet unix
Vendredi 15 Décembre 2023 08:30

CheatSheet unix

En tant que développeurs, nous sommes souvent amenés à intervenir directement sur les serveurs. Et soyons honnêtes, nous n’utilisons pas toutes ces commandes tous les jours, et certaines peuvent parfois sembler un peu floues.

Cette cheatsheet rassemble les commandes essentielles pour gérer des fichiers, modifier des permissions, manipuler des archives, utiliser SSH, et bien plus encore. Que vous soyez débutant ou utilisateur expérimenté, ce guide vous aidera à travailler efficacement avec Unix.

Navigation et gestion des fichiers

Navigation dans le système de fichiers

Afficher le répertoire courant

pwd

Lister les fichiers et dossiers

ls -la

Changer de répertoire

cd /chemin/vers/dossier

Créer un répertoire

mkdir nom_dossier

Supprimer un répertoire vide :

rmdir nom_dossier

Gestion des fichiers

Copier des fichiers ou dossiers

cp fichier1 dossier/

Déplacer ou renommer un fichier

mv fichier.txt dossier/
mv ancien_nom.txt nouveau_nom.txt

Supprimer un fichier

rm fichier.txt

Supprimer un dossier et son contenu

rm -r dossier/

Gestion des droits des fichiers

Afficher les permissions

Utilisez ls -l pour afficher les droits des fichiers

ls -l fichier.txt

Exemple de résultat

-rw-r--r-- 1 utilisateur groupe 1234 nov 30 10:00 fichier.txt

Structure des permissions

  • Premier caractère : Type de fichier
    • - : Fichier classique.
    • d : Dossier.
    • l : Lien symbolique.
  • Groupes de 3 caractères suivants : Les permissions pour trois catégories d’utilisateurs
    • Propriétaire : Lecture (r), écriture (w), exécution (x).
    • Groupe : Lecture (r), écriture (w), exécution (x).
    • Autres : Lecture (r), écriture (w), exécution (x).

Résumé des permissions

  • r : Autorise la lecture.
  • w : Autorise la modification.
  • x : Autorise l’exécution (pour un fichier) ou l’accès (pour un dossier).
  • - : Absence de permission.

Modifier les permissions

Ajouter des droits

chmod u+x fichier.txt

Ajouter des droits (Mode numérique)

chmod 755 fichier.txt

Modifier le propriétaire ou le groupe

Changer le propriétaire

chown utilisateur fichier.txt

Changer le groupe

chgrp groupe fichier.txt

Gestion des archives

Créer une archive

Sans compression

tar -cvf archive.tar fichier1 dossier/

Avec compression Gzip

tar -czvf archive.tar.gz fichier1 dossier/

Avec compression Bzip2

tar -cjvf archive.tar.bz2 fichier1 dossier/

Créer une archive zip 

zip archive.zip fichier1 dossier/

Les outils zip et unzip ne sont pas installés par défaut. Voici comment les ajouter

sudo apt install zip unzip

Créer une archive rar

rar a archive.rar fichier1 dossier/

Les outils rar et unrar ne sont pas installés par défaut. Voici comment les ajouter

sudo apt install rar unrar

Extraire une archive

Extraire une archive .tar

tar -xvf archive.tar

Extraire une archive compressée Gzip

tar -xzvf archive.tar.gz

Extraire une archive compressée Bzip2

tar -xjvf archive.tar.bz2

Extraire dans un répertoire spécifique

tar -xvf archive.tar -C /chemin/vers/dossier

Extraire une archive zip

unzip archive.zip

Extraire une archive rar

unrar x archive.rar

Visualiser le contenu d'une archive

Afficher la liste des fichiers dans une archive sans l’extraire

tar -tvf archive.tar

Gestion des clés SSH

Les clés SSH permettent d’établir une connexion sécurisée entre votre machine et un serveur sans entrer de mot de passe à chaque fois. Elles se composent de deux parties :

  • Clé publique : À partager avec le serveur.
  • Clé privée : À garder secrète et sécurisée sur votre machine.

Générer une clé SSH

Créez une paire de clés avec

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Options importantes :

  • -t rsa : Spécifie le type de clé (RSA dans cet exemple).
  • -b 4096 : Définit la taille de la clé (4096 bits pour plus de sécurité).
  • -C : Ajoute un commentaire (souvent votre e-mail).

Après l’exécution :

  • Un fichier est créé (par défaut : ~/.ssh/id_rsa pour la clé privée et ~/.ssh/id_rsa.pub pour la clé publique).
  • Vous pouvez définir une phrase de passe (optionnelle mais recommandée pour plus de sécurité).

Ajouter une clé publique sur un serveur

Pour configurer l’authentification via SSH avec votre clé publique, suivez ces étapes :

  1. Afficher votre clé publique sur votre machine locale
    cat ~/.ssh/id_rsa.pub

    (Remplacez id_rsa.pub par le nom de votre clé si elle diffère).
  2. Copier la clé publique sur le serveur distant
    • Connectez-vous au serveur
      ssh user@serveur
    • Ajoutez votre clé publique au fichier ~/.ssh/authorized_keys
      echo "votre_clé_publique" >> ~/.ssh/authorized_keys
    • Assurez-vous des permissions correctes
      chmod 600 ~/.ssh/authorized_keys
      chmod 700 ~/.ssh

Ajouter une clé SSH à l’agent SSH

Pour ne pas entrer la phrase de passe à chaque connexion, ajoutez votre clé privée à l’agent SSH :

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa

Gestion des processus

Lister les processus actifs

Afficher les processus en cours

ps aux

Vue interactive des processus

top

Arrêter un processus

Terminer un processus via son PID

kill PID

Terminer un processus par son nom

killall nom_processus

Vérification de l’espace disque

Afficher l’espace disque disponible

df -h

Afficher la taille d’un dossier spécifique

du -sh /chemin/vers/dossier

Gestion des utilisateurs et des groupes

Gestion des utilisateurs

Créer un utilisateur

sudo adduser nom_utilisateur

Ajouter un utilisateur à un groupe

sudo usermod -aG nom_groupe nom_utilisateur

Changer le mot de passe d’un utilisateur

sudo passwd nom_utilisateur

Gestion des groupes

Créer un groupe

sudo groupadd nom_groupe

Supprimer un groupe

sudo groupdel nom_groupe

Gestion des paquets logiciels (Debian/Ubuntu)

Mettre à jour la liste des paquets

sudo apt update

Installer un paquet

sudo apt install nom_paquet

Supprimer un paquet

sudo apt remove nom_paquet

Mettre à jour tous les paquets installés

sudo apt upgrade

Téléchargement de fichiers avec wget et curl

Télécharger un fichier avec wget

wget http://example.com/fichier.zip

Télécharger un fichier avec curl et conserver le nom

curl -O http://example.com/fichier.zip

Édition de fichiers avec vim et nano

Avec vim

Ouvrir un fichier

vim fichier.txt

Mode insertion

Appuyez sur i

Sauvegarder et quitter :

:wq

Quitter sans sauvegarder :

:q!

Avec nano

Ouvrir un fichier

nano fichier.txt

Sauvegarder les modifications :

Appuyez sur Ctrl + O, puis Entrée.

Quitter

Appuyez sur Ctrl + X