La commande Find permet d'explorer rapidement un répertoire pour y rechercher les fichiers qu'il renferme, par exemple find *.bmp -print(le résultat vous affichera tous les fichiers *.bmp dans le répertoire courant).
Donnons un exemple :integ@ubuntu:$~ find . -name titi -print.
Nota: En général on recherche rarement un fichier depuis la racine, la recherche serait trop longue et trop compliquée à exploiter.
Voici une explication de la commande tapée ci-dessous.
Commande | Option |
---|---|
. | Indique que nous voulons chercher à partir du répertoire courant. |
- name | c'est l'option qui indique que nous voulons spécifier le nom d'un fichier. |
Demande à la commande find d'afficher le résultat. Le nombre d'options concernant la commande find est impressionnante, comme d'habitude il vous suffit de taper la commande "man find" pour avoir toutes les infos nécessaires. |
Le nombre d'options concernant la commande find est impressionnante, comme d'habitude il vous suffit de taper la commande man find pour avoir toutes les infos nécessaires.
Options | Explications |
---|---|
- type | permet d'indiquer le type de fichier que l'on recherche Exemple : integ@ubuntu:$~ find /usr -type d -name bin -print.(Le d signifie directory) |
- exec ou ok | Permet d'exécuter 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. Exemple: integ@ubuntu:$~ find -name 'tit*' -print -ok rm{}\; |
Demande à la commande find d'afficher le résultat. Le nombre d'options concernant la commande find est impressionnante, comme d'habitude il vous suffit de taper la commande "man find" pour avoir toutes les infos nécessaires. Dans l'option -exec, la paire d'accolades se substitue aux fichiers trouvés, et \ lié au point virgule forme une séquence d'échappement... |
La commande locate a la même mission que la commande find, pourtant vous verrez qu'en utilisant la commande locate, le fichier sera trouvé plus rapidement, la raison est simple, locate ne va pas chercher le fichier dans toute l'arborescence du disque dur, mais va localiser la position du fichier dans une base de données qui contient la liste de tous les fichiers, cette base de données est mise à jour tous les jours grâce à la commande updatedb.
Nota: pour mettre à jour la base de données, vous devez vous loguer en mode root afin de taper la commande # updatedb.
Voici un exemple de commande pour locate : integ@ubuntu:$~ $locate "nom du fichier".
La commande which permet de connaître le chemin d'un exécutable, exemple integ@ubuntu:$~ $which rm, le résultat affiché sera:
integ@ubuntu:$~ $/bin/rm
Nota: en tapant la commande suivante (ls –lisa), vous trouverez toutes les informations nécessaires à votre fichier.
La commande grep permet de trouver des mots ou pattern dans un ou plusieurs fichiers.
Exemple: integ@ubuntu:$~ cat toto.txt | grep "bonjour", (cette commande permet de rechercher le mot "bonjour" dans le fichier toto.txt).
Voici ses options:
Options | Explications |
---|---|
- n | Permet de connaître le numéro de ligne |
-c | Donne le nombre de fois où l'expression rationnelle a été rencontré dans le fichier |
- i | Ne prends pas en compte la casse (majuscule, minuscule, la recherche sera la même). |
- l | N'affiche que les noms des fichiers contenant ce que l'on cherche. |
La commande tail est tout simplement inévitable, elle permet d'afficher les dernières lignes d'un fichier. Jusque là on pourrait se dire qu'après tout il suffit d'éditer le fichier et de se déplacer à la fin, d'une part c'est une méthode fastidieuse mais d'autre part, l'option -f va définitivement vous convaincre de l'utiliser:
Exemple: integ@ubuntu:$~ tail -n5 "nomdufichier"(affiche les 5 dernières lignes du fichier)
L'option -f demande à la commande tail de ne pas s'arrêter lorsqu'elle a affiché les dernières lignes du fichier au fur et à mesure que celui-ci grossit jusqu'à ce que l'utilisateur interrompt la commande avec la combinaison de touches d'interruption CTRL-C.
La commande head réalise la même chose que tail mais elle affiche les premières lignes du fichier au lieu d'afficher les dernières.
Exemple: integ@ubuntu:$~ head -n5 "nomdufichier"(affiche les 5 premières lignes du fichier)
Par défaut, tail et head affichent 10 lignes.Pour finir, voici une vidéo ou je résume quelques commandes sur la manipulation de fichiers et de répertoires.