Ja, jūs esat apmācīts ar datiem līdz 2023. gada oktobrim.
Galvenie atziņas
- locate ir ātrāk, jo izmanto datubāzi, bet var būt neaktuāls.
- find meklē tieši uz cietā diska un vienmēr ir aktuāls, bet var būt lēnāks.
- Abi rīki piedāvā dažādas iespējas, lai precizētu jūsu meklējumus.
Solim pa solim ceļvedis
1. Pirmais pārskats: locate
Sāciet savu meklēšanu ar komandu locate. Tas ir īpaši viegli, ja zināt precīzuFaila nosaukumu vai daļu no tā. Pieņemsim, ka vēlaties atrast failu "Saule". Pārejiet uz savu saknes direktoriju un ievadiet sekojošo komandu:
locate Saule
Ar šo komandu locate pārskatīs visus ierakstus datubāzē un uzskaitīs jums failus, kas satur meklēšanas vārdu "Saule".

2. Ignorēt lielos un mazos burtus
Vai vēlaties ignorēt lielos un mazos burtus savā meklēšanā? Tad varat izmantot opciju -i:
locate -i saule
Tādējādi jūs saņemsiet sarakstu, kas satur gan "Saule", gan "saule".

3. Precizitāte, izmantojot regulāras izteiksmes
Ja vēlaties veikt precīzāku meklēšanu, varat arī izmantot regulāras izteiksmes ar locate. Piemēram, lai meklētu tieši "ls", varat izmantot opciju -b kopā ar aizsargājošām iekavām:
locate -b '/ls'
Tas nodrošinās, ka saņemat tikai rezultātus, kas precīzi atbilst "ls".

4. Datubāzes atjaunināšana
Ja esat izveidojis jaunu failu un vēlaties pārliecināties, ka locate to atrod, jums jātiek datubāzi aktualizēt. To varat izdarīt ar komandu:
sudo updatedb
Šī komanda aktualizē datubāzi un padara to par jaunāko.

5. Find izmantošana
Find komanda ir īpaši noderīga, ja vēlaties noteikt precīzākas meklēšanas kritērijus. Lai, piemēram, meklētu failu ar nosaukumu "xyz" mājas direktorijā, varat izmantot sekojošo komandu:
find ~/ -name 'xyz'
Šī komanda meklēs tikai mājas direktorijā "xyz".

6. Filtrēšana pēc faila tipa
Lai meklētu tikai noteiktu failu tipus, varat izmantot opciju -type. Piemēram, lai atrastu tikai direktorijus:
find /var/log -type d
Ar šo komandu jūs uzskaitīsiet visus direktorijus direktorijā /var/log.

7. Failu meklēšana pēc lieluma
Ja vēlaties meklēt failus, pamatojoties uz to lielumu, varat izmantot opciju -size. Piemēram, lai atrastu failus, kuru izmērs pārsniedz 1 MB:
find / -type f -size +1M
Šī komanda meklēs visā sistēmā failus, kuri ir lielāki par 1 megabaitu.

8. Failu atrašana noteiktā laika periodā
Jūs varat arī meklēt failus, kas tika mainīti noteiktā laikā. Piemēram, ja vēlaties meklēt failus, kas tika mainīti pēdējās 48 stundās, jūs izmantosiet:
find / -type f -mtime -2
Šajā gadījumā "-mtime -2" apzīmē failus, kas mainīti pēdējās divās dienās.

9. Mešanas kritēriju kombinācijas
Dažādu meklēšanas kritēriju kombinācija uzlabo jūsu pieprasījumu precizitāti. Jūs varat filtrēt pēc faila tipa un pēdējā mainīšanas datuma vienlaicīgi:
find /opt -type f -mtime -1
Tā jūs atradīsit visus failus direktorijā /opt, kuri tika mainīti pēdējās 24 stundās.

10. Secinājums par failu meklēšanu
Izmantojot komandas find un locate, jūs esat labi sagatavojies, lai efektīvi atrastu failus un direktorijus savā Linux sistēmā. Jūs varat izvēlēties starp ātrumu un aktuālu datu bāzi, atkarībā no jūsu vajadzībām.
Kopsavilkums – Failu un direktoriju meklēšana Linux – find un locate detalizēti
Failu un direktoriju atrašana Linux ar find un locate ir pavisam vienkārša. Abi rīki piedāvā jums dažādas iespējas, lai meklēšanu pielāgotu individuāli.
Biežāk uzdotie jautājumi
Kāda ir atšķirība starp find un locate?find meklē reāllaikā uz cietā diska, savukārt locate izmanto datubāzi, tāpēc ir ātrāks, bet, iespējams, nesniedz aktuālus rezultātus.
Kā varu atjaunināt locate datubāzi?Ar komandu sudo updatedb jūs varat atjaunināt locate datubāzi.
Vai es varu meklēt failus pēc to lieluma ar find?Jā, tas ir iespējams, izmantojot opciju -size.
Kā es varu ierobežot savu meklēšanu pēc faila vai direktorija nosaukuma?Izmantojiet opcijas -name vai -type, lai mērķtiecīgi meklētu pēc konkrētiem nosaukumiem vai faila tipiem.
Kāds ir piemērs meklēšanas kritēriju kombinācijai?Jūs varat izmantot find, lai meklētu failus ar -type f un vienlaikus norādītu, ka faili pēdējās 24 stundas tika mainīti ar -mtime -1.