Simplifiez vous la vie sur Linux : Skel & .Bashrc
Apprendre à utiliser le /etc/skel et le .bashrc sur linux pour simplifier son environnement de travail Linux.

Introduction
Salut, aujourd’hui je vais te montrer tout ce qu’il faut savoir sur le fameux fichier .zshrc (ou son équivalent .bashrc). Rien de compliqué, promis.
Le fichier
.zshrc
(pour Zsh) ou.bashrc
(pour Bash) est exécuté automatiquement à chaque ouverture d’un terminal. Il sert à définir des alias, des variables d’environnement, des fonctions et pas mal d’autres réglages perso. En gros, il personnalise ton shell à chaque lancement. Faut juste connaître un minimum Bash, mais rien d’insurmontable, tu vas voir.
Utilisation
Normalement, ce fichier est relu à chaque fois qu’un nouveau terminal s’ouvre. Par contre, si tu modifies son contenu, il faut relancer la config avec la commande
source .zshrc
ou
source .bashrc
Organisation
Comme dit plus haut, le .zshrc permet de gérer plein de choses pratiques dans ton terminal, par exemple :
- Les alias de commandes
- Les fonctions personnalisées
- La coloration syntaxique
- L’affichage de l’heure
- Un historique mieux géré
- Etc.
Une bonne habitude consiste à séparer ta configuration dans plusieurs fichiers dédiés :
-
.zsh_aliases
pour les alias -
.zsh_functions
pour les fonctions avancées -
.zsh_colors
pour les couleurs - etc.
Le répertoire Skel
Petit aparté : /etc/skel
contient les fichiers par défaut copiés dans le home d’un nouvel utilisateur lors de sa création (avec useradd
). Modifier le .bashrc
ou .zshrc
présent ici peut être utile si tu crées souvent des comptes utilisateurs.
Modifier le fichier
Le fichier de configuration se trouve dans ton home :
cd ~
nano .zshrc
La plupart du temps, tu n’as pas besoin de tout changer. Tu peux juste rajouter tes lignes persos.
Exemple pour créer un fichier dédié aux alias :
nano ~/.zsh_aliases
bash
# Alias de navigation rapide
alias ..='cd ..'
alias ...='cd ../..'
alias ....='cd ../../..'
alias ~='cd ~'
alias c='clear'
# Alias système
alias reload='source ~/.zshrc' # Recharge la config
alias ls='ls --color=auto'
alias ll='ls -lhF'
alias la='ls -A'
alias l='ls -CF'
alias df='df -h'
alias du='du -h'
alias free='free -h'
# Gestion des paquets
alias update='sudo apt update && sudo apt upgrade -y'
alias install='sudo apt install'
alias remove='sudo apt remove'
# Raccourcis pratiques
alias please='sudo'
alias h='history'
alias grep='grep --color=auto'
# Dev
alias v='nvim'
alias code='code .'
alias pyserve='python3 -m http.server'
alias jserve='npm run dev'
# Git
alias gs='git status'
alias ga='git add .'
alias gc='git commit -m'
alias gp='git push'
alias gl='git log --oneline --graph --decorate'
alias gco='git checkout'
alias gb='git branch'
alias gd='git diff'
# Réseau
alias ip='ip -c -br a'
alias ports='ss -tuln'
alias myip='curl ifconfig.me'
# Reload
alias zshreload='source ~/.zshrc && echo "✅ zsh reloaded"'
Ensuite tu peux te faire un fichier pour tes fonctions :
nano ~/.zsh_functions
bash
# Extraction rapide
def extract() {
if [ -f "$1" ]; then
case "$1" in
*.tar.bz2) tar xjf "$1" ;;
*.tar.gz) tar xzf "$1" ;;
*.bz2) bunzip2 "$1" ;;
*.rar) unrar x "$1" ;;
*.gz) gunzip "$1" ;;
*.tar) tar xf "$1" ;;
*.tbz2) tar xjf "$1" ;;
*.tgz) tar xzf "$1" ;;
*.zip) unzip "$1" ;;
*.Z) uncompress "$1" ;;
*.7z) 7z x "$1" ;;
*) echo "Format non reconnu" ;;
esac
else
echo "Fichier invalide"
fi
}
# Créer + entrer dans un dossier
mkcd() {
mkdir -p "$1" && cd "$1"
}
# Chronométrer une commande
timer() {
local start=$(date +%s)
"$@"
local end=$(date +%s)
echo "⏱️ Temps écoulé : $((end - start))s"
}
# Ping rapide
fastping() {
ping -c 5 -i 0.2 "$1"
}
# Nettoyage dépendances
cleanup() {
sudo apt autoremove --purge -y && sudo apt autoclean && sudo apt clean
}
# Rechercher dans l'historique
hgrep() {
builtin history -E 1 | grep "$1"
}
# Tuer un processus facilement
pkkill() {
ps aux | grep "$1" | grep -v grep
echo -n "PID à tuer ? "
read pid
kill -9 $pid && echo "Process $pid terminé."
}
# Afficher le PATH
showpath() {
echo $PATH | tr ':' '\n'
}
# Relancer une commande de l'historique
runcmd() {
local cmd=$(builtin history -E 1 | grep "$1" | tail -n 1 | sed 's/ *[0-9]* *//')
if [[ -n "$cmd" ]]; then
echo "→ $cmd"
eval "$cmd"
else
echo "❌ Aucun résultat"
fi
}
# Aller dans un dossier rapidement
go() {
cd "$(find . -type d -name "$1" 2>/dev/null | head -n 1)" || echo "📁 Aucun dossier trouvé"
}
# Nettoyage fichiers inutiles
cleanup() {
echo "🧹 Suppression des fichiers inutiles..."
find . -name "*.DS_Store" -delete
find . -name "*.pyc" -delete
find . -name "__pycache__" -type d -exec rm -r {} +
echo "✔️ Nettoyage terminé."
}
Pour activer automatiquement ces fichiers dans ton .zshrc
:
echo -e "\nsource ~/.zsh_functions\nsource ~/.zsh_aliases" >> ~/.zshrc
Conclusion
Voilà, tu viens de simplifier ton quotidien sous Linux en 5 minutes avec un peu de configuration. Ça demande un petit temps d’adaptation, mais au final c’est un vrai gain de confort.
Commentaires (0)
Aucun commentaire pour le moment. Soyez le premier à commenter !
Articles précédents

Le SEO BlackHat c'est quoi ?
Comprendre le SEO c'est bien, comprendre toutes les variantes c'est mieux, notamment celle du BlackHat ou SEO BH

Elevation de Privilège sur Linux
Découvrez comment les hackers élèvent leur privilèges sur les systèmes Linux pour devenir root.

Elevation de Privilege sur Windows
Découvrez comment les hackers élèvent leur privilège sur Windows, ayant des droits Admin voir Système
Articles suivants

Powershell et $PROFILE sur Windows
Découvrez l'alternative du .bashrc de Linux, pour Windows cette fois-ci afin de vous faciliter la vie.

Faites des campagnes SMS avec Twilio
Utilisez Twilio pour automatiser l'envoi de vos SMS avec une facilité déconcertante.

Automatisez l'Envoi de vos E-Mails Quasi Gratuitement
Automatiser l'envoi des email via Node.js avec le module nodemailer. Ca va demander quelques connaissances de bases mais rien d'effrayant.