Comment rechercher un fichier dans tout le disque dur?

Réponses:

157

Un simple find / -type f -name ""ferait l'affaire si vous connaissez le nom de fichier exact.

find / -type f -iname "filename*" si vous voulez faire correspondre plus de fichiers (ignorer la casse).

Évitez cette -typeoption si vous souhaitez rechercher des répertoires, etc. Consultez le manuel de find pour plus d'informations. Pour voir le manuel, lancez la commande:

man find

Sagarchalise
la source
Dang, je suis juste plus lent de quelques secondes: P le modifiera pour afficher la commande de localisation.
Nitin Venkatesh
2
Cela permettra également de rechercher tous les appareils montés ainsi, peut vouloir simplement rechercher/mount/hddyouwanttosearch
Callum Rogers
Il est à noter que la recherche est vraiment lente, comparée à un système de recherche indexé, tel que localiser (mais aussi plus puissant)
tumbleweed
49

Vous pouvez également utiliser locatepour rechercher des commandes. Pourquoi les gens utilisent localiser si trouver fait le travail? Parce que find est beaucoup plus rapide que find car il ne fait que rechercher dans la ou les bases de données des emplacements indexés pour trouver votre fichier / regex.

Exemples:

locate some-file.avi recherche dans la ou les bases de données de presque tous les fichiers du disque un fichier appelé "some-file.avi".

locate -i "some-file.avi" ignorera la casse du fichier que vous recherchez.

locate -i "*.txt" affichera une liste des emplacements de tous les fichiers avec l’extension **. txt * sur votre système.

man locate pour plus d'informations sur le fichier.

Vous devrez peut-être exécuter d' updatedbabord pour vous assurer que la base de données d'index est à jour, sinon, 'local' pourrait ne pas retourner ce que vous cherchez.

Nitin Venkatesh
la source
Notez que cela updatedbdoit être exécuté en tant que root.
Rafał Cieślak
5
c'est beaucoup plus rapide que trouver \ vache sacrée ... merci!
anon58192932
Si updatedbajoute /à l'index par défaut, comment peut-il encore être plus rapide que find /?
Hashim
14

Commencez par cliquer sur l'icône "Dossier personnel" dans le lanceur.

entrez la description de l'image ici

Dans la fenêtre qui s'ouvre, cliquez sur "Rechercher".

entrez la description de l'image ici

Tapez ce que vous voulez rechercher dans la case, puis appuyez sur entrée. entrez la description de l'image ici

Sous le menu déroulant pour l'emplacement, choisissez votre disque dur, puis cliquez sur recharger.

entrez la description de l'image ici

Les résultats seront alors affichés. J'espère que ça t'as aidé!

William
la source
3
L'homme qui l'a demandé déclare qu'il utilise un serveur, donc il n'y a pas d'interface graphique. Mais c'est quand même une bonne réponse!
Rafał Cieślak
8

Si vous cherchez une chaîne dans un fichier, vous pouvez utiliser grep. Voici un exemple de commande:

grep -r -i "some string" /home/yourusername

Cela trouvera "some string"dans le /home/yourusernamerépertoire. La recherche ignorera les -irépertoires case ( ) et recurse ( -r). Vous pouvez utiliser /comme répertoire pour rechercher dans tout le répertoire, mais cela pourrait ne pas être très efficace.

recluze
la source
5

Sur Ubuntu, je sais que tout le monde veut être dogmatique sur l'utilisation de la ligne de commande tout le temps, et j'ai déjà été dans le passé, mais j'adore l'outil "Rechercher des fichiers ..." de Gnome. Je pense que c'est génial.

djangofan
la source
3
Eh bien, je suis sur un serveur
Blankman
Vous devriez alors essayer la recherche KDE. C'est beaucoup mieux que celui du gnome. J'attends toujours que Nautilus rattrape la polyvalence du système de recherche KDE. Dolphin / Konqueror sont bien meilleurs à cause de cela.
Luis Alvarado
Oui, je pensais en fait à passer à Kubuntu. Je vais y jeter un coup d'oeil.
djangofan
3

Pour une installation sur le bureau, installez "gnome-search-tool"
sudo apt-get install gnome-search-tool

N'installez pas ceci sur un serveur, il installera également le paquet ubuntu desktop.
Merci à @Rinzwind de l'avoir signalé.

Filtres inclus:

  1. Choisissez le dossier que vous souhaitez rechercher. Dans ce cas\
  2. Contient le texte - c'est le nom du fichier.
  3. Date de modification - moins ou plus que le nombre de jours.
  4. Taille du fichier - au moins ou au plus une taille spécifiée. Vous pouvez également rechercher des fichiers vides.
  5. Propriétaire du fichier - utilisateur, groupe ou propriétaire non reconnu.
  6. Expressions régulières - correspond aux expressions régulières.
  7. Vous pouvez choisir d'afficher les fichiers cachés, de suivre les liens symboliques ou d'exclure d'autres systèmes de fichiers.

entrez la description de l'image ici

Parto
la source
@Rinzwind La question était Trying to locate a file, how can I search the entire hard drive for a file?Il n'y a pas de 'installation de serveur' nulle part ...
Parto
@Rinzwind Hahah. Joli. Permettez-moi d'éditer ma réponse et de dire que c'est uniquement pour une configuration de bureau.
Parto
avoir un vote positif en retour :)
Rinzwind 27/02/2014
2

Si vous ne voulez pas vous rappeler find(ce qui est très puissant), vous pouvez installer des paramètres à partir de dépôts officiels:

  • kfind - utilitaire de recherche de fichiers
  • gnome-search-tool - Outil GNOME pour rechercher des fichiers
  • silure - Outil de recherche de fichier configurable via la ligne de commande

Les trois d'entre eux sont super, mais j'ai trouvé kfind le meilleur.

Sur le wiki d'aide de la communauté Ubuntu, vous pourriez trouver utile:

  • dpkg -L | --listfiles ... Liste les fichiers "possédés" par paquet (s).
  • dpkg -S | --search ... Trouver les paquetages possédant le (s) fichier (s).
pabloab
la source
1

Si besoin de trouver imbriqué dans certains répertoires:

find / -type f -wholename "*foo/bar/filename"
Andrey
la source