J'utilise Ubuntu depuis environ deux semaines et je suis toujours frustré par la simplicité des opérations sur les fichiers.
Je veux trouver un fichier appelé 9.jpg. Chaque commande interne et programme tiers que j'ai essayés me donne 99.jpg, 999.jpg, "lovepotion number9.jpg" et un zillion d'autres semblables.
Comment recherchez-vous un nom de fichier EXACT SANS caractères génériques?
Ce n'est que ma plus récente frustration. Il me manque évidemment quelque chose de fondamental. bon tutoriel n'importe où?
locate /9.jpg
Notez le /
- sans cela, vous trouverez juste tous les fichiers se terminant par 9.jpg
. Techniquement, il recherche les chemins de fichiers en tant que sous-chaîne sur tous les lecteurs, y compris 9.jpg.png
. Cela fonctionne donc mieux avec les fichiers portant une extension de fichier. Un fichier nommé log utilisant /log
vous montrera chaque fichier dans /var/log/
.
Comment recherchez-vous un nom de fichier EXACT SANS caractères génériques?
Pour rechercher un fichier exact sans caractère générique, utilisez la commande find
.
Ouvrir un terminal en appuyant sur Ctrl+Alt+T
Tapez la commande et appuyez sur Enter
find / -name 9.jpg
Si vous souhaitez rechercher uniquement dans votre dossier de départ, utilisez ~/
au lieu de /
et ainsi de suite. Remplacez /
par le nom du répertoire dans lequel vous souhaitez effectuer la recherche. Si vous souhaitez rechercher dans le répertoire en cours et dans tous les répertoires qui l’utilisent, utilisez ./
à la place de /
.
La recherche dans Nautilus (le gestionnaire de fichiers) est, de par sa conception, limitée à une simple option semblable à un caractère générique. Si vous avez besoin de quelque chose de plus sophistiqué, vous pouvez opter pour l'interface graphique ou la ligne de commande.
Interface graphique: installez le paquet gnome-search-tool, soit via le centre logiciel, soit en tapant
Sudo apt-get install gnome-search-tool
Exécutez-le (cela s'appelle "rechercher des fichiers"). Laissez l'entrée principale vide et ajoutez une option de recherche intitulée "Le nom correspond à l'expression régulière". Dans le nouveau champ de texte, tapez ^9.jpg
(le ^
au début correspond au début d'une chaîne dans une expression régulière).
En ce qui concerne la ligne de commande, l'utilitaire find
vous donnera la réponse précise:
find . -name '9.jpg'
Considérez ceci: fichiers "999.jpg" et "9.jpg" dans le répertoire t/
:
$ ls t
99.jpg 9.jpg
$ find . -name '9.jpg'
./t/9.jpg
$ find . -name '*9.jpg'
./t/99.jpg
./t/9.jpg
$
J'espère que c'est clair.