Auteur/autrice : starmate

21 juin 2018 /

On peut transformer une chaîne de caractère en majuscule ou en minuscule, sans passer par la commande « tr », en passant par une variable.

1. Déclarer la variable avec la chaîne
nom="Linux c'est TROP bien"
2. Afficher la variable en majuscules
echo ${nom^^}
3. Afficher la variable en minuscules
echo ${nom,,}
Explications et variantes utiles

  • ^^ : transforme toute la chaîne en majuscules.
  • ,, : transforme toute la chaîne en minuscules.
  • ^ : ne met en majuscule que le premier caractère.
  • , : ne met en minuscule que le premier caractère.

 

4 juin 2018 /
1. Sauvegarder les fichiers de plus de 180 jours dans une archive compressée
find . -mtime +180 -print0 | xargs -0 tar -zcf ../backup_04-06-2018.tar.gz
ou
find . -mtime +180 -print0 | xargs -0 tar -zcf "../backup_$(date +%d-%m-%Y).tar.gz"
Explication :

  • find . -mtime +180 : trouve les fichiers modifiés il y a plus de 180 jours.
  • -print0 + xargs -0 : gère correctement les noms de fichiers avec espaces, apostrophes, caractères spéciaux (très sûr).
  • tar -zcf ../backup_…tar.gz : crée l’archive gzip directement à partir de la liste fournie par xargs (sans passer par un fichier temporaire).
2. Compter le nombre de fichiers sauvegardés
find . -mtime +180 -exec ls -1 {} + | wc -l
Explication :

  • Liste les fichiers concernés (un par ligne avec ls -1).
  • wc -l compte les lignes → nombre de fichiers.

Variante plus précise (sans ls) :

find . -mtime +180 -print | wc -l
3. Supprimer les fichiers après sauvegarde
find . -mtime +180 -exec rm {} +
Explication :

  • -exec rm {} + : supprime les fichiers trouvés de façon efficace (regroupe les arguments autant que possible).

Attention maximale : cette commande est irréversible. Toujours tester d’abord avec -ls ou -print avant de passer à -exec rm.

Séquence complète:
# 1. Création de l'archive (adapte le chemin et le nom)
find . -mtime +180 -print0 | xargs -0 tar -zcf "../backup_$(date +%d-%m-%Y).tar.gz"

# 2. Vérification du nombre de fichiers concernés
find . -mtime +180 -print | wc -l

# 3. Suppression (À EXÉCUTER UNIQUEMENT APRÈS VÉRIFICATION !)
find . -mtime +180 -exec rm {} +

 

9 mai 2018 /
1. Ignorer certaines commandes dans l’historique
echo 'HISTIGNORE="&:[ ]*:[ls]:*:exit:pwd:clear:history"' >> ~/.bashrc

Amélioration :

  • Utilise ~/.bashrc au lieu de ~/.profile (plus adapté pour les variables Bash interactives).
  • Ajoute [ ]* pour ignorer aussi les commandes commençant par des espaces (redondant avec ignorespace, mais explicite).
  • Guillemets simples pour éviter les problèmes d’échappement.
  • Le signe « & » permet d’éviter d’enregistrer deux commandes successives identiques.
Résultat : ne sauvegarde jamais ls, ps aux, exit, pwd, clear, history, ni les doublons consécutifs (&).
2. Ignorer les commandes commençant par espace + supprimer tous les doublons
echo 'HISTCONTROL=ignorespace:ignoredups:erasedups' >> ~/.bashrc

Explication et amélioration :

  • ignorespace : commande précédée d’un espace ne sera pas enregistrée.
  • ignoredups : ignore les doublons consécutifs.
  • erasedups : supprime tous les doublons dans l’historique (même non consécutifs) pour un historique ultra-propre.

Les trois combinés sont parfaits pour un historique clair et confidentiel.

3. Afficher la date et l’heure avec history:
echo 'HISTTIMEFORMAT="[%a %d %b %Y %T] "' >> ~/.bashrc
 1001  [mar 16 déc 2025 14:32:10] ls -la
 1002  [mar 16 déc 2025 14:35:22] sudo apt update
Très lisible : jour de la semaine, date, mois, année, heure complète.
4. Augmenter fortement la taille de l’historique:
echo 'HISTSIZE=100000' >> ~/.bashrc
echo 'HISTFILESIZE=100000' >> ~/.bashrc

Recommandation raisonnable :

  • 500 000 est énorme (fichier ~/.bash_history de plusieurs Mo).
  • 100 000 est déjà excellent pour un usage intensif (plusieurs années de commandes).
  • Si tu veux vraiment tout garder : 500000 reste acceptable sur un disque moderne.

Bonus très utile, forcer la synchronisation immédiate de l’historique (pour ne rien perdre en cas de crash ou plusieurs sessions) :

echo 'shopt -s histappend' >> ~/.bashrc
echo 'PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"' >> ~/.bashrc
  • histappend : ajoute à la fin du fichier au lieu d’écraser.
  • PROMPT_COMMAND : écrit immédiatement chaque commande dans le fichier et recharge l’historique partagé entre toutes les sessions.
Ajoute ce bloc unique pour tout faire d’un coup :
vi ~/.bashrc
# Historique Bash amélioré
HISTCONTROL=ignorespace:ignoredups:erasedups
HISTIGNORE="&:[ ]*:[ls]:*:exit:pwd:clear:history"
HISTTIMEFORMAT="[%a %d %b %Y %T] "
HISTSIZE=100000
HISTFILESIZE=100000
shopt -s histappend
PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"

Appliquer immédiatement:

source ~/.bashrc
3 mai 2018 /

Voici comment faire un petit dock à partir de la barre de lanceurs (Unity Launcher sous 16.04) qui ressemble à ça:

1. Installation de dconf-tools (nécessaire pour gsettings)
sudo apt install -y dconf-tools
Note :
Sur les versions récentes d’Ubuntu (22.04+), le paquet s’appelle plutôt dconf-cli ou est déjà installé avec GNOME.

Alternative plus précise :
sudo apt install -y dconf-cli

 

2. Personnalisation du Dock (Dash-to-Dock)
gsettings set org.gnome.shell.extensions.dash-to-dock extend-height false
gsettings set org.gnome.shell.extensions.dash-to-dock dock-position BOTTOM
gsettings set org.gnome.shell.extensions.dash-to-dock transparency-mode FIXED
gsettings set org.gnome.shell.extensions.dash-to-dock dash-max-icon-size 30
gsettings set org.gnome.shell.extensions.dash-to-dock unity-backlit-items true
Explication des options :

  • extend-height false : le dock n’occupe pas toute la hauteur de l’écran (plus compact).
  • dock-position BOTTOM : place le dock en bas (comme sous Windows/macOS).
  • transparency-mode FIXED : transparence fixe (pas dynamique selon le fond).
  • dash-max-icon-size 30 : taille des icônes réduite à 30 px (plus discret).
  • unity-backlit-items true : effet de rétro-éclairage sur les applications actives (style Unity).

Pour que les changements prennent effet immédiatement, redémarre GNOME Shell : Alt+F2, taper r, Entrée (ou déconnexion/reconnexion).

On peut également en profiter pour masquer automatiquement le dock et ainsi profiter pleinement de son écran

3. Revenir aux valeurs par défaut
gsettings reset org.gnome.shell.extensions.dash-to-dock extend-height
gsettings reset org.gnome.shell.extensions.dash-to-dock dock-position
gsettings reset org.gnome.shell.extensions.dash-to-dock transparency-mode
gsettings reset org.gnome.shell.extensions.dash-to-dock dash-max-icon-size
gsettings reset org.gnome.shell.extensions.dash-to-dock unity-backlit-items

Alternative plus rapide pour mettre Dash-to-Dock aux valeurs par défaut:

gsettings reset-recursively org.gnome.shell.extensions.dash-to-dock

 

 

3 mai 2018 /
1. Mise à jour complète d’Ubuntu 16.04
sudo apt update && sudo apt dist-upgrade && sudo apt autoremove
2. Installation de update-manager-core (si pas déjà présent)
sudo apt-get install update-manager-core

On vérifie dans le fichier du gestionnaire de mise à jour (/etc/update-manager/release-upgrades) que le paramètre prompt est bien positionné sur « lts » (Prompt=lts)
Si ce n’est pas le cas, changez-le en lts et enregistrez le fichier.

4. Lancement de la mise à niveau vers 18.04 LTS
sudo do-release-upgrade -d