Kalbant apie failų ir katalogų efektyvų radimą Linux sistemoje, yra du pagrindiniai komandos, kurios yra prieinamos: find ir locate. Abi turi savo stipriąsias puses ir naudojimo atvejus. Šiame gide sužinosite, kaip naudoti šias komandas, kad greitai ir tiksliai rastumėte reikiamus duomenis, nesvarbu, ar tai būtų namų kataloge, ar visame diske.
Svarbiausi pastebėjimai
- locate yra greitesnis, nes naudoja duomenų bazę, tačiau gali būti ne visai atnaujintas.
- find ieško tiesiogiai diske ir visada yra atnaujintas, tačiau gali būti lėtesnis.
- Abi komandos siūlo įvairias parinktis, skirtas jūsų paieškos užklausoms patobulinti.
Žingsnis po žingsnio vadovas
1. Pirmasis peržiūra: locate
Pradėkite savo paiešką su locate komanda. Tai ypač paprasta, jei žinote tikslią failo pavadinimą arba jo dalį. Tarkime, norite rasti failą „Saulė“. Pakeiskite į savo šaknines katalogą ir įveskite šią komandą:
locate Saulė
Ši komanda ieškos visų įrašų duomenų bazėje ir surašys failus, kuriuose yra paieškos terminas „Saulė“.

2. Ignoruoti didžiąsias ir mažąsias raides
Norite ignoruoti didžiąsias ir mažąsias raides savo paieškoje? Tada galite naudoti parinktį -i:
locate -i saulė
Taip gausite sąrašą, kuris apima tiek „Saulė“, tiek „saulė“.

3. Tikslumas naudojant reguliarias išraiškas
Jei norite atlikti tikslesnę paiešką, galite naudoti regulias išraiškas su locate. Pavyzdžiui, jei norite ieškoti tik „ls“, galite naudoti parinktį -b kartu su apsaugotomis skliausteliais:
locate -b '/ls'
Tai užtikrina, kad gausite tik rezultatus, kurie tiksliai atitinka „ls“.

4. Atlikti duomenų bazės atnaujinimą
Jei sukūrėte naują failą ir norite užtikrinti, kad locate jį rastų, turite atnaujinti duomenų bazę. Tai padarykite su komanda:
sudo updatedb
Ši komanda atnaujina duomenų bazę ir ją gauna iki šiuolaikinio lygio.

5. Naudojant find
Find komanda yra ypač naudinga, jei norite nustatyti tikslesnius kriterijus savo paieškai. Pavyzdžiui, jeigu norite ieškoti failo pavadinimu „xyz“ namų kataloge, galite naudoti šią komandą:
find ~/ -name 'xyz'
Tai ieško tik namų kataloge „xyz“.

6. Filtruoti pagal failo tipą
Norėdami ieškoti tik tam tikrų failų tipų, galite naudoti parinktį -type. Pavyzdžiui, norint rasti tik katalogus:
find /var/log -type d
Ši komanda išvardina visus katalogus kataloge /var/log.

7. Ieškoti failų pagal dydį
Jei norite ieškoti failų pagal jų dydį, galite naudoti parinktį -size. Pavyzdžiui, kad rastumėte failus, didesnius nei 1 MB:
find / -type f -size +1M
Ši komanda ieško visame sistemoje failų, didesnių nei 1 megabaitas.

8. Failai, pakeisti tam tikrame laikotarpyje
Taip pat galite ieškoti failų, kurie buvo pakeisti per tam tikrą laiką. Jei norite ieškoti failų, kurie buvo pakeisti per pastarąsias 48 valandas, naudokite:
find / -type f -mtime -2
Čia „-mtime -2“ reiškia failus, kurie buvo pakeisti per pastarąsias dvi dienas.

9. Paieškos kriterijų kombinavimas
Kelios paieškos kriterijų kombinacijos padeda pagerinti jūsų užklausų tikslumą. Galite filtruoti pagal failo tipą ir paskutinį pakeitimą tuo pačiu metu:
find /opt -type f -mtime -1
Taip rasite visus failus kataloge /opt, kurie buvo pakeisti per pastarąsias 24 valandas.

10. Išvada apie failų paiešką
Naudojant find ir locate komandas, esate gerai pasirengę efektyviai rasti failus ir katalogus savo Linux sistemoje. Galite rinktis tarp greičio ir dabartinių duomenų, atsižvelgdami į savo poreikius.
Santrauka – failų ir katalogų paieška Linux – find ir locate išsamiai
Failų ir katalogų radimas Linux su find ir locate yra vaikiška užduotis. Abi komandos siūlo jums įvairias galimybes pritaikyti paiešką individualiai.
Dažnai užduodami klausimai
Koks skirtumas tarp find ir locate?find ieško realiu laiku diske, o locate naudoja duomenų bazę, todėl yra greitesnis, tačiau gali pateikti ne visai naujus rezultatus.
Kaip atnaujinti locate duomenų bazę?Naudodamiesi komanda sudo updatedb galite atnaujinti locate duomenų bazę.
Ar galima su find ieškoti pagal failo dydį?Taip, tai įmanoma naudojant parinktį -size.
Kaip galiu apriboti paiešką pagal failo arba katalogo pavadinimą?Naudokite parinktis -name arba -type, kad tiksliai ieškotumėte pagal tam tikrus pavadinimus ar failų tipus.
Koks yra paieškos kriterijų kombinacijos pavyzdys?Galite naudoti find, kad ieškotumėte failų su -type f ir tuo pačiu nurodyti, kad failai buvo pakeisti per pastarąsias 24 valandas su -mtime -1.