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?
.