68a256f3c43b19024fdba265
68a25811c43b19024fdba266

Simplifiez vous la vie sur Linux : Skel & .Bashrc

Oxelya
19 août 2025
0 vues
0 commentaires
0.0/5 (0 votes)

Apprendre à utiliser le /etc/skel et le .bashrc sur linux pour simplifier son environnement de travail Linux.

Simplifiez vous la vie sur Linux : Skel & .Bashrc

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.

Noter cet article
Donnez votre avis sur cet article
Connectez-vous pour noter

Commentaires (0)

Connectez-vous pour ajouter un commentaire

Aucun commentaire pour le moment. Soyez le premier à commenter !