Linux FIND parancs példákkal


Tudja, hogy hány fájl van a Linux friss telepítésében? Ha a PopOS! Linux disztribúció például több mint 31 000 fájl van. Ez azelőtt történik, hogy elkezdene dokumentumokat készíteni, zenét tárolni, PDF-eket letölteni vagy képeket rendezni.

Ezért kihívást jelent a megfelelő fájl vagy mappa megtalálása Linuxon, amikor szüksége van rá. Ebből a cikkből megtudhatja, hogyan kell használni a Linux FIND parancsát, és bemutatunk minden lehetséges példát.

Linux FIND parancs szintaxisa

A szintaxis a szavak vagy parancsok összeállításának módjára utal. Ahogy egy normál mondat értelmetlenné válhat a szavak összekeverésével, a parancsok is meghiúsulhatnak, ha nem a megfelelő szintaxisban használják őket.

keresse [útvonal] [feltételek] [műveletek]

Ez mit jelent:

find – elindítja a Find segédprogramot Linuxon

útvonal – hol kell keresni

feltételek – a kereséshez alkalmazni kívánt argumentumok

műveletek – mit szeretne kezdeni az eredményekkel

Egy egyszerű példa mindhárom felhasználásra így néz ki:

keresse meg . -name file-sample.rtf -print

Ahogyan sejtette, ez megtalálja a file-sample.rtf fájlnevet.

A pont (. ) elérési útja azt mondja, hogy a find az aktuális könyvtárban és a benne található könyvtárakban keressen.

A -name feltétel azt mondja, hogy a Find, hogy lekérje a fájlt az adott néven.

A -print művelet arra utasítja a FIND-ot, hogy az eredményeket a képernyőn jelenítse meg.

A pont és a -print a find parancs alapértelmezett értékei. Tehát akkor is ugyanazt csinálja, ha nem használja őket. Tehát a find -name file-sample.rtf ugyanazt az eredményt fogja adni.

Linux FIND egy másik könyvtárban

Kereshet más könyvtárban is, mint amelyikben tartózkodik. Csak írja be a könyvtár elérési útját a FIND után. Ha a gyökérben van, és tudja, hogy a fájl valahol a home/user könyvtárban van, akkor a következőket kell használnia:

keresse meg az otthoni/felhasználói név fájlt-minta.rtf

Ez továbbra is rekurzív keresés, így a felhasználó alatt található összes könyvtáron végigmegy..

Linux FIND Keresés több könyvtárban

Ha egyszerre több könyvtárban szeretne keresni, egyszerűen sorolja fel őket a parancsban, szóközzel elválasztva.

keresse meg /lib /var /bin -name file-sample.rtf

Linux FIND rekurzió nélkül vagy korlátozó rekurzióval

Ha a fenti FIND parancsot használja a gyökérszinten, az átnéz a rendszer minden könyvtárában. Tehát ha csak az aktuális könyvtárhoz szeretne ragaszkodni, használja a -maxdepth opciót. A -maxdepto utáni szám azt jelzi, hogy a megállás előtt milyen mélyre kell menni.

A -maxdepth 1 használata csak ezt a könyvtárat jelenti.

find -name file-sample.rtf -maxdepth 1

A -maxdepth 2 vagy nagyobb szám használata annyi szinttel mélyebbre megy.

keresse meg a -maxdepth 5 -name file-sample.rtf

Linux FIND helyettesítő karakteres példa

A FIND parancs a csillagot (* ) helyettesítő karakterként használja. Használja a név bármely olyan részére, amelyben nem biztos. A névben többször is használható. Ha a fájlnév részeként nem szerepel a fájl típusa, az eredményekben az egyező könyvtárak is megjelennek.

keresse meg az otthoni/felhasználói névfájlt*minta*

Linux FIND típuspélda szerint

Ha csak egy fájlt vagy könyvtárat szeretne keresni, használja a -type kapcsolót és a megfelelő leírót. Van néhány, de a fájl és a könyvtár a leggyakoribb:

f – fájl

d – könyvtár

b – blokkolja az eszközt

c – karaktereszköz

l – szimbolikus link

s – aljzat

keresse meg az otthoni/felhasználói névfájlt*minta* -d típusú

Linux FIND példa a kis- és nagybetűk megkülönböztetésére

A Windowstól eltérően a Linuxnak fontos, hogy egy betű nagy- vagy kisbetű legyen. Tehát ha azt szeretné, hogy mind a File-Sample.rtf, mind a file-sample.rtf fájlra keressen, használja a -name lehetőséget.

találja meg az otthoni/felhasználói nevet File-Sample.rtf

Linux KERESÉS több fájlra példa

Tegyük fel, hogy meg akarta találni egy fájl .rtf és .html verzióját. Ez egy paranccsal megtehető a -o (vagy) operátor használatával. Egyes disztribúciókban előfordulhat, hogy a neveket zárójelek közé kell tennie, például ( -name file-sample.rtf -o -name file-sample.html ) ..

keresse meg a kezdőlap/felhasználói -név fájl-minta.rtf -o -név fájl-minta.html

Linux FIND fájlok, amelyek nem egyeznek a névvel

Talán tudja, hogy egy fájlnak létezik .html verziója, de nem, ha vannak mások. A .html verziót kiszűrheti a keresésből a -not opcióhasználatával.

keresse meg az otthoni/felhasználói -név fájlmintát* -not -name *.html

Linux KERESÉS hiba nélkül

A rekurziós példa nélküli keresésnél figyelje meg, hogy minden olyan könyvtárat felsorolt, amelyben nem tudott keresni, és a megfelelő eredményt. Ez bosszantó. Ne jelenítse meg az összes „Engedély megtagadva” könyvtárat. Kombinálja egy másik Linux terminál parancs -el, grep. A Keresés a grep to olyan fájlokat kereshet, amelyekben meghatározott szavak vannak parancsot is használhatja.

keresés -maxdepth 5 -name file-sample.rtf 2>&1 | grep -v „Engedély megtagadva”

Fogadjuk le a 2>&1 -t.

2 – az stderr, amely a szabványos hibakimenet rövidítése.

1 – az stdout, amely a szabványos kimenet rövidítése

> – azt jelenti, hogy a tőle balra lévő kimenetet átirányítjuk a tőle jobbra lévőre.

& – azt jelenti, hogy össze kell rakni.

Tehát a 2>&1 azt jelenti, hogy a szabványos hibákat átirányítja, majd a szabványos kimenettel együtt egyetlen kimenetbe helyezi.

Most nézzük meg a |-t grep -v „Engedély megtagadva” .

| (csőnek hívják) – utasítja a Linuxot, hogy a tőle balra lévők eredményeit betáplálja a tőle jobbra lévőbe. Ez a grep parancsba kerül.

grep – egy szöveges kereső segédprogram.

-v – megmondja a grepnek, hogy keressen bármit, ami nem egyezik a -v bal oldalán található szöveggel. Ebben az esetben azt üzeni a grepnek, hogy csak olyat találjon, amely nem tartalmazza az „Engedély megtagadva” szöveget vagy karakterláncot. Tehát a grep csak a keresett találatokat és azokat a hibákat jeleníti meg, amelyek nem egyeznek az „Engedély megtagadva” kifejezéssel.

Linux FIND engedélypélda szerint

.

A megfelelő használatához tanulja meg a Linux engedélyeit szükséges.

A példafájlok mindegyike rendelkezik 664-es engedéllyel, kivéve a 775-ös engedélyt. Használja a -perm opciót a kereséshez.

Dokumentumok keresése/ -name file-sample* -type f -perm 775

Linux FIND méretpélda szerint

A fájlok méret szerinti megkeresése praktikus, ha ezek a hatalmas fájlok megtöltik merevlemezét. Használja a -size opciót, a kívánt méretet, és a következő utótagok egyikét. Ha nem használ utótagot, a -size alapértelmezett értéke b . Ha egy bizonyos méretű vagy annál nagyobb fájlokat szeretne keresni, tegye a pluszjelet (+) a méret elé.

M – Megabájt

G – Gigabájt

k – Kilobájt

b – blokkok (512 bájt – alapértelmezett)

c – bájtok

w – szavak (két bájt együtt)

+500k -méret keresése

Linux FIND a tulajdonostól

Kétféleképpen keresheti meg a fájlokat tulajdonos szerint. Az egyik a tulajdonos felhasználóneve, a másik a felhasználói csoporté. A felhasználónév szerinti kereséshez használja a -user opciót, majd írja be a felhasználónevet. Felhasználói csoport szerinti kereséshez használja a -group , majd a csoport nevét.

-felhasználói csoportnév keresése vagy -felhasználói felhasználónév keresése

Linux FIND fájlok utoljára módosított példa szerint

Az elmúlt X nap során módosított vagy szerkesztett fájlok megkereséséhez használja a -mtime parancsot, majd egy számot. Ha egy mínuszjelet ( ) tesz a szám elé, akkor az eddigi napokon belül bármi megváltozott. A pluszjel (+ ) annyit jelent, hogy a jelen pillanata előtti napokon belül van.

find -name "file-sample*" -mtime +5 (több mint 5 nappal ezelőtt)

find -name "file-sample*" -mtime -5 (kevesebb, mint 5 napja)

Az utolsó módosítás percben történő megkereséséhez használja a -mmin kapcsolót, majd a percek számát. Használja a + és a – jelet, mint fent.

keresse -name „file-sample*” -mmin -5

keresse -name „file-sample*” -mmin +5

Linux FIND fájlok a legutóbbi hozzáférés időpontja szerint

.

A fájlok legutolsó megnyitásának időpontja alapján történő megkeresésére használt beállítás az -atime napokra és az -amin percekre. Kövesse a napok vagy percek számát a visszalépéshez, és használja a + és – jelet nagyobb és kisebb mintként.

keresse -name „file-sample*” -atime -5

keresse -name "file-sample* -amin -5

A FIND kombinálása más Linux-parancsokkal

Fentebb látható egy példa a find használatára a grep paranccsal, és sok mással is használhatja. Láthatja, hogy a find és más parancsok használata nagyon hatékony és hatalmas időmegtakarítást jelenthet. Képzelje el, hogy egy csomó fájlt törölnie kell egy adott típusú fájlból. A fájlkezelőben való keresgélés helyett csak adja meg a megfelelő parancsot, és másodpercek alatt kész is lesz. Hogyan fogja most használni a find parancsot?

.

Kapcsolódó hozzászólások:


18.01.2022