updatedb

Rechercher un fichier sous GNU-Linux, la commande FIND, et autre

Il peut faire peur (find), alors que l'outil est fantastique, et finalement assez simple !

De base sous GNU/Linux, vous disposez de plusieurs outils pour retrouver des fichiers ou programmes. On connait "whereis" qui permet de trouver l'emplacement d'un programme, son source si présent, et le manuel associé, par exemple :

[bash]whereis whois[/bash]

Mais ceci ne permet pas de chercher des fichiers spécifiques. Vous disposez ensuite de "locate" qui permet de chercher dans la liste des fichiers indexés par "updatedb" (mlocate), dont les chemins sont configurés généralement dans /etc/updatedb.conf, exemple :

[bash]locate mon_fichier.txt[/bash]

Si des fichiers contenant la chaine dans leurs noms sont indéxés alors ils apparaîtront. Si vous voulez effectuer la recherche sur la base la plus récente possible, il suffit de mettre à jour en lançant la commande à la main :
[bash]sudo updatedb[/bash]
(peut prendre du temps si votre disque contient beaucoup de fichiers !)

Mais revenons au sujet qui nous interesse, la commande find. Jusqu'ici  nous avons vu des outils de recherche limités, ou conditionné par une indexation. La commande find permet de lancer une recherche n'importe où, plus ou moins approfondie.

Par exemple, je veux chercher dans le dossier courant tous les fichiers et dossiers contenant "tableau", voici la commande :
[bash]find ./ -name ‘*tableau*'[/bash]
Voilà qui est fait !

Si je ne suis pas dans le dossier qui m'interesse, je peux aussi lancer la recherche comme ceci :
[bash]find /home/user/ -name ‘*tableau*'[/bash]

Très simple non ?
Allons un peu plus loin, je veux maintenant chercher tous les fichiers finissant par .php qui contiennent la chaine "Content-Transfer-Encoding: 8bit" :
[bash]find ./ -name ‘*.php’|xargs grep "Content-Transfer-Encoding: 8bit"[/bash]

Ca peut être très utile !

Autre exemple avec find et la commande associée, je souhaite trouver tous les dossiers vides, et les supprimer :
[bash]find ./ -depth -type d -empty -exec rmdir {} \;[/bash]
ou simplement chercher tous les dossiers vides (ici dans le home de user) :
[bash]find /home/user/ -empty -type d[/bash]

Autre possibilité, trouver les fichiers uniquement contenus dans un seul et même dossier, et n'afficher QUE le nom du fichier sans les "slash" autour :
[bash]find /home/user/dossier/ -maxdepth 1 -type f -exec /bin/basename {} \;[/bash]

On va finir ce post avec deux autres exemples bien utiles à mon sens, dabord compter le nombre de fichiers dans une arborescence en combinant la commande avec wc:
[bash]find ./ -type f|wc -l[/bash]
et enfin, la possibilité de chercher par date, avec par exemple, tous les fichiers modifiés il y a 2 jours :
[bash]find /home/user/ -mtime 2 -type f[/bash]
ou tous mes fichiers modifiés ce jour :
[bash]find $HOME -mtime 0[/bash]

Voilààà! pour plus d'info : man find
En espérant que ça puisse vous être utile.

Loading

Tags: , , , , , , , ,

samedi, octobre 9th, 2010 GNU - Linux, Technologie 2 Comments
Not f'd — you won't find me on Facebook
décembre 2024
L M M J V S D
 1
2345678
9101112131415
16171819202122
23242526272829
3031  
 

 
Suivez moi sur twitter - follow me on twitter
 
Follow on LinkedIn
[FSF Associate Member]
 
Free Software, Free Society
VIRTUALISATION :
Compacter une image virtualbox VDI
Bon petit tutoriel esxi
Marche d'appliances vmware
Installer ESXi sur un disque IDE
Installer ESXi 3.5 sur un disque USB
Installer proxmox avec DRBD et migration / réplication à chaud
Installer OSSEC avec VMware
Information sur le VDI
SECURITE - FIREWALL :
Ouvrir des ports dynamiquement iptables - knockd
Autre tres bon tuto knockd
Docs Arp poisoning - Anglais
Metasploit test de pénétration
Zone H - sites piratés en temps réel
Blog invisible things
Tips protection sécurité wordpress
Pfsense - distribution firewall opensource - adsl internet failover
Iproute 2 mini how to - linux advanced routing
ClearOS - la passerelle sécuritaire lan - wan
HAUTE DISPONIBILITE :
CDN - Accélération de la distribution de données
drbd iscsi ocfs2 dm multipath tutoriel
Load balancing LVS
Load balancing opensource list
HA-Proxy :
HAproxy - http load balancer
Simple tutoriel HAproxy
HAproxy - debian tutoriel
Centos - Ip failover
Configuratoin DM-Multipath Redhat
VMware Doubletake - continuité
Quelques liens sur la réplication MySQL : Manuel MySQL, chapitre sur la réplication
Manuel MySQL, Tutoriel clair sur la mise en place
Autre tuto sur la mise en place de la réplication MySQL
Références pour optimisation du serveur MySQL
Utilisation de EXPLAIN mysql pour optimiser vos bases
optimiser vos bases - requetes et index
STOCKAGE RESEAU :
Un outil de clonage disque en reseau
Internet NAS 250Go 250 accès VPN
Server ISCSI avec Ubuntu tuto
ISCSI centos redhat tutoriel
Gérer et étendre un LVM
Créer sa piratebox ! trop cool
Deaddrops, les clés USB dans les murs, aussi cool !
OPTIMISATION WORDPRESS :
Télécharger Xenu
Comment utiliser Xenu
optimisation hébergement wordpress
Super howto wordpress (En)
Test de charge serveur web - Load impact
VPN - ROUTEUR - LAN:
Zeroshell - le mini-routeur wifi tout en un
Retroshare, votre réseau d'échange crypté!
Openvpn sur centos redhat
Intégrer Linux dans active directory
Routage inter-vlan avec Linux
Routage avec OSPF
Network Weathermap
TENDANCES - WEB:
Boutons twitter
Analyser les tendances des recherches Google
Protocole sitemap - robots.txt
Creer des animations CSS3
Code php pour interagir avec twitter
E reputation
Jquery
TRUCS ET ASTUCES GNU/LINUX :
Tuxmachines.org - Actus et tips linux
Configurer GRUB2 et grub2 ici
Panoet - en anglais - tips & tricks
Readylines tips and trick pertinents
Squid Clamav - proxy antivirus
Apprendre Unix en 10 minutes
13 tips sur les expressions régulières
IE Sous linux IES
LDAP 2.4 Quickstart guide
Tutoriel LDAP
Installation annuaire LDAP
Serveur Mail Postfix - Dovecot - LDAP - MDS
Créer un linux personnalisé en ligne - custom linux
Super site sur linux - en
Capistrano - déploiement automatisé
MONITORING :
Nagios tutoriel et doc
Nagios plugin NRPE tuto
Nagios plugin NRPE autre tuto
Nagios plugin NRPE officiel
Zabbix - fonctionnalités
Zabbix - installation
Guide MRTGsys - grapher la charge locale
MRTGsys - ajouter des graphs
MRTGsys - interpréter les données
Shinken - Monitoring
Thruk Monitoring webinterface
Shinken - Tutoriel
Shinken - Référence chez Nicolargo
AUTRES LIENS :
RemixJobs IT jobs
USB Multiboot
Reset mot de passe windows
Java python et autres tips, intéressant !
Forum inforeseau
Open Clipart
Excellent comic en ligne
Inforeseau.fr