Tanuljon Linuxot

A fájlok rekurzív megkeresése és listázása dátum szerint a Linux rendszerben

A fájlok rekurzív megkeresése és listázása dátum szerint a Linux rendszerben

A legfőbb ok, hogy az operációs rendszer felhasználói többsége a Linuxot választja más operációs rendszerek helyett, a felfedezés szabadsága. A Linux alatt köthet néhány lazán összekapcsolt operációs rendszer szabályt. Az operációs rendszer előre meghatároz néhány változtatható szabványos szabályt, amelyeket a környezetében használhat.

Miután levette a kezdő kabátját, kijuthat ezekből az alapértelmezett szabályokból, és létrehozhatja sajátját. Linux alatt az operációs rendszer a hűséges szolgád, te pedig a mester.

Ez az eset nem életképes más operációs rendszerek disztribúcióiban, mivel túl sok absztrakció van a helyén. Az itt található operációs rendszerek inkább az Ön asszisztensei. Soha nem lehet nagyobb energiája, mint az operációs rendszernek, mint például a Linux esetében. Amint a felhasználói élményt továbbra is egy Linux operációs rendszer környezetében építi, az operációs rendszer iránti kíváncsisága naponta növekszik. Mindig tudni fogja, mi rejlik itt és mit tehet még az égisze alatt.

Fájlokkal és könyvtárakkal való munka Linuxon

Tökéletes eset a mindennapi kölcsönhatás fájlokkal és mappákkal a Linux operációs rendszer környezetében. A Linux OS fájlrendszer használata nem csupán a felhasználói fájlrendszerek és mappák létrehozása, szerkesztése, módosítása és törlése. Minden, a felhasználói fájlokkal és mappákkal / könyvtárakkal összekapcsolt művelet Linux környezetben elhagyja a felhasználó lábnyomát vagy ujjlenyomatát. Olyan ez, mintha besétálnánk egy szobába, ahol tárgyakat érinthetünk és cserélhetünk.

Ha egy Linux bérbeadó vagy gondnok kezeli ezt a szobát, ahová belépett, akkor pontosan tudja, hogy mit tett, és mely elemeket érintette meg vagy cserélte ki. A Linux hasznos parancsokkal rendelkezik az ilyen eredmények elérésében. Tudni fogja, mi történt a Linux operációs rendszer fájljaival és mappáival, és ezeket a műveleteket annak alapján állapítja meg, hogy mikor történtek.

Röviden: ha fájlokkal és könyvtárakkal foglalkozunk Linux operációs rendszer környezetben, akkor felépíthetünk egy események ütemtervét a sérülékeny fájlmódosítások azonosításához az egyes módosításokhoz csatolt időbélyegzők segítségével. Előnyként meg kell tudni, hogy a módosítást rosszindulatú tartalommal társították-e a létrehozott rendszernaplókon keresztül.

A Linux parancsai

Néhány egyszerű parancsot közölünk, amelyek segítenek megérteni a cikk tárgyalt következményeit. Először el kell indítania a terminált, és el kell navigálnia egy olyan rendszer elérési útját, amelyről tudja, hogy sok fájl és mappa található. Annak érdekében, hogy biztonságban lehessen és ne játsszon a sérülékeny rendszerfájlokkal, használhatja a „Documents” könyvtárat, amelyet általában előre definiálnak a Linux operációs rendszerben. A következő paranccsal el kell jutnia ebbe a „Documents” könyvtárba.

$ cd ~ / Dokumentumok

Ez egy népszerű könyvtár, amelyben sok fájl és alkönyvtár található. A cikk-kísérlethez egy másik könyvtár a „Letöltések” könyvtár. Ez egy olyan hely, ahol soha nem fog hiányozni a letöltött fájlok és más alkönyvtárak.

$ cd ~ / Letöltések

A kísérlet elindításához szükségünk van néhány relatív mintakimenetre a terminálunkról. Beírunk egy parancssort a terminálunkon, amely lehetővé teszi számunkra az aktív fájlok és a hozzájuk tartozó alkönyvtárak felsorolását. Ezenkívül a parancs eredményének minden eleme összekapcsolódik egy időbélyegzővel, amely a társított fájl, könyvtár vagy alkönyvtár utolsó módosítási kísérletére mutat.

A használni kívánt parancssor a következő:

$ find . -printf '% T @% t% p \ n' | sort -k 1 -n | vágd -d "-f2-

Az alábbi képernyőkép a fenti parancssor használatának kimenete.

minta kimenet a find, sort és cut parancs használatával

Analitikai szempontból a parancs kimenetének alsó képernyője a szülő munkakönyvtárában nemrégiben módosított elemeket ábrázolja. A kimeneti lista hosszú lehet, a gépen lévő fájloktól és mappáktól függően. A kimeneti terminálon felfelé görgetve régebbi fájlok és mappamódosítások láthatók. Összefoglalva: van egy kimenetünk, amely a legrégebbi fájlokat és mappamódosításokat rangsorolja a legújabb módosításokhoz.

Amint észrevette, a fenti parancssornak, amelyet beillesztett a termináljára, három fontos parancs argumentummal rendelkezik. Meg kell értenünk, hogy mindegyikük mit csinál.

megtalálja

A „find” parancs az első, amelyet a parancssorból hajtanak végre. Az egyetlen célja az aktív fájlok és könyvtárak rekurzív felsorolása a szülői munkakönyvtárban. A ".A „find” argumentumot követő argumentum a jelenlegi munkakönyvtárra vezeti a parancsot. Ha nem biztos abban, hogy milyen könyvtárban tartózkodik; beírhatja a terminál „pwd” parancsát. Kinyomtatja az aktuális könyvtár elérési útját.

A ".”Argumentum a„ pwd ”parancs kimeneteként kerül lefordításra. Ez megkönnyíti a jelenlegi munkakönyvtár fájljainak és könyvtárainak megkeresését. A parancssor következő argumentuma a „-printf”. Ez egy nyomtatott argumentum zászlaja. Meghatározott formátumban kinyomtatja a fájlokat és könyvtárakat az aktuális munkakönyvtárban. A formátumot a „% T @% t% p \ n” argumentum határozza meg. A parancs argumentuma követi azonnal.

Ezen érv '% T @' része a korszak idejét képviseli. Definíció szerint a korszak ideje vagy a Unix korszaka az időbélyeg 1970. január 1-jén. 00:00:00 UTC-ként jelenik meg. A terminál kimenete ezt a formátumot képviseli a felsorolt ​​fájlokhoz és könyvtárakhoz társított módosítási dátumokra. Az argumentum '% t' része most a korszak időformátumát veszi fel a felsorolt ​​fájlokhoz és könyvtárakhoz tartozó legújabb módosítás időbélyegének megjelenítéséhez.

A Linux terjesztésétől vagy ízétől függően előfordulhat, hogy a terminál kimenete nem jeleníti meg a módosított fájlok kimeneti listájához társított korszakot. Ez az állítás a végem kimenetelének bizonyítéka.

Az argumentum '% p' ​​része kiadja az aktuális munkakönyvtárban megjelenített fájlok nevét. Végül az argumentum '/ n' része egy újsoros karakter célját szolgálja. A módosított fájl minden egyes egymást követő felsorolása után ez az újsoros karakter elvezeti a kurzort, és a következő fájlmegjelenítést egy új sorra ugrja a terminál képernyőn. Ez megkönnyíti számunkra az egyes megjelenített fájlok különböző társítását.

Egy másik megközelítés a korábban megadott parancssor használatához a „% T @% t% p \ n” argumentum „% t” részének cseréje „% c” kifejezéssel. A kapott parancssornak a következőkhöz hasonlónak kell lennie:

$ find . -printf '% T @% c% p \ n' | sort -k 1 -n | vágd -d "-f2-

A parancssor futtatásának kimenetének a következő képernyőképhez hasonló kimenetet kell létrehoznia.

rekurzívan változó argumentumok a fájl megtalálásakor

A fenti képernyőkép megfigyelése élesen feltárja a következő megfigyelést. Az aktuális munkakönyvtárban található fájlok kimeneti listája a „módosítási idő” helyett „utolsó állapotváltoztatási idő” -vel jelenik meg. A „% c” helyébe „% t” lép a „% T @% t% p \ n” kifejezésben. Ez az utolsó parancs kinyomtatja a kiadott fájllistához kapcsolódó engedélymódosításokat. Lehet, hogy a fájlok tartalma nem változik, de a hozzájuk társított metaadatok változnak.

Ebben a szakaszban a kimeneti eredmények nem követnek semmilyen időrendet, mivel a rendezés paranccsal még foglalkoznunk kell. Először kinyomtatják a módosítás időbélyegét, majd a társított fájl nevét.

Fajta

Ennek a parancs argumentumnak három paramétere van, nevezetesen '-k', '1' és 'n'. A rendezés parancs felelős a sorrendben, amelyben a fájllista kimenete megjelenik a képernyőn. Ebben az esetben először a módosítás dátumát nyomtatják ki, majd a módosított fájl vagy könyvtár fájl elérési útja következik. A parancs argumentum '-k' része jelzi a rendezési folyamat megkezdésének kezdő helyzetét.

A sort parancs argumentum '-k' része olyan kérdést vet fel, amelyre ugyanazon argumentum '1' része válaszol. Ebben az esetben a rendezési folyamat az első oszlopból indul, az '1' jelzéssel. A sort parancs argumentum felelős azért is, hogy a legújabb módosított fájl a lista végén, a legrégebbi pedig a tetején legyen. Az argumentum '-n' része felel az idõ számáért tizedes pontossággal.

Ha '-nr' karaktert használ az '-n' helyett, akkor a parancssor kimenetén az újonnan módosított fájlok és könyvtárak lesznek a terminál kimenetének tetején, a régi fájlmódosítások pedig alul. Megfordítja a terminál kimenet rendezési sorrendjét.

Vágott

A „cut” parancs argumentumának fő célja a terminál nyomtatásunk kimenetének rendezett rendezése. Ennek a parancs argumentumnak a '-d' és a 'opciói kombinálva fehér mezőket generálnak, majd levágják a fájl tartalmának részleteit, amelyek megpróbálhatják ezeket a szóközöket használni.

Ezzel az egyszerű parancssorral rekurzív módon kinyomtathatja a fájlokat az aktuális munkakönyvtárba, minden egyes kimenettel összekapcsolva az említett fájlokat a módosítás dátumával.

Alternatív parancsopciók

Lehet, hogy azzal érvelhet, hogy az „ls -lrt” parancs tökéletesen felsorolja az összes fájlt a Linux operációs rendszerének egy aktív könyvtár útvonalán belül, a legrégebbről a módosítani kívántól a legújabbig. Másrészt ez a parancs nem veszi figyelembe az almappákban meglévő fájl tartalmát. Ha az alkönyvtárak felsorolása nem a célja, akkor hozzáadhatja az „-type f” argumentumot a parancssorhoz. Vegye figyelembe a parancs alábbi módosítását.

$ find . -írja be az f -printf '% T @% t% p \ n' | sort -k 1 -n | vágd -d "-f2-

A „-type d” parancs argumentumának a fenti paranccsal ellentétes hatása lesz. A terminál csak módosított könyvtárakat fog kiadni a legrégibbtől a legújabbig. Fontolja meg következményeit a következőképpen:

$ find . -típus d -printf '% T @% t% p \ n' | sort -k 1 -n | vágd -d "-f2-

Záró megjegyzés

Mostantól ismeri a fájlok és könyvtárak rekurzív nyomtatásának áttekintését az aktuális munkakönyvtárban, és további ismeretekkel rendelkezik arról, hogy mikor módosították őket utoljára a hozzájuk tartozó időbélyegek alapján.

Ezen ismeretek alapján képes összeállítani az események idővonalát, amely kronologikusan feltárja a fájlok és könyvtárak módosításának sorrendjét, valamint a tárolási helyük elérési útját.

Az AutoKey használata a Linux játékok automatizálásához
Az AutoKey egy asztali automatizáló segédprogram Linux és X11 rendszerekhez, Python 3, GTK és Qt programozással. A parancsfájlok és a MACRO funkcióina...
Az FPS-számláló megjelenítése a Linux-játékokban
A Linux játék komoly lendületet kapott, amikor a Valve 2012-ben bejelentette a Linux támogatását a Steam kliensnek és játékaiknak. Azóta sok AAA és in...
Sid Meier Civilization VI letöltése és lejátszása Linuxon
Bevezetés a játékba A Civilization 6 egy modern felvétel a Age of Empires játékok sorozatában bevezetett klasszikus koncepcióra. Az ötlet meglehetősen...