4 - Shell
Le paquet mlocate
Installer le paquet mlocate
# @client
sudo apt install locate
Mettez à jour la base de donnée associé avec la commande updatedb (une mise à jour automatique quotidienne et programmé par défaut)
# @client
sudo updatedb
Désormais, vous pouvez effectuer des recherches très rapides sur tout ou partie d'un nom de fichiers ou d'une adresse de fichier via la commande locate. Exemple :
# @client
locate bin/gnome-shell
/usr/bin/gnome-shell
/usr/bin/gnome-shell-extension-prefs
/usr/bin/gnome-shell-extension-tool
/usr/bin/gnome-shell-perf-tool
locate gnome-shell/README
/usr/share/doc/chrome-gnome-shell/README.Debian
/usr/share/doc/chrome-gnome-shell/README.md
/usr/share/doc/gnome-shell/README
En utilisant locate et wc trouvez le nombre de fichier html présent sur le système ou encore le nombre de librairie (*.so.*). Attention, vous devez exécuter locate avec sudo pour qu'il liste aussi les fichiers réservés à root (au cas où...).
En vous référent à la page de manuel de locate (man locate) expliquer le résultat de la commande :
# @client
locate -A bin config printer
find
Bien que beaucoup plus lente, la commande find permet d'effectuer des recherches beaucoup plus fine que locate. Vous pouvez préciser :
- le type de fichier à rechercher
- -type f - fichier
- -type d - dossier
- -type l - lien symbolique
- (...)
- tout ou partie du nom
- -name nom - s'appel nom
- -name *nom - se termine par nom
- -iname *nom* - commence par, se termine par ou contient nom ou Nom ou NOM (insensible à la case)
- la date de modification du/des fichier(s)
- -mtime +3 - dernière modification il y a plus de 3×24h
- un traitement à appliquer au(x) fichier(s)
- -exec rm {} \; - efface les fichiers trouvés
Exemple:
# @client
touch nimportequoi.bla
find . -type f -name "*ortequoi*" -print -delete
find . -type l -exec ls -l {} \;
