Plus de 20 Commandes Essentielles pour Bien Démarrer sous Debian en 2025
Guide des outils Linux modernes pour Debian et Ubuntu : commandes essentielles, utilitaires DevOps et astuces VPS. Du kit de base aux installations avancées, avec exemples.

Tu souhaites préparer un environnement de travail efficace sous Debian ou Ubuntu ? Eh bien, voici une top-list actualisée pour 2025 des paquets indispensables à installer.
Cet article est la version 2.0 du guide publié en 2020. Il reprend les outils toujours d’actualité et intègre les nouveautés majeures apparues ces dernières années : outils Rust ultra-performants, alternatives modernes aux commandes classiques, et une section complète dédiée à l’administration de serveurs VPS.
Le kit de survie 2025 #
Installation rapide - Les essentiels #
Voici la commande d’installation pour démarrer immédiatement avec les outils de base :
sudo apt update && sudo apt install -y \
neofetch vim git curl wget \
htop btop tree zip unzip \
tldr bat ripgrep fd-find fzf \
tmux zsh
Note importante
eza, starship ou zoxide nécessitent une installation manuelle via Rust ou des scripts dédiés. Nous verrons comment les installer dans les sections suivantes.Les indispensables (toujours d’actualité) #
Ces outils étaient essentiels en 2020 et le restent en 2025. Voici la liste avec les améliorations récentes.
manpages-fr #
Le manuel de référence en français
sudo apt install manpages-fr manpages-fr-extra
Reconfigurer la langue du système :
sudo dpkg-reconfigure locales
Mettre le clavier en français :
setxkbmap fr
neofetch #
Outil d’information système avec style
Site officiel : github.com/dylanaraps/neofetch
sudo apt install neofetch
Affiche magnifiquement les informations de ton système (OS, kernel, CPU, RAM, etc.) avec le logo de ta distribution.
Utilisation :
neofetch
Alternative 2025
fastfetch est une alternative plus rapide et moderne : github.com/fastfetch-cli/fastfetch
# Installation via PPA
sudo add-apt-repository ppa:zhangsongcui3371/fastfetch
sudo apt update
sudo apt install fastfetch
nano - L’éditeur pour débuter #
Le plus simple pour commencer
Préinstallé sur la plupart des distributions Debian/Ubuntu.
# Si besoin de l'installer
sudo apt install nano
Pourquoi nano pour débuter ?
- Raccourcis affichés en bas de l’écran (pas besoin de les mémoriser)
- Fonctionne comme un éditeur classique
- Parfait pour les modifications rapides de fichiers de config
Utilisation :
# Éditer un fichier
nano fichier.txt
# Avec numéros de ligne
nano -l fichier.txt
Raccourcis essentiels :
Ctrl + O: Sauvegarder (Write Out)Ctrl + X: QuitterCtrl + K: Couper la ligneCtrl + U: CollerCtrl + W: RechercherCtrl + G: Aide
micro - L’éditeur moderne et intuitif #
Un cran au-dessus de nano
Site officiel : micro-editor.github.io
Pourquoi micro plutôt que nano ?
micro combine la simplicité de nano avec des fonctionnalités modernes :
- Raccourcis standards : Ctrl+C/V/X, Ctrl+S, Ctrl+Z/Y (comme VSCode, Sublime Text)
- Support souris : sélection, clic, scroll (nano ne le fait pas)
- Coloration syntaxique : détection automatique du langage (JavaScript, Python, etc.)
- Multiples curseurs : édition simultanée à plusieurs endroits
- Plugins : extensions pour étendre les fonctionnalités
- Plus rapide : écrit en Go, très performant même sur de gros fichiers
Installation :
# Installation rapide via script
curl https://getmic.ro | bash
sudo mv micro /usr/local/bin/
# Ou via apt (version potentiellement plus ancienne)
sudo apt install micro
Utilisation :
# Éditer un fichier
micro fichier.txt
Raccourcis familiers :
Ctrl + S: SauvegarderCtrl + Q: QuitterCtrl + C/V/X: Copier/Coller/CouperCtrl + F: RechercherCtrl + Z/Y: Annuler/RefaireCtrl + E: Ouvrir le menu de commandes
vim / neovim - Pour aller plus loin #
L’éditeur légendaire pour les utilisateurs avancés
Site officiel vim : vim.org Site officiel neovim : neovim.io
# Vim classique
sudo apt install vim
# Neovim (version moderne, recommandé en 2025)
sudo apt install neovim
Neovim est devenu le standard en 2025 avec son support natif de LSP (Language Server Protocol), Tree-sitter et Lua.
Pourquoi vim/neovim ?
- Productivité exceptionnelle une fois maîtrisé
- Présent sur tous les serveurs Unix/Linux
- Édition modale ultra-efficace
- Extensible à l’infini
Pour apprendre :
# Tutoriel interactif intégré (30 min)
vimtutor
Quel éditeur choisir ?
Tu débutes sous Linux ? → Commence par nano (le plus simple)
Tu veux quelque chose de moderne ? → Essaye micro (raccourcis familiers + coloration)
Tu veux investir du temps pour être très productif ? → Apprends vim/neovim avec vimtutor. La courbe d’apprentissage est raide, mais le gain à long terme est énorme.
rename #
Renommer des fichiers en masse
sudo apt install rename
Exemple d’utilisation :
# Remplacer tous les espaces par des underscores
rename 's/ /_/g' *.txt
# Changer l'extension
rename 's/\.txt$/.md/' *.txt
tree #
Afficher l’arborescence des répertoires
sudo apt install tree
Utilisation :
# Afficher l'arborescence
tree
# Limiter la profondeur
tree -L 2
# Afficher uniquement les répertoires
tree -d
most #
Lecteur de manuel en couleur (alternative à less)
Site officiel : jedsoft.org/most
sudo apt install most
sudo update-alternatives --config pager
Sélectionne most dans la liste pour avoir des pages man en couleur.
curl #
Transférer des données depuis/vers un serveur
sudo apt install curl
Indispensable pour télécharger des fichiers, tester des APIs, installer des outils modernes.
Exemples :
# Télécharger un fichier
curl -O https://example.com/file.txt
# Tester une API
curl https://api.github.com/users/alternative-rvb
# Voir son IP publique
curl ifconfig.me
lynx #
Navigateur web en console
sudo apt install lynx
Pratique pour consulter des sites web sans interface graphique, tester des pages HTML en mode texte.
speedtest-cli #
Mesurer la vitesse de connexion Internet
sudo apt install speedtest-cli
Utilisation :
speedtest-cli
Alternative officielle 2025
Speedtest by Ookla propose maintenant un client officiel plus précis : speedtest.net/apps/cli
curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash
sudo apt install speedtest
exfat-utils et exfat-fuse #
Support du système de fichiers exFAT
sudo apt install exfat-fuse exfat-utils
Permet de lire/écrire sur des disques formatés en exFAT (clés USB, disques externes).
Note 2025
htop #
Gestionnaire de processus interactif
sudo apt install htop
Utilisation :
htop
translate-shell #
Traduction en ligne de commande
sudo apt install translate-shell
Utilisation :
# Traduire vers le français
trans :fr "Hello World"
# Traduire de l'anglais vers le français
trans en:fr "Good morning"
# Mode interactif
trans -I
aspell #
Correcteur orthographique
sudo apt install aspell aspell-fr
Utilisation :
# Vérifier un fichier
aspell check fichier.txt
# En mode français
aspell -l fr check fichier.txt
shellcheck #
Analyseur de scripts Bash
Site officiel : shellcheck.net
sudo apt install shellcheck
Détecte les erreurs et mauvaises pratiques dans tes scripts shell.
Utilisation :
shellcheck mon-script.sh
xclip #
Presse-papiers en ligne de commande
sudo apt install xclip
Utilisation :
# Copier dans le presse-papiers
echo "Hello" | xclip -selection clipboard
# Coller depuis le presse-papiers
xclip -selection clipboard -o
# Copier le contenu d'un fichier
cat fichier.txt | xclip -sel clip
zip / unzip #
Compression et décompression
sudo apt install zip unzip
Utilisation :
# Compresser
zip archive.zip fichier1.txt fichier2.txt
# Compresser un dossier
zip -r archive.zip mon-dossier/
# Décompresser
unzip archive.zip
# Lister le contenu sans extraire
unzip -l archive.zip
Les remplaçants modernes #
Ces nouveaux outils remplacent avantageusement les commandes classiques grâce à des performances accrues et une meilleure ergonomie.
btop - Le htop moderne #
Remplace : htop, top
Site officiel : github.com/aristocratos/btop
sudo apt install btop
btop est un moniteur de ressources système magnifique avec :
- Interface moderne et colorée
- Graphiques en temps réel (CPU, RAM, réseau, disque)
- Support GPU
- Plus rapide et plus léger que htop
Utilisation :
btop
eza - Le ls réinventé #
Remplace : ls
eza (successeur de exa) est une alternative moderne à ls avec :
- Icônes pour les types de fichiers
- Intégration Git
- Affichage en arbre
- Performances optimales
Installation :
# Via cargo (Rust requis)
cargo install eza
# Ou télécharger le binaire
wget https://github.com/eza-community/eza/releases/latest/download/eza_x86_64-unknown-linux-gnu.tar.gz
tar -xzf eza_x86_64-unknown-linux-gnu.tar.gz
sudo mv eza /usr/local/bin/
Utilisation :
# Liste basique
eza
# Liste détaillée avec Git
eza -l --git
# Arborescence
eza --tree
# Tout afficher
eza -la --git --icons
Alias recommandés :
alias ls='eza --icons'
alias ll='eza -l --icons --git'
alias la='eza -la --icons --git'
alias lt='eza --tree --icons'
bat - Le cat avec super-pouvoirs #
Remplace : cat
Site officiel : github.com/sharkdp/bat
sudo apt install bat
bat affiche les fichiers avec :
- Coloration syntaxique automatique
- Numérotation des lignes
- Intégration Git (modifications)
- Support de pagination
Alias nécessaire
Sur Debian/Ubuntu, la commande s’appelle batcat. Crée un alias :
echo "alias bat='batcat'" >> ~/.bashrc
source ~/.bashrc
Utilisation :
# Afficher un fichier
bat fichier.js
# Afficher plusieurs fichiers
bat *.py
# Pipe depuis une autre commande
curl -s https://example.com | bat --language html
ripgrep - Le grep ultra-rapide #
Remplace : grep
Site officiel : github.com/BurntSushi/ripgrep
sudo apt install ripgrep
ripgrep (rg) est jusqu’à 10x plus rapide que grep et :
- Ignore automatiquement
.gitignore - Recherche récursive par défaut
- Supporte les expressions régulières
- Affichage coloré
Utilisation :
# Recherche simple
rg "fonction"
# Recherche dans un type de fichier
rg "error" -t py
# Insensible à la casse
rg -i "TODO"
# Avec contexte (3 lignes avant/après)
rg -C 3 "import"
fd - Le find simplifié #
Remplace : find
Site officiel : github.com/sharkdp/fd
sudo apt install fd-find
Alias nécessaire
Sur Debian/Ubuntu, la commande s’appelle fdfind :
echo "alias fd='fdfind'" >> ~/.bashrc
source ~/.bashrc
Utilisation :
# Rechercher un fichier
fd config
# Rechercher par extension
fd -e js
# Rechercher uniquement des dossiers
fd -t d node_modules
# Exécuter une commande sur les résultats
fd -e jpg -x convert {} {.}.png
zoxide - Navigation intelligente #
Remplace : cd
Site officiel : github.com/ajeetdsouza/zoxide
zoxide apprend de tes habitudes de navigation et te permet de sauter directement dans les répertoires fréquents.
Installation :
curl -sS https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | bash
Configuration (ajouter dans ~/.bashrc ou ~/.zshrc) :
eval "$(zoxide init bash)" # pour bash
# ou
eval "$(zoxide init zsh)" # pour zsh
Utilisation :
# Première visite classique
cd ~/projects/mon-projet
# Plus tard, tape simplement :
z mon-projet
# zoxide t'amène directement là !
# Lister les répertoires indexés
zoxide query -l
dust - Analyse d’espace disque moderne #
Remplace : du
Site officiel : github.com/bootandy/dust
cargo install du-dust
Utilisation :
# Analyser le répertoire courant
dust
# Analyser un répertoire spécifique
dust /var/log
# Limiter la profondeur
dust -d 2
duf - Le df moderne #
Remplace : df
Site officiel : github.com/muesli/duf
sudo apt install duf
Affiche l’espace disque avec un rendu moderne et coloré.
Utilisation :
duf
Productivité avancée #
fzf - Recherche floue interactive #
Site officiel : github.com/junegunn/fzf
sudo apt install fzf
# Ou installation complète avec keybindings
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install
fzf transforme ton workflow avec une recherche interactive ultra-rapide.
Utilisation :
Après installation, appuie sur CTRL + R pour rechercher dans l’historique des commandes de manière interactive !
# Ouvrir un fichier avec vim
vim $(fzf)
# Changer de répertoire interactivement
cd $(find . -type d | fzf)
# Changer de branche Git
git checkout $(git branch | fzf)
starship - Prompt moderne et rapide #
starship est un prompt shell ultra-rapide, personnalisable et compatible avec bash, zsh, fish…
Installation :
curl -sS https://starship.rs/install.sh | sh
Configuration (ajouter dans ~/.bashrc ou ~/.zshrc) :
eval "$(starship init bash)" # pour bash
# ou
eval "$(starship init zsh)" # pour zsh
Fonctionnalités :
- Affichage du statut Git
- Indication des versions (Node.js, Python, Rust, Go…)
- Durée d’exécution des commandes
- Thèmes personnalisables
tmux - Multiplexeur de terminal #
sudo apt install tmux
tmux permet de gérer plusieurs sessions terminal dans une seule fenêtre.
Commandes de base :
# Démarrer une session
tmux
# Session nommée
tmux new -s dev
# Lister les sessions
tmux ls
# Se rattacher
tmux attach -t dev
# Détacher : CTRL + B puis D
Raccourcis essentiels (préfixe CTRL + B) :
": diviser horizontalement%: diviser verticalementflèches: naviguer entre panneauxc: nouvelle fenêtren/p: fenêtre suivante/précédente
zellij - Le multiplexeur moderne #
Alternative à : tmux, screen
zellij est un multiplexeur de terminal nouvelle génération écrit en Rust, avec une interface beaucoup plus intuitive que tmux.
Avantages de zellij :
- Interface moderne et visuellement attractive
- Tutoriel intégré (pas besoin de mémoriser les raccourcis)
- Configuration en YAML simple
- Layouts prédéfinis
- Mode collaboration
- Pas besoin de préfixe compliqué comme tmux
Installation :
# Via cargo
cargo install --locked zellij
# Ou télécharger le binaire
wget https://github.com/zellij-org/zellij/releases/latest/download/zellij-x86_64-unknown-linux-musl.tar.gz
tar -xzf zellij-x86_64-unknown-linux-musl.tar.gz
sudo mv zellij /usr/local/bin/
Utilisation :
# Démarrer zellij
zellij
# Session nommée
zellij -s dev
# Se rattacher à une session
zellij attach dev
# Lister les sessions
zellij list-sessions
Raccourcis essentiels (affichés en bas de l’écran) :
Ctrl + p: mode panneauxn: nouveau panneaux: fermerflèches: naviguer
Ctrl + t: mode ongletsn: nouvel ongletr: renommer
Ctrl + o: mode sessionCtrl + q: quitter
Pourquoi choisir zellij ?
- Plus intuitif : les raccourcis sont affichés en permanence
- Plus moderne : interface en couleur, rendu fluide
- Plus simple : pas de fichier de config complexe comme tmux
- Layouts intelligents : redimensionnement automatique optimal
Configuration optionnelle (~/.config/zellij/config.yaml) :
default_layout: compact
theme: default
pane_frames: true
simplified_ui: false
zsh + Oh My Zsh #
# Installer zsh
sudo apt install zsh
# Définir comme shell par défaut
chsh -s $(which zsh)
# Installer Oh My Zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Plugins recommandés (éditer ~/.zshrc) :
plugins=(
git
zsh-autosuggestions
zsh-syntax-highlighting
docker
npm
sudo
history
)
Installer les plugins :
# zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
# zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
tldr - Pages man simplifiées #
sudo apt install tldr
# Mise à jour de la base
tldr --update
Utilisation :
# Exemples pour tar
tldr tar
# Exemples pour git
tldr git commit
Développement et DevOps #
Docker + Docker Compose #
Installation officielle :
# Nettoyer les anciennes versions
sudo apt remove docker docker-engine docker.io containerd runc
# Installer les dépendances
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release
# Ajouter la clé GPG Docker
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# Ajouter le dépôt
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Installer Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# Ajouter ton utilisateur au groupe docker
sudo usermod -aG docker $USER
newgrp docker
Vérification :
docker run hello-world
Commandes essentielles :
# Conteneurs
docker ps # Lister les conteneurs actifs
docker ps -a # Tous les conteneurs
docker stop <id> # Arrêter
docker rm <id> # Supprimer
# Images
docker images # Lister
docker pull nginx # Télécharger
docker rmi <id> # Supprimer
# Docker Compose
docker compose up -d
docker compose down
docker compose logs -f
lazygit - Interface Git TUI #
Site officiel : github.com/jesseduffield/lazygit
Installation :
LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | grep -Po '"tag_name": "v\K[^"]*')
curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/latest/download/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz"
tar xf lazygit.tar.gz lazygit
sudo install lazygit /usr/local/bin
rm lazygit.tar.gz lazygit
Utilisation :
# Dans un dépôt git
lazygit
Raccourcis clés :
espace: stage/unstagec: commitP: pushp: pull?: aide
GitHub CLI (gh) #
Site officiel : cli.github.com
Installation :
type -p curl >/dev/null || (sudo apt update && sudo apt install curl -y)
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
sudo apt update
sudo apt install gh
Authentification :
gh auth login
Commandes utiles :
gh pr create # Créer une PR
gh pr list # Lister les PR
gh repo clone user/repo
gh issue list
nvm - Node Version Manager #
Site officiel : github.com/nvm-sh/nvm
Installation :
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
Utilisation :
nvm install --lts # Dernière LTS
nvm install 20 # Version spécifique
nvm use 20
nvm alias default 20
pyenv - Python Version Manager #
Site officiel : github.com/pyenv/pyenv
Installation :
# Dépendances
sudo apt install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev \
libffi-dev liblzma-dev
# Installer pyenv
curl https://pyenv.run | bash
# Configuration
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc
Utilisation :
pyenv install 3.12
pyenv global 3.12
pyenv local 3.11 # Pour un projet spécifique
glow - Lecteur Markdown en terminal #
Site officiel : github.com/charmbracelet/glow
Installation :
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://repo.charm.sh/apt/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/charm.gpg
echo "deb [signed-by=/etc/apt/keyrings/charm.gpg] https://repo.charm.sh/apt/ * *" | sudo tee /etc/apt/sources.list.d/charm.list
sudo apt update
sudo apt install glow
Utilisation :
glow README.md
glow -p fichier.md # Mode pager
Administration serveur VPS #
Cette section est dédiée aux outils essentiels pour administrer un serveur VPS Debian/Ubuntu en 2025.
SSH - Connexion sécurisée #
# Client SSH
sudo apt install openssh-client
# Serveur SSH
sudo apt install openssh-server
Générer une clé SSH (méthode moderne 2025) :
# Ed25519 (recommandé)
ssh-keygen -t ed25519 -C "ton.email@example.com"
# RSA 4096 bits (pour compatibilité)
ssh-keygen -t rsa -b 4096 -C "ton.email@example.com"
Copier la clé sur le serveur :
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@serveur
Configuration SSH (~/.ssh/config) :
Host monvps
HostName 192.168.1.100
User ubuntu
Port 22
IdentityFile ~/.ssh/id_ed25519
Se connecter ensuite simplement avec :
ssh monvps
Guide complet SSH
ufw - Pare-feu simple et efficace #
Installation :
sudo apt install ufw
Configuration de base :
# Autoriser SSH AVANT d'activer
sudo ufw allow 22/tcp
# Autoriser HTTP/HTTPS
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# Activer le pare-feu
sudo ufw enable
# Voir le statut
sudo ufw status verbose
Attention
fail2ban - Protection anti-bruteforce #
Installation :
sudo apt install fail2ban
Configuration (/etc/fail2ban/jail.local) :
[DEFAULT]
bantime = 86400 # 24h
findtime = 600 # 10 min
maxretry = 3
[sshd]
enabled = true
port = 22
logpath = /var/log/auth.log
Démarrage :
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
# Vérifier
sudo fail2ban-client status sshd
nmap - Scanner réseau #
sudo apt install nmap
Utilisation :
# Scanner un hôte
nmap exemple.com
# Scanner un réseau
nmap 192.168.1.0/24
# Scan détaillé avec détection OS
sudo nmap -A exemple.com
# Scanner des ports spécifiques
nmap -p 22,80,443 exemple.com
netstat / ss - Connexions réseau #
sudo apt install net-tools
Utilisation :
# Voir toutes les connexions
netstat -tuln
# Avec ss (plus moderne)
ss -tuln
# Voir les processus
sudo netstat -tulnp
sudo ss -tulnp
ncdu - Analyseur d’espace disque interactif #
Site officiel : dev.yorhel.nl/ncdu
sudo apt install ncdu
Utilisation :
# Analyser le répertoire courant
ncdu
# Analyser /var/log
ncdu /var/log
Navigation : flèches, d pour supprimer, q pour quitter.
iotop - Moniteur d’I/O disque #
sudo apt install iotop
Utilisation :
sudo iotop
Affiche en temps réel les processus qui utilisent le disque.
lsof - Lister les fichiers ouverts #
sudo apt install lsof
Utilisation :
# Tous les fichiers ouverts
sudo lsof
# Fichiers ouverts sur un port
sudo lsof -i :80
# Fichiers ouverts par un processus
lsof -p <PID>
# Processus utilisant un fichier
lsof /var/log/syslog
unattended-upgrades - Mises à jour automatiques #
sudo apt install unattended-upgrades
Configuration :
sudo dpkg-reconfigure -plow unattended-upgrades
Active les mises à jour de sécurité automatiques.
logrotate - Rotation des logs #
Préinstallé sur Debian/Ubuntu. Configuration dans /etc/logrotate.d/.
Exemple de configuration personnalisée (/etc/logrotate.d/mon-app) :
/var/log/mon-app/*.log {
daily
rotate 7
compress
delaycompress
missingok
notifempty
}
rsync - Synchronisation de fichiers #
sudo apt install rsync
Utilisation :
# Copier localement
rsync -av source/ destination/
# Copier vers un serveur distant
rsync -avz --progress dossier/ user@serveur:/chemin/
# Sauvegarde avec exclusions
rsync -av --exclude='node_modules' projet/ backup/
nginx ou apache2 - Serveurs web #
Nginx (recommandé en 2025) :
sudo apt install nginx
sudo systemctl enable nginx
sudo systemctl start nginx
Apache2 :
sudo apt install apache2
sudo systemctl enable apache2
sudo systemctl start apache2
postgresql / mysql - Bases de données #
PostgreSQL (recommandé en 2025) :
sudo apt install postgresql postgresql-contrib
sudo systemctl enable postgresql
sudo systemctl start postgresql
MySQL/MariaDB :
sudo apt install mariadb-server
sudo mysql_secure_installation
Outils optionnels #
python3-pip #
sudo apt install python3-pip
eg - Exemples de commandes #
pip install eg
Utilisation :
eg tar
eg git
bash-completion #
sudo apt install bash-completion
Active l’autocomplétion des commandes avec TAB.
imagemagick (convert) #
sudo apt install imagemagick
Exemples :
# Redimensionner
convert image.jpg -resize 800x600 sortie.jpg
# Convertir
convert image.png image.jpg
# Rotation
convert image.jpg -rotate 90 sortie.jpg
pandoc - Conversion de documents #
sudo apt install pandoc
Exemples :
# Markdown vers HTML
pandoc fichier.md -o sortie.html
# Markdown vers PDF
pandoc fichier.md -o sortie.pdf
# Word vers Markdown
pandoc document.docx -o sortie.md
ffmpeg - Conversion vidéo/audio #
sudo apt install ffmpeg
Exemples :
# Convertir vidéo
ffmpeg -i video.avi video.mp4
# Extraire l'audio
ffmpeg -i video.mp4 audio.mp3
# Réduire la taille
ffmpeg -i input.mp4 -vcodec h264 -acodec aac output.mp4
gnome-tweaks - Personnalisation GNOME #
sudo apt install gnome-tweaks
Pour personnaliser l’environnement de bureau GNOME (Ubuntu Desktop).
Configuration recommandée #
Aliases utiles (~/.bashrc ou ~/.zshrc) #
# Navigation rapide
alias ..='cd ..'
alias ...='cd ../..'
alias ....='cd ../../..'
# Outils modernes
alias ls='eza --icons'
alias ll='eza -l --icons --git'
alias la='eza -la --icons --git'
alias lt='eza --tree --icons'
alias cat='batcat'
alias grep='rg'
alias find='fdfind'
# Git
alias gs='git status'
alias ga='git add'
alias gc='git commit'
alias gp='git push'
alias gl='git log --oneline --graph --decorate'
alias gd='git diff'
alias lg='lazygit'
# Docker
alias dps='docker ps'
alias dpa='docker ps -a'
alias di='docker images'
alias dc='docker compose'
alias dcu='docker compose up -d'
alias dcd='docker compose down'
alias dcl='docker compose logs -f'
# Système
alias update='sudo apt update && sudo apt upgrade -y'
alias cleanup='sudo apt autoremove -y && sudo apt autoclean'
alias ports='sudo netstat -tulanp'
# Utilitaires
alias myip='curl ifconfig.me'
alias weather='curl wttr.in'
alias speedtest='speedtest-cli'
Recharger la configuration :
source ~/.bashrc # ou ~/.zshrc
Configuration Git #
# Identité
git config --global user.name "Ton Nom"
git config --global user.email "ton.email@example.com"
# Éditeur
git config --global core.editor "vim"
# Alias
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
# Branche par défaut
git config --global init.defaultBranch main
# Couleurs
git config --global color.ui auto
Script d’installation complet #
Voici un script qui installe automatiquement la majorité des outils :
#!/bin/bash
echo "Installation des outils essentiels Debian 2025..."
# Mise à jour
sudo apt update
# Outils de base
echo "Installation des outils de base..."
sudo apt install -y \
neofetch vim git curl wget \
htop btop tree zip unzip \
bat ripgrep fd-find fzf \
tmux zsh tldr nmap \
ufw fail2ban net-tools ncdu \
translate-shell aspell aspell-fr \
shellcheck xclip rename most \
speedtest-cli lynx \
exfat-fuse exfat-utils
# Créer les alias nécessaires
echo "alias bat='batcat'" >> ~/.bashrc
echo "alias fd='fdfind'" >> ~/.bashrc
# Installer Rust (pour outils modernes)
if ! command -v cargo &> /dev/null; then
echo "Installation de Rust..."
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
source $HOME/.cargo/env
fi
# Installer eza
if ! command -v eza &> /dev/null; then
echo "Installation de eza..."
cargo install eza
fi
# Installer zoxide
if ! command -v zoxide &> /dev/null; then
echo "Installation de zoxide..."
curl -sS https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | bash
echo 'eval "$(zoxide init bash)"' >> ~/.bashrc
fi
# Installer starship
if ! command -v starship &> /dev/null; then
echo "Installation de starship..."
curl -sS https://starship.rs/install.sh | sh -s -- -y
echo 'eval "$(starship init bash)"' >> ~/.bashrc
fi
# Installer lazygit
if ! command -v lazygit &> /dev/null; then
echo "Installation de lazygit..."
LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | grep -Po '"tag_name": "v\K[^"]*')
curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/latest/download/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz"
tar xf lazygit.tar.gz lazygit
sudo install lazygit /usr/local/bin
rm lazygit.tar.gz lazygit
fi
# Installer GitHub CLI
if ! command -v gh &> /dev/null; then
echo "Installation de GitHub CLI..."
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
sudo apt update
sudo apt install gh -y
fi
# Installer nvm
if [ ! -d "$HOME/.nvm" ]; then
echo "Installation de nvm..."
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
fi
# Installer Oh My Zsh
if [ ! -d "$HOME/.oh-my-zsh" ]; then
echo "Installation de Oh My Zsh..."
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended
fi
# Mise à jour tldr
tldr --update
echo "Installation terminée !"
echo "Redémarre ton terminal ou tape : source ~/.bashrc"
echo ""
echo "N'oublie pas de configurer Git :"
echo " git config --global user.name \"Ton Nom\""
echo " git config --global user.email \"ton.email@example.com\""
Utilisation :
chmod +x install-tools.sh
./install-tools.sh
Conclusion #
Tu disposes maintenant d’un guide complet et actualisé pour 2025 des outils essentiels sous Debian/Ubuntu.
Les points clés à retenir : #
Les classiques restent pertinents : vim, git, curl, htop, fzf sont toujours incontournables
Les outils modernes apportent un vrai gain : eza, bat, ripgrep, btop offrent de meilleures performances et une meilleure expérience utilisateur
La productivité avant tout : zoxide, starship, tmux, zsh transforment ton workflow
Docker est devenu incontournable pour le développement et le déploiement
Sécurité VPS : ufw, fail2ban, SSH bien configuré sont essentiels
Automatisation : utilise le script d’installation pour gagner du temps
Prochaines étapes suggérées : #
- Installe le kit de base avec
apt - Teste les alternatives modernes (bat, eza, ripgrep)
- Configure tes aliases dans
~/.bashrcou~/.zshrc - Explore fzf et zoxide pour la navigation
- Si tu administres un VPS, sécurise-le avec ufw et fail2ban
Conseil
L’écosystème Linux évolue rapidement. Ces outils représentent le meilleur de 2025, mais reste à l’affût des nouvelles solutions qui émergeront dans les années à venir !
Articles connexes :
Catégories
Commentaires
Connexion via GitHub, gratuite et sans collecte de données par ce site.


