informatique télécharger logiciel gratuit jeu pc gratuit jeu flash gratuit

Forum - chat - échantillons gratuits - cadeau gratuit - réduction et bon d'achat - voyage pas cher séjour

Rubriques Documentation Linux

grattage gratuit
loterie gratuite
casino gratuit
quizz gratuit
pari gratuit
jeu de pronostic
tirage au sort
jeux de hasard
tombola gratuite
jeux en flash
jeu en réseau
jeu de stratégie
jeux TV
multi jeux
concours gratuit

find
La commande find permet de trouver ( localiser ) un fichier . Cette commande recherche les fichiers remplissant certaines conditions, en commençant par le répertoire indiqué ou le répertoire courant. Les conditions peuvent porter sur le nom du fichier, le propriétaire ou la date de création ou de modification. Plus les critères sont précis et plus la recherche sera efficace.

La commande find utilise la syntaxe suivante
:
find répertoire options
Les options permettent de déterminer les critères de recherche. Pour trouver tous les fichiers de votre répertoire personnel dont le nom se termine par la lettre x, tapez : find ~/ -name '*x' -print

Les options :
+n supérieur a n,
-n inférieur a n,
n égal a n.
-amin n dernier acces au fichier il y a n minutes.
-atime n dernier acces au fichier il y a n*24 heures.
-cmin n derniere modification du statut du fichier il y a n minutes.
-ctime n derniere modification du statut du fichier il y a n*24 heures.
-gid n Fichier de GID numerique valant n.
-group nom_groupe fichier appartenant au groupe nom_groupe (eventuellement ID numerique).
-iregex motif identique a -regex, mais sans differencier les majuscules et les
minuscules
-mmin n Fichier dont les donnees ont ete modifiees il y a n minutes.
-mtime n Fichier dont les donnees ont ete modifiees il y a n*24 heures.
-perm mode
Fichier dont les autorisations d'acces sont fixees exactement au
mode indique (en notation symbolique ou octale). La notation
symbolique utilise le mode 0 comme point de depart.

-perm -mode
Fichier ayant au moins toutes les autorisations indiquees dans le mode.

-perm +mode
Fichier ayant certaines des autorisations indiquees dans le mode.

-regex motif
Nom de fichier correspondant a l'expression rationnelle motif.
Il s'agit d'une correspondance sur le nom de fichier complet, pas d'une recherche. Par exemple, pour mettre en correspondance un fichier nomme `./fubar3', vous pouvez utiliser les expres sions rationnelles `.*bar.' ou `.*b.*3', mais pas `b.*r3'.

-size n[bckw]
Fichier utilisant n unites d'espace. Les unites sont des blocs de 512 octets par defaut (ou si un suffixe `b' suit le nombre n), des octets si un suffixe `c' suit n, des kilo-octets si un suffixe `k' est utilise, ou des mots de 2 octets si un `w' suit le nombre n. La taille ne prend pas en compte les blocs indirects, mais elle comptabilise les blocs des fichiers eparpilles pas encore alloués.
-type c
Fichier du type c :

b fichier special en mode bloc (avec tampon)
c fichier special en mode caractere (sans tampon)
d repertoire
p tube nomme (FIFO)
f fichier regulier
l liens symbolique
s socket
D door (Solaris)
-uid n Fichier dont l'U-ID numerique vaut n.
-uid n Fichier dont l'U-ID numerique vaut n.
-used n
fichier dont le dernier acces date de n jours apres la dernière modification de son statut.

-user utilisateur fichier appartenant a l'utilisateur indique (U-ID numerique
eventuellement)

-xtype c
comme -type sauf si le fichier est un lien symbolique. Dans ce cas, si l'option -follow n'a pas ete fournie, le test est vrai si le fichier destination du lien est de type c ; si l'option
-follow a ete reclamee, le test est vrai si c vaut `l'. Autrement dit, pour les liens symboliques, -xtype verifie le type des fichiers que l'option -type ne verifie pas.

Significaion des options utilisées :
~/ Indique que la recherche doit commencer au niveau supérieur de votre répertoire personnel. ~ indique votre répertoire personnel et / le niveau supérieur.
-name '*x' Indique que le critère porte sur le nom. Un métacaractère est utilisé ici pour spécifier "toute chaîne de caractères terminée par la lettre x. Les chaînes de caractères doivent être placées entre guillemets.
-print indique que le résultat de la commande doit être affiché à l'écran.

Exemples :
find / -user nom_utilisateur -ls retrouver tous les fichiers d'un utilisateur sur un système, même si l'utilisateur n'existe plus.

find / -name '*' | xargs grep -l Linux il cherchera de manière recursive dans tous les répertoire du disque, les fichiers contenant le texte Linux.

~Pour indiquer que la recherche se fait dans votre répertoire courant.
[cr@localhost cr]$ find ~ -name fichier*
/home/cr/Documents/fichier1.txt
/home/cr/Documents/fichier2.txt
/home/cr/Documents/fichier3.txt
/home/cr/Documents/fichier3sed.txt
/home/cr/perl/fichier
/home/cr/perl/fichier.txt
/home/cr/linux/fichier
/home/cr/linux/fichier.txt
[cr@localhost cr]$

[cr@localhost cr]$ find -name fichier*
./Documents/fichier1.txt
./Documents/fichier2.txt
./Documents/fichier3.txt
./Documents/fichier3sed.txt
./perl/fichier
./perl/fichier.txt
./linux/fichier
./linux/fichier.txt
[cr@localhost cr]$

[cr@localhost cr]$ pwd
/home/cr

Recherche dans le répertoire les fichiers fichier*. La commande `pwd` est interpréter, elle donne /home/cr.Ici c'est comme si vous aviez fait :
find `pwd` -name fichier* équivalent à find /home/cr -name fichier*
[cr@localhost cr]$ find `pwd` -name fichier*
/home/cr/Documents/fichier1.txt
/home/cr/Documents/fichier2.txt
/home/cr/Documents/fichier3.txt
/home/cr/Documents/fichier3sed.txt
/home/cr/perl/fichier
/home/cr/perl/fichier.txt
/home/cr/linux/fichier
/home/cr/linux/fichier.txt
[cr@localhost cr]$

Trouver les fichiers n'ayant pas été modifiés depuis au moins une semaine :
[cr@localhost cr]$ find ~/Documents/*.gz -mtime +7 -print
/home/cr/Documents/eieio-0.16.tar.gz
/home/cr/Documents/elib-1.0.tar.gz
/home/cr/Documents/jde-latest.tar.gz
/home/cr/Documents/phorum-3.4.4.tar.gz
/home/cr/Documents/php-quizz-css.tar.gz
/home/cr/Documents/semantic-1.3.3.tar.gz
/home/cr/Documents/Smarty-2.5.0.tar.gz
/home/cr/Documents/Smarty-2.6.0-docs.tar.gz
/home/cr/Documents/Smarty-2.6.0-RC3.tar.gz
/home/cr/Documents/speedbar-0.13a.tar.gz
/home/cr/Documents/VTK-4.2-LatestRelease.tar.gz


Copier tous les fichiers commençant par 'a' dans /tmp :
find / -name "a*" -exec cp -rf {} /tmp\; -print

Effacer les fichiers de suffixe gif :
find / -name "*~" -exec rm -f {} \;
[cr@localhost Documents]$ find -name ~/*.gif -exec rm -f {} \;
[cr@localhost Documents]$ find ~/Documents -name *.gif -exec rm -f {} \;


Remarque : faire man find dans une fenêtre xterm , pour avoir toutes les options. Vous pouvez utilisez la commande locate

Copyright © 2004 par Rachid CHOUCHI pour fichepratique.com