Nyní bude tento článek co nejjednodušší a přímočarý. Cílem je pomoci vám porozumět čistým základům vyhledávání v Linuxu. Kromě toho použijeme několik vyhledávacích nástrojů, které nám pomohou s tímto úkolem.
- Jak vyhledávat pomocí příkazu find
-> Hledat konkrétní rozšíření
-> Hledat v podsložkách
-> Hledat podle vlastníka
-> Hledat podle oprávnění souboru - Jak vyhledávat pomocí příkazu locate
-> Jak nainstalovat locate
-> Hledat soubor
-> Hledat podle přesných kritérií - Jak vyhledávat pomocí nástroje potvrzení
-> Základní použití
-> Zjistěte, kolik souborů obsahuje řetězec
-> Hledat vzor
-> Získejte podrobné informace o řetězci
-> Hledat podle rozšíření - Bonusové vyhledávací nástroje
- Video s příklady
První metoda hledání je s příkazem Najít:
Pomocí příkazu find můžete ve složce hledat soubory s konkrétními příponami. Například najdeme všechny naše soubory, které obsahují .html v našem domovském adresáři:
# How to find files with specific extensions using the find command
cd /home/userprofile/
find -name "*.html"
Code language: PHP (php)
Nyní předpokládejme, že v tomto adresáři máme několik .html dokumentů, výstup bude něco takového:

Pokud jsme ale ve složce /home můžeme požádat find o vyhledání názvu nebo přípony v podsložkách, jako v tomto příkladu:
# Search with find in subfolders
find /home -name index.html
Code language: PHP (php)
Příkaz find prohledá všechny podsložky v adresáři /home a najde všechny soubory s názvem index.html:

Další skvělý způsob vyhledávání pomocí funkce Najít je vlastníka a může být velmi užitečné, když potřebujete najít všechny soubory pro konkrétního uživatele, jako v následujícím příkladu:
# Find files who belong to
find / -user sonik 2> /dev/null
Code language: PHP (php)

Tento je nyní velmi dobrý v tomto dalším například budeme hledat soubory se specifickými oprávněními jako 777
# Search for files with permissions
find /home/sonik -perm 777
Code language: PHP (php)

Druhá metoda vyhledávání bude používat příkaz Locate
Vyhledat instalaci
Ve výchozím nastavení nemusí být locate nainstalováno ve vaší distribuci, takže v závislosti na vaší distribuci je nutné jej nainstalovat. V tomto příkladu jej nainstalujeme do Ubuntu Linux takto:
# Install locate in Ubuntu 21.04 Linux
sudo apt-install locate
#update locate db
sudo updatedb
Code language: CSS (css)
Locate má několik alternativ, jako je mlocate a umístit , ale my použijeme lokalizaci, protože je nejoblíbenější.
Vyhledat soubor pomocí locate
Nyní locate bude hledat v celém systému Linux a nejběžnějším a základním hledáním pomocí locate je pouze locate + název vyhledávání souborů jako v tomto příkladu
# Search for a file with locate
locate filename
Code language: PHP (php)

Hledat pouze přesně zadané kritéria
Pokud chcete najít všechny soubory nebo adresáře, které obsahují přesně a pouze vaše kritéria vyhledávání, použijte -b
pomocí příkazu locate, jako v tomto příkladu:
# Search for exactly only specified criteria
locate -b '\mydata'
Code language: PHP (php)

Třetí metoda je s nástrojem Ack
Jak nainstalovat?
Nyní musí být ack nainstalován ve vaší distribuci, takže zde je návod, jak to udělat.
Jak používat ack?
Pokud použijete ack pouze napsáním ack „text“, příkaz bude fungovat perfektně, ale může vám poskytnout mnohem více výkonu. Zde je několik příkladů:
01 – Základní použití
# Basic usage
ack string-to-search
# Example:
cd /var/lib
ack name
Code language: PHP (php)

02 – Chcete-li zjistit, kolik souborů obsahuje řetězec, který hledají pomocí
# Find how many files contain string
ack -f | wc -l
# Output
2331
Code language: PHP (php)
03 – Pro hledání příkladů našeho vzoru ohraničeného hranicemi slov použijte -w
# Surrounded by
ack -w string-to-search
Code language: PHP (php)

04 – Použijte -c získáte podrobné informace o hledaném řetězci
# Detailed information about string
ack -c string-tosearch
# Output
Doxyfile:8
Makefile:2
uncrustify.cfg:1
.travis.yml:2
neovim.rb:0
vim-license.txt:52
Code language: CSS (css)

05 – Vyhledejte typ souboru jako css nebo python nebo txt
# Search for file type like css or python or txt
ack string-to-search --css
Code language: PHP (php)

Nástroje pro vyhledávání bonusů
Vyhledávací nástroje | |
---|---|
ripgrep | Rekurzivně hledat v adresářích vzor regulárního výrazu |
fzf | Příkazový řádek fuzzy finder pro váš shell |
peco | Nástroj pro interaktivní filtrování |
McFly | Procházet historií prostředí |
sumec | Všestranné vyhledávací GUI poháněné funkcí locate and find |
FSearch | Nástroj pro rychlé vyhledávání souborů založený na GTK+3 |
ANGRYsearch | Stejně jako FSearch, vyhledávací nástroj inspirovaný nástrojem Everything Search Engine |