Způsob, jak objevit to, co hledáte, může být hlubší, než jste si mysleli, nebo může být hned za rohem. Vše záleží na tom, jak vypadáte, kam se díváte a co hledáte. Když řešíte problémy, které se vyskytnou, může to být jednodušší, než se zdá. Jedním z mých oblíbených nástrojů je find
příkaz. find
command je nástroj pro procházení stromem adresářů, sestupování do adresářů s každou uvedenou cestou a vyhodnocování výrazů přidaných pro každý uvedený soubor. S tímto příkazem můžete dosáhnout docela hodně. V tomto článku se zabývám různými způsoby a také jednoduchými způsoby, které vám pomohou find
velké soubory, find
více souborů a dokonce i k vyhledání konkrétních typů souborů.
Najděte více souborů v Linuxu
find
příkaz se používá různými způsoby. Jedna věc, kterou jako správce systému nechcete dělat, je pracovat tvrději, než musíte. Místo spouštění stejného příkazu pro hledání jednoho souboru znovu a znovu můžete použít find
příkaz k nalezení více souborů současně.
$ find /home -type f -name file.txt -exec {} \;
Tuto jednovrstvou lze rozložit. Připadá mi nejlepší skoro to číst jako větu:
- prohledávání
/home
adresář - vyhledávání souboru (
-type f
) nebo adresář (-type d
) - název souboru je soubor.txt (
-name file.txt
) - provedení jiného příkazu z předchozího výstupu
Najděte velké soubory v Linuxu
Můžete také použít find
k objevování velkých souborů v Linuxu. Hledání velkých souborů se mi z dlouhodobého hlediska osvědčilo. find
může pomoci rychle najít velké soubory, jako jsou zálohy a soubory ISO.
$ find / -type f -size +500000k -exec ls -lh {} \;
Tuto jednovrstvou lze rozložit:
- vyhledávání
/
adresář - vyhledávání souboru (
type -f
) - vyhledávání souboru většího než
500000k
- spuštěním příkazu
ls -lh
na soubory nalezené v předchozím výstupu
Najděte konkrétní typy souborů v Linux
Další dobrou metodou je vyhledat přípony souborů pomocí find
příkaz. Považuji to za užitečné, protože mi to ukázalo způsoby, jak najít konkrétní soubory pouze pomocí konkrétního klíčového slova. V tomto případě níže uvedený příklad hledá soubory, které obsahují pouze konkrétní příponu:
# find / -type f \( -name "*.sh" -o -name "*.txt" )
Chcete-li to rozpitvat:
- vyhledávání v
/
adresář - vyhledávání souboru (
-type f
) nebo adresář (-type d
) - hledá název souboru, který je zástupným znakem, ale končí příponou
.sh
nebo.txt
Dokonce jsem hledal obsah v souboru, který odpovídá konkrétnímu klíčovému slovu. Tyto příkazy lze vyladit a upravit tak, aby bylo dosaženo požadovaného výsledku.
Najděte upravené soubory v Linux
Poslední příklad ukazuje, jak find
soubor upravený za posledních 50 dní. To může být užitečné, když potřebujete najít nedávno upravené soubory z bezpečnostních důvodů nebo pokud jsou v síti nežádoucí uživatelé, kteří přistupují k jiným souborům.
# find / -type f -ctime +50 -exec rm -f {} \;
Výše uvedený příkaz ukazuje:
- vyhledávání v
/
adresář - vyhledávání souboru (
-type f
) nebo adresář (-type d
) - vyhledávání souborů starších než
50
dní - spuštěním příkazu
rm -f
na soubory nalezené v předchozím výstupu
To může pomoci odstranit tyto škodlivé soubory najednou. Musíte se pouze ujistit, že soubory, které vyberete, jsou soubory, které chcete odstranit. Jedním ze způsobů kontroly je spuštění příkazu bez exec
sekce, kde uvidíte soubory, které se objeví ve výstupu. Pokud existuje velký počet souborů, přesměrujte výstup do souboru:
# find / -type f -ctime +50 > files.txt
Obsah lze zkontrolovat a ověřit předtím, než spustíte jednolinkovou linku, která odstraní /etc
složka. Není ideální.
Koneckonců
find
příkaz má různé využití a dostupnost, kde mohou správci najít obsah, který potřebují (bez slovní hříčky). S tímto příkazem jsou možnosti doslova nekonečné! Pokud jde o odstraňování problémů, tato flexibilita při vyhledávání a vyšetřování vám umožňuje hledat věci, kterých jste si dříve možná nevšimli. V důsledku toho můžete najít odpověď, kterou jste hledali (zamýšlená slovní hříčka).
[ Bezplatný online kurz:Technický přehled Red Hat Enterprise Linux. ]