Il m’arrive souvent de devoir convertir un timestamp unix en une date lisible par un être humain normal. Dans la plupart des langages de programmation moderne, c’est quelque chose de facile. Il existe aussi des convertisseurs sur le web. Seulement, c’est plus rapide de faire ça en shell :
date -d "1970-01-01 GMT+2 + 1220367600 seconds"
->
mardi 2 [...]
Dans vim, j’avais besoin d’ajouter dans mon buffer la liste des fichiers du répertoire courant. Facile :
:r! ls
En fait, r ! < commande > insère avant le curseur le résultat de la commande < commande > exécutée dans un shell.
:r < fichier > permet d’insérer le contenu du fichier < fichier > sous le curseur. Ça [...]
Parfois, en ligne de commande, on aime bien changer de répertoire provisoirement, avant de revenir là ou on était.
cd /chemin/vers/mon/repertoire
<quelques commandes>
cd /chemin/vers/un/autre/repertoire/
<une_commande>
cd /chemin/vers/mon/repertoire
Fastidieux et peu pratique. Il est bien sur possible d’utiliser la variable $OLDPWD, qui mémorise le répertoire précédent :
cd /chemin/vers/mon/repertoire
<quelques commandes>
cd /chemin/vers/un/autre/repertoire/
<une_commande>
cd $OLDPWD
Mais cette méthode est loin d’être optimale. Nous allons plutôt utiliser les [...]
Voici quelques astuces inestimables pour les amateurs de ligne de commande :
!!
# retape la dernière commande
vi /etc/passwd
# oups, avec les droits root :
sudo !!
!*
# retape la dernière commande à partir du deuxième mot :
bi toto #oups, raté
vi !* # c’est mieux comme ça
!n
# Rappelle la commande n
# La liste des commandes est accessible via la commande
history
!string
# [...]
Il arrive qu’on veuille ajouter des droits d’exécution pour tous les sous-répertoires d’une arborescence. La commande naïve :
chmod -R a+x <chemin>
présente un problème : elle ajoute également les droits d’exécution à tous les fichiers plats. Pour éviter cela, on utilisera plutôt :
chmod -R a+X <chemin>
Le X majuscule n’ajoute le droit d’exécution qu’aux fichiers qui ont déjà ce droit [...]