Android

Keresse meg a parancsot a linuxban

Linux Szerver Környezet 03. Útvonalak

Linux Szerver Környezet 03. Útvonalak

Tartalomjegyzék:

Anonim

Az egyik leggyakoribb művelet a Linuxon való munka során a fájlok és könyvtárak keresése. Linux rendszereken számos olyan parancs létezik, amelyek lehetővé teszik a fájlok keresését, ahol a keresés és a keresés a leggyakrabban használt.

A locate parancs a fájlok és könyvtárak név szerinti keresése a leggyorsabb és legegyszerűbb módja.

Ebben az oktatóanyagban elmagyarázzuk, hogyan kell használni a locate parancsot.

A locate telepítése (a locate parancs nem található)

A terjesztéstől és a rendszer kiépítésének módjától függően előfordulhat, hogy a locate csomag előtelepítve van-e a Linux rendszerére.

Annak ellenőrzéséhez, hogy a locate segédprogram telepítve van-e a rendszerén, nyissa meg a terminált, írja be a locate , és nyomja meg az Enter billentyűt. Ha a csomag telepítve van, a rendszer megjeleníti a locate: no pattern to search for specified , különben látni fog valamit, például a locate command not found .

Ha a locate nincs telepítve, akkor könnyen telepítheti a diszkó csomagkezelőjével.

Telepítés locate az Ubuntu és a Debian rendszert

sudo apt update sudo apt install mlocate

Telepítés locate a CentOS és a Fedora rendszeren

sudo yum install mlocate

Hogyan működik a munka?

A locate parancs egy adott mintát keres az adatbázisfájlon keresztül, amelyet a updatedb parancs generál. A talált eredmények a képernyőn jelennek meg, soronként egy.

A mlocate csomag telepítése során egy cron job jön létre, amely 24 óránként futtatja a updatedb parancsot. Ez biztosítja az adatbázis rendszeres frissítését. A cron feladatról további információkat talál az /etc/cron.daily/mlocate fájlban.

Az adatbázis manuálisan frissíthető, az updatedb parancs root vagy felhasználóként történő futtatásával, sudo jogosultságokkal:

sudo updatedb

A frissítés eltart egy ideig, a fájlok és könyvtárak számától, valamint a rendszer sebességétől függően.

Az adatbázis frissítése után létrehozott fájlok nem jelennek meg a lokációs eredményekben.

A fájlrendszerben kereső, erősebb keresési paranccsal összehasonlítva a locate sokkal gyorsabban működik, de nincs sok funkciója, és csak a fájlnév alapján tud keresni.

Hogyan kell használni a locate parancsot

A locate parancs szintaxisa a következő:

locate PATTERN…

Legegyszerűbb formájában, opciók nélküli használat esetén a locate parancs kinyomtatja az összes fájl és könyvtár abszolút elérési útját, amely megfelel a keresési mintának, és amelyre a felhasználó olvasási engedélyt adott.

Például egy .bashrc nevű fájl kereséséhez írja be:

locate.bashrc

A kimenet tartalmazza az összes fájl nevét, amely a .bashrc karakterláncot tartalmazza a nevükben:

/etc/bash.bashrc /etc/skel/.bashrc /home/linuxize/.bashrc /usr/share/base-files/dot.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/bash.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/skel/dot.bashrc

A /root/.bashrc fájl nem jelenik meg, mert a parancsot normál felhasználóként /root/.bashrc , amelynek nincs hozzáférési jogosultsága a /root könyvtárhoz.

Ha az eredménylista hosszú, akkor a jobb olvashatóság érdekében a kimenetet a less parancsba továbbíthatja:

locate.bashrc | less

A locate parancs globális karaktereket tartalmazó mintákat is elfogad, például a helyettesítő karaktert * . Ha a minta nem tartalmaz gömbölyöző karaktereket, akkor a parancs a *PATTERN* keresi a keresést, ezért az előző példában az összes fájl, amely a nevében található keresési mintát tartalmazza, megjelenik.

A helyettesítő jel egy olyan szimbólum, amelyet nulla, egy vagy több karakter ábrázolására használnak. Például az összes .md fájl kereséséhez a rendszeren, amelyet használni szeretne:

locate *.md

A keresési eredmények korlátozása érdekében használja a -n opciót, majd a megjelenítendő találatok számát. Például a következő parancs megkeresi az összes .py fájlt és csak 10 eredményt jelenít meg:

locate -n 10 *.py

Alapértelmezés szerint a locate kis- és nagybetűk között érzékeny kereséseket hajt végre. Az -i ( --ignore-case ) opció úgy keres, hogy figyelmen kívül hagyja a kis- és nagybetűket, és a kis- és nagybetűket nem érzékeny keresést futtassa.

locate -i readme.md

/home/linuxize/p1/readme.md /home/linuxize/p2/README.md /home/linuxize/p3/ReadMe.md

Az összes megfelelő bejegyzés számának megjelenítéséhez használja a -c ( --count ) opciót. A következő parancs visszaadja az összes fájl számát, amelyek a .bashrc fájlt tartalmazzák a nevükben:

locate -c.bashrc

6

Alapértelmezés szerint a locate nem ellenőrzi, hogy a talált fájlok továbbra is léteznek-e a fájlrendszeren. Ha törölte a fájlt a legfrissebb adatbázis-frissítés után, ha a fájl megegyezik a keresési mintával, akkor a rendszer a keresési eredmények között szerepel.

Csak azoknak a fájloknak a megjelenítéséhez, amelyek léteznek az adott időpontban létező fájlokhoz, használja az -e ( --existing ) opciót. Például az alábbiak csak a meglévő .json fájlokat .json :

locate -e *.json

locate --regex -i "(.mp4|\.avi)"

Következtetés

A locate parancs a fájlrendszerben keresi azokat a fájlokat és könyvtárakat, amelyek neve megegyezik egy adott mintával. A parancs szintaxisa könnyen megjegyezhető, és az eredmények szinte azonnal megjelennek.

További információ a man locate parancs típus minden elérhető man locate a terminálon.

terminál keresse meg