Jak wyszukać plik na całym dysku twardym?

Odpowiedzi:

157

Proste find / -type f -name ""byłoby załatwić sprawę, jeśli znasz dokładną nazwę pliku.

find / -type f -iname "filename*" jeśli chcesz dopasować więcej plików (zignoruj ​​wielkość liter).

Unikaj -typeopcji, jeśli chcesz wyszukiwać katalogi itp. Więcej informacji znajdziesz w instrukcji wyszukiwania. Aby zobaczyć instrukcję, wydaj polecenie:

man find

sagarchalizować
źródło
Cholera, byłem tylko kilka sekund wolniejszy: P Zmienię to, by pokazać polecenie lokalizacji.
Nitin Venkatesh
2
Spowoduje to również przeszukanie wszystkich zamontowanych urządzeń, które mogą chcieć po prostu wyszukać/mount/hddyouwanttosearch
Callum Rogers
Warto zauważyć, że wyszukiwanie jest bardzo powolne, w porównaniu do indeksowanego systemu wyszukiwania, takiego jak lokalizowanie (ale także bardziej wydajny)
tumbleweed,
48

Możesz także użyć locatedo wyszukiwania poleceń. Dlaczego ludzie używają funkcji lokalizowania, jeśli funkcja znalezienia działa? Ponieważ lokalizowanie jest znacznie szybsze niż znajdowanie, ponieważ przeszukuje bazę danych indeksowanych lokalizacji w celu znalezienia pliku / wyrażenia regularnego.

Przykłady:

locate some-file.avi przeszukuje bazy danych prawie każdego pliku na dysku w poszukiwaniu pliku o nazwie „some-file.avi”.

locate -i "some-file.avi" zignoruje wielkość szukanego pliku.

locate -i "*.txt" wyświetli listę lokalizacji wszystkich plików z rozszerzeniem **. txt * w twoim systemie.

man locate aby uzyskać więcej informacji o pliku.

Być może trzeba będzie uruchomić updatedbnajpierw, aby upewnić się, że baza danych indeksu jest aktualna, w przeciwnym razie polecenie „zlokalizuj” może nie zwrócić tego, czego szukasz.

Nitin Venkatesh
źródło
Pamiętaj, że updatedbnależy go uruchomić jako root.
Rafał Cieślak
5
to jest DROGA szybsze niż znalezienie \ święta krowa ... dzięki!
anon58192932
Jeśli updatedbdodaje /się do indeksu domyślnie, jak może być jeszcze szybszy niż find /?
Hashim,
14

Zacznij od kliknięcia ikony „Folder domowy” w programie uruchamiającym.

wprowadź opis zdjęcia tutaj

W oknie, które zostanie otwarte, kliknij „Wyszukaj”.

wprowadź opis zdjęcia tutaj

Wpisz w polu to, co chcesz wyszukać, a następnie naciśnij klawisz Enter. wprowadź opis zdjęcia tutaj

W menu rozwijanym lokalizacji wybierz dysk twardy, a następnie kliknij przycisk Załaduj ponownie.

wprowadź opis zdjęcia tutaj

Wyniki zostaną wyświetlone. Mam nadzieję, że to pomaga!

William
źródło
3
Mężczyzna, który o to zapytał, twierdzi, że używa serwera, więc nie ma GUI. Ale i tak to świetna odpowiedź!
Rafał Cieślak,
8

Jeśli szukasz ciągu wewnątrz pliku, możesz użyć grep. Oto przykładowe polecenie:

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

Znajdziesz to "some string"w /home/yourusernamekatalogu. Wyszukiwanie zignoruje case ( -i) i rekurencyjne katalogi ( -r). Możesz użyć /jako katalogu do przeszukiwania całego katalogu, ale może to nie być bardzo wydajne.

recluze
źródło
5

W Ubuntu wiem, że wszyscy chcą być dogmatyczni, jeśli chodzi o używanie wiersza poleceń przez cały czas, a ja byłem w przeszłości taki, ale uwielbiam narzędzie Gnome „Wyszukaj pliki ...”. Myślę, że to niesamowite.

djangofan
źródło
3
cóż, jestem na serwerze
Blankman
Powinieneś spróbować przeszukać KDE. Jest o wiele lepszy niż gnom. Nadal czekam, aż Nautilus dogoni wszechstronność systemu wyszukiwania KDE. Z tego powodu Dolphin / Konqueror są znacznie lepsze.
Luis Alvarado,
Tak, tak naprawdę myślałem o przejściu na Kubuntu. Rzucę na to okiem.
djangofan,
3

W przypadku konfiguracji pulpitu zainstaluj „narzędzie wyszukiwania gnome”
sudo apt-get install gnome-search-tool

Nie instaluj tego na serwerze, spowoduje to również zainstalowanie pakietu Ubuntu Desktop.
Dzięki @Rinzwind za zwrócenie na to uwagi.

Filtry zawierają:

  1. Wybierz folder, który chcesz przeszukać. W tym przypadku\
  2. Zawiera tekst - jest to nazwa pliku.
  3. Data modyfikacji - mniej lub więcej niż liczba dni.
  4. Rozmiar pliku - co najmniej lub co najwyżej określony rozmiar. Możesz także wyszukiwać puste pliki.
  5. Właściciel pliku - użytkownik, grupa lub nierozpoznany właściciel.
  6. Wyrażenia regularne - dopasowuje wyrażenia regularne.
  7. Możesz wybrać wyświetlanie ukrytych plików, podążanie za symbolicznymi linkami lub wykluczanie innych systemów plików.

wprowadź opis zdjęcia tutaj

Parto
źródło
@Rinzwind Pytanie brzmiało: Trying to locate a file, how can I search the entire hard drive for a file?Nigdzie nie ma „instalacji serwera” ...
Parto
@Rinzwind Hahah. Niezłe. Pozwól, że zredaguję moją odpowiedź i powiem, że dotyczy tylko konfiguracji na pulpicie.
Parto
mam w zamian głosowanie :)
Rinzwind
2

Jeśli nie chcesz pamiętać find(co jest bardzo potężnym) parametrów, które możesz zainstalować z oficjalnych repozytoriów:

  • kfind - narzędzie do wyszukiwania plików
  • gnome-search-tool - narzędzie GNOME do wyszukiwania plików
  • sum - narzędzie do wyszukiwania plików, które można konfigurować za pomocą wiersza poleceń

Trzy z nich są świetne, ale znalazłem kfind najlepszy.

Ze strony wiki Pomocy społeczności Ubuntu możesz znaleźć przydatne:

  • dpkg -L | --listfiles ... Wyświetla listę plików należących do pakietów.
  • dpkg -S | --search ... Znajdź pakiety posiadające pliki.
pabloab
źródło
1

Jeśli chcesz znaleźć zagnieżdżone w niektórych katalogach:

find / -type f -wholename "*foo/bar/filename"
Andrey
źródło