Supposons que vous ayez beaucoup de fichiers sur un disque dur ou un serveur de fichiers avec une arborescence de dossiers profonde, complexe et que vous ne vous souveniez plus exactement de son emplacement. Même avec un bon gestionnaire de fichiers graphique comme l'explorateur Windows retrouver et ouvrir le document que vous cherchez va requérir beaucoup de temps, d'autant que l'Indexation et la recherche par mot clé sur des systèmes d'exploitation comme Microsoft Windows ne sont pas toujours très convaincants.
Voici une commande qui pourrait vous aider. A vous ensuite d'en créer d'autre ou de l'adapter à vos besoins.
Prérequis
Au préalable
Ouvrez un émulateur de terminal :
Touche "Super" sous GNOME, saisir "term" puis appuyez sur entrée.
Créer un fichier texte dans u sous dossier
mkdir -p ~/dossier/et/sous/dossier
echo "test" > ~/dossier/et/sous/dossier/monfichier.txt
Mettez à jour l'index des fichiers de votre système
sudo updatedb
Normalement cette indexation devrait se faire régulièrement sinon la paramétrer avec cron
Définissez quelques associations par défaut pour types de fichiers
Tant qu'à faire avec le fichier que l'on vient de créer
mimeopen -d monfichier.txt
Choisir :
"2) Other"
Et saisir avant de valider :
/usr/bin/nano
S'il retourne un message d'erreur la pemière fois, créer le dossier qui va contenir le fichier de configuration de mimeopen
{.is-warning}
Création de l'alias
alias ouvre='mimeopen -n "$( ls "$(locate * | fzf -i -e)" )"'
Utilisation de l'alias
C'est le plus compliqué ! 😅
Saisir et valider :
ouvre
Puis saisir simplement un(des) bout(s) de nom(s) de dossier(s) et/ou de fichier(s) avec un espace pour les séparer.
Par exemple, si vous ne vous souvenez plus du nom complet du dossier et du fichier :
ossier fichi
Faites votre choix avec les flèches ⬆ et ⬇ du clavier.
... magique 🤩
Vous pourriez rendre le processus encore plus performant en créant la base d'indexation en mémoire vive dans l'espace utilisateur plutôt que sur le SSD (ou pire le disque dur). Pour cela vous devrez utiliser l'option -o de updatedb
sudo updatedb -o /chemin/de/l/index
et lors de la recherche avec la commande locate, l'option -d
alias ouvre='mimeopen -n "$( ls "$(locate -d /chemin/de/l/index * | fzf -i -e)" )"'
Rendre permanent l'alias
Il faut ajouter la création de l'alias au fichier .bashrc
echo $'alias ouvre=\'mimeopen "$( ls "$(locate * | fzf -i -e)" )"\'' >> .bashrc