J'ai besoin d'intimité. Non pas parce que mes actions sont douteuses, mais parce que votre jugement et vos intentions le sont.
5124 links
find
, locate
, which
)Exemple simple: comment trouver un fichier portant un nom donné ? find /home -name linux-test2
"/home"
indique que nous voulons chercher à partir du répertoire « /home »
"-name"
indique que nous voulons trouver un fichier portant un nom donné.
Pour chercher tous les fichiers commençant par "linux-tes" et définir à partir de quel répertoire on souhaite effectuer la recherche, on utilise cette syntaxe: find /home/delcros -name 'linux-tes*'
Le nombre d'options de find est impressionnant. En voici quelques-unes:
-type
Indique le type de fichier que l'on recherche. Si vous cherchez seulement un répertoire vous pourrez utilisez cette option ainsi: find /usr -type d
.... Ici, on demande à find
de trouver des répertoires, et non des fichiers, grâce à l'option -type d
(penser à directory, qui signifie répertoire)
-exec
Exécute une commande sur les fichiers trouvés.
La différence entre -exec
et -ok
est que la deuxième vous demandera pour chaque fichier trouvé si vous souhaitez réellement réaliser l'opération:
find -name 'linux-tes*' -print -ok rm {} \;
./linux-test
rm ... ./linux-test ? y
Avec l'option -exec
la paire d'accolades indique l'endroit où se trouvera, lors de l'invocation de la commande, le nom du fichier trouvé. L'anti-slash lié au point virgule forme une séquence d'échappemment.
La commande locate
a la même mission que find
mais explore une base de données qui contient la liste des fichiers et répertoires. Cette base de données est en général automatiquement mise à jour quotidiennement par le système.
La syntaxe est: locate nom_du_fichier
.
Bien que la commande locate
soit très intéressante, elle ne possède pas la puissance des options de find
. De plus, si vous créez des fichiers pendant la journée elle ne les trouvera pas avant mise à jour de sa base de données (le lendemain).
La commande grep
est un pivot des commandes UNIX. Elle cherche une expression régulière dans un ou plusieurs fichiers. Exemple: grep fouille linux-commande.html
cherche les lignes contenant le mot "fouille" dans le fichier nommé « linux-commande.html ».
L'option -n
produira le numéro de chaque ligne contenant un résultat. Une autre option très utile est -l
qui permet de n'afficher que les noms des fichiers contenant ce que l'on cherche.