- Accueil
- Info légales
- Aide (FAQ)
- Les tags de ce site
- Bloc note
- Articles techniques
- Notes system
- Divers articles
- Drupal
- Notes ITIL 2007
- Notes MS
- Dans le quartier...
- Emploi
- Recettes de cuisine et adresses gourmandes
- mes applis ubuntu préferées
- Divers acronymes du monde social
- Internet 2018
- P2 meublé à louer - quartier du Poteau 75018
- apcos - réseaux sociaux et outils
- Articles techniques
- Divers liens
- Fun
- Mon CV IT
- Nouveautés
commande find et rechercher des fichiers
Aller directement à find - grep - dpkg (paquets) - recoll
rechercher des fichiers
source Rechercher des fichiers en ligne de commande
find - la recherche systématique
a accès à toute l'arbo - attention aux délais.
grep - rechercher dans le texte
si formats proches du format texte (txt, rtf, abw)
locate/mlocate - avec base de donnée
Que vous ayez l'un ou l'autre de ces paquets, ou les deux paquets installés,les commandes en console et les fichiers de configuration restent les mêmes.
Utilisent une base de données indexées listant tous les répertoires et fichiers du champ concerné située à /var/lib/mlocate/mlocate.db
-
mlocate ajoute un horodatage qui accélére significativement la ré-indexation.
-
mlocate respecte les droits utilisateurs pour des raisons de sécurité (pas d'info sur /root par exemple pour user).
Par défaut (/etc/updatedb.conf à modifier sinon, champ "PRUNEPATH") recherche sur / sauf dossiers sous /media et certains fichiers temporaires. L'espace de recherche peut inclure d'autres systèmes de fichiers (Fat32, reiserfs, etc.) pourvu qu'ils soient montés - par exemple sur /mnt (et non /media) + maj chaque jour.
sudo updatedb maj db
locate bidule affichera alors tous les chemins incluant le mot bidule
trop de résultats?
Faire par ex locate icon | less ou locate icon | grep firefox | less
les commandes en détails (man, syntaxe)
find [chemin...] [expression]
Le 1er argument commençant par `-', `(', `)', `,', ou `!' est considéré comme le début de l'expression, tous les arguments précédents sont des chemins à parcourir. Tous les arguments ultérieurs sont considérés comme le reste de l'expression rationnelle. de point de départ. Si aucune expression n'est fournie, find utilise l'expression `-print' par défaut.
find se termine avec le code de retour 0 si tous les fichiers ont pu être examinés correctement, et supérieur à 0 si une erreur s'est produite.
L'expression est constituée d'options (affectant l'ensemble des opérations plutôt que le traitement d'un fichier particulier, et renvoyant toujours vrai), de tests (renvoyant une valeur vraie ou fausse), et d'actions (ayant des effets de bords et renvoyant une valeur vraie ou fausse), tous ces éléments étant séparés par des opérateurs. Quand un opérateur est manquant, l'opération par défaut -and est appliquée. Si l'expression ne contient pas d'action autre que -prune, find applique l'action -print par défaut sur tous les fichiers pour lesquels l'expression est vraie.
options
Toutes les options renvoient toujours la valeur vraie. Elles ont toujours un effet global, plutôt que de s'appliquer uniquement à leur emplacement dans l'expression.
ex: -daystart -depth (traite d'abord les sous-répertoires avant le répertoire lui-même) -help -maxdepth n
tests (arguments numériques)
+n sup à n -amin n dernier accès au fichier il y a n minutes.
-n inf à n
n =n -mmin n Fichier dont les données ont été modifiées il y a n minutes.
-maxdepth n Descendre au plus n niveaux (n étant un entier positif ou nul), dans les répertoires parcourus. `-maxdepth 0' signifie que les tests et les actions ne s'appliquent qu'aux arguments de la ligne de commande.*
-mount (ou -xdev) Ne pas parcourir les répertoires situés sur d'autres systèmes de fichiers.
-path motif Fichier dont le nom complet correspond au motif fourni. Lors du développement des méta-caractères, `/' et `.' ne sont pas traités différemment des autres caractères, ainsi : find . -path './sr*sc' affichera l'élément de répertoire intitulé './src/misc' (s'il en existe un).
Pour ignorer une arborescence complète de répertoires, utilisez l'option -prune plutôt que de vérifier chaque fichier de l'arbre. Par exemple, pour ignorer le répertoire `src/emacs' et tous ses sous-répertoires, tout en affichant le nom de tous les autres fichiers:
find . -path './src/emacs' -prune -o -print
-perm -mode Fichier ayant au moins toutes les autorisations indiquées dans le mode.
-perm +mode Fichier ayant certaines des autorisations indiquées dans le mode.
actions
- -exec commande Exécute la commande ; vrai si le code de retour 0 est renvoyé.
- -ls exécute la commande ls à chaque fichier trouvé
- -fprint fichier
-
vrai ; écrit le nom complet dans le fichier. Si fichier n'existe pas au démarrage de find, il est créé. S'il existe, il est écrasé.
Les noms de fichiers ``/dev/stdout'' et ``/dev/stderr'' (sortie standard et sortie des erreurs) sont traités de manière spécifique. - -fprint0 fichier vrai ; comme -print0 mais écrit dans le fichier comme le fait -fprint.
- -fprintf fichier format vrai ; comme -printf mais écrit dans le fichier comme le fait -fprint.
- -ok commande ;
- comme -exec mais interroge d'abord l'utilisateur (en utilisant l'entrée standard). Si la réponse ne commence pas par `y' ou `Y', la commande n'est pas exécutée, et le test devient faux.
Opérateurs fréquents
-
-a : Opérateur ET
-
-o : Opérateur OU
-
! ou -not : Opérateur NOT
Options les plus fréquentes :
-
-name : Recherche d'un fichier par son nom
-
-iname : Même chose que -name mais insensible à la casse
-
-type : Recherche de fichier d'un certain type
-
-atime : Recherche par date de dernier accès
-
-mtime : Recherche par date de dernière modification
-
-link : Recherche du nombre de liens au fichier
-
-user : Recherche de fichiers appartenant à l'utilisateur donné
-
-group : Recherche de fichiers appartenant au groupe donné
voir aussi locate, slocate (avec index, et sans regarder proprio et perm, qui ne sont pas enregistré ds cet index) et qu'on maj par updatedb
Exemples
find -name *monfichier*.ogg | Recherche un fichier contenant "monfichier" et ayant pour extention ".ogg" |
find . -name "*.c" | tous les fichiers ayant une extension .c |
find . -mtime -5 | fichiers du répertoire courant qui ont été modifiés entre maintenant et il y a 5 jours |
find /home/ -mtime -1 \! -type d |
uniquement les fichiers ! -type d signifie pas un répertoire ayant été modifiés ces dernières 24h |
find . ! -user root | tous les fichiers n'appartenant pas à l'utilisateur root |
find . \( -name '*.wmv' -o -name '*.wma' \) -exec rm {} \; | Recherche et supprime tous les fichiers WMA et WMV trouvés |
find . \( -type f -exec sudo chmod 664 "{}" \; \) , \( -type d -exec sudo chmod 775 "{}" \; \) | Modifie récursivement les droits en 664 sur les fichiers et en 775 sur les répertoires en une seule instruction |
grep
Options les plus fréquentes :
-
-c : Retourne le nombre de lignes au lieu des lignes elles mêmes
-
-n : Retourne les lignes préfixées par leur numéro
-
-i : Insensible à la casse
-
-r : Recherche récursivement dans tous les sous-répertoires ; On peut utiliser la commande rgrep
-
-G : Recherche en utilisant une expression rationnelle basique (option par défaut)
-
-E : Recherche en utilisant une expression rationnelle étendue ; On peut utiliser la commande egrep
-
-F : Recherche en utilisant une chaîne fixe ; On peut utiliser la commande fgrep
Ex: grep -n montexte monfichier retourne toutes les lignes ainsi que leur numéro où montexte apparait dans monfichier
autres types de recherches
dans le packages
dpkg -L bidule paquets Debian. bidule ne doit pas comporter de *
aptitude search chaine_de_carac aptitude = APT renvoie la liste des paquets contenant la chaîne de caractère chaine_de_carac dans leur nom
La ou les lettres renvoyées en début de ligne signifient :
- i le paquet est installé et toutes ses dépendances sont satisfaites
- c le paquet a été supprimé mais ses fichiers de configuration sont toujours présents sur le système
- p le paquet et tous ses fichiers de configuration ont été supprimés, ou le paquet n'a jamais été installé
- v le paquet est virtuel
- B le paquet a des dépendances cassées
- A le paquet a été automatiquement installé Décrivez votre nouvelle note ici.
Plus à http://doc.ubuntu-fr.org/aptitude et http://algebraicthunk.net/~dburrows/projects/aptitude/doc/fr/index.html
interface graphique (fichiers, emails...)
recoll http://doc.ubuntu-fr.org/recherche_de_fichiers