Chcete-li se zbavit chyb oprávnění (a podobně), můžete stderr přesměrovat nikam
find / -name "something" 2>/dev/null
"Bohužel se zdá, že to kontroluje pouze aktuální adresář, nikoli celou složku." Pravděpodobně myslíte, že se nehledá v podadresářích. Chcete-li to opravit, použijte find -name "filename"
Pokud příslušný soubor není v aktuálním pracovním adresáři, můžete prohledat celý počítač pomocí
find / -name "filename"
Funguje to také s věcmi jako find / -name "*.pdf"
, atd. Někdy to rád vložím také do příkazu grep (protože alespoň na mém počítači zvýrazňuje výsledky), takže skončím s něčím jako
find / -name "*star*wars*" | grep star
Provedení této nebo podobné metody mi pomůže okamžitě najít název souboru a rozpoznat, zda je to skutečně soubor, který hledám.
find
příkaz bude trvat dlouho, nejrychlejší způsob hledání souboru je pomocí locate
příkaz, který hledá názvy souborů (a cestu) v indexované databázi (aktualizované příkazem updatedb
).
Výsledek se okamžitě objeví jednoduchým příkazem:
locate {file-name-or-path}
Pokud příkaz není nalezen, musíte nainstalovat mlocate
zabalte a spusťte updatedb
pro první přípravu vyhledávací databáze.
Více podrobností zde:https://medium.com/@thucnc/the-fastest-way-to-find-files-by-filename-mlocate-locate-commands-55bf40b297ab
Pokud potřebujete najít vnořené v některých adresářích:
find / -type f -wholename "*dirname/filename"
Nebo připojené adresáře:
find / -type d -wholename "*foo/bar"