Naučte sa Linux

Ako rekurzívne vyhľadávať a uvádzať súbory podľa dátumu v systéme Linux

Ako rekurzívne vyhľadávať a uvádzať súbory podľa dátumu v systéme Linux

Hlavným dôvodom, prečo si väčšina používateľov operačného systému vyberie Linux pred inými operačnými systémami, je sloboda skúmania. V systéme Linux ste viazaní na niektoré voľne spojené pravidlá operačného systému. OS preddefinuje niektoré premenlivé štandardné pravidlá, ktoré sa majú používať v rámci jeho prostredia.

Akonáhle zhodíte kabát pre začiatočníkov, môžete sa z týchto predvolených pravidiel dostať a vytvoriť si vlastné. V systéme Linux je operačný systém vašim verným služobníkom a vy pánom.

Tento prípad nie je životaschopný v iných distribúciách operačného systému, pretože existuje príliš veľa abstrakcií. Operačné systémy sú tu skôr pre vášho asistenta. Nikdy nemôžete mať viac energie ako operačný systém, ako je to v prípade systému Linux. Keď budete pokračovať v budovaní svojej používateľskej skúsenosti v prostredí operačného systému Linux, vaša zvedavosť na OS bude každým dňom narastať. Vždy budete chcieť vedieť, čo sa tu skrýva a čo viac môžete pod jeho dáždnikom urobiť.

Práca so súbormi a adresármi v systéme Linux

Dokonalým scenárom je vaša každodenná interakcia so súbormi a priečinkami v prostredí operačného systému Linux. Používanie súborového systému Linux OS znamená viac než len vytváranie, úpravy, úpravy a mazanie užívateľských súborových systémov a priečinkov. Každá akcia spojená so súbormi a adresármi / adresármi používateľa v prostredí systému Linux zanecháva v používateľskej stope alebo odtlačku prsta. Je to ako chodiť do miestnosti, kde sa môžete dotýkať a vymieňať si predmety.

Ak prenajímateľ alebo správca systému Linux spravuje túto miestnosť, do ktorej ste vstúpili, bude presne vedieť, čo ste urobili a ktorých položiek ste sa dotkli alebo zamenili. Linux má užitočné príkazy, ktoré nám pomáhajú dosiahnuť tieto výsledky. Budete vedieť, čo sa stalo so súbormi a priečinkami v operačnom systéme Linux, a identifikovať tieto akcie na základe toho, kedy k nim došlo.

Stručne povedané, pri práci so súbormi a adresármi v prostredí operačného systému Linux môžeme vytvoriť časovú os udalostí, aby sme identifikovali zraniteľné úpravy súborov prostredníctvom časových značiek pripojených ku každej zmene. Výhodou je, že prostredníctvom vygenerovaných systémových protokolov budete vedieť, či bola zmena spojená so škodlivým obsahom.

Príkazy systému Linux, ktoré sa majú použiť

Napíšeme niekoľko jednoduchých príkazov, ktoré nám pomôžu pochopiť objektivizované dôsledky tohto článku. Najprv musíte spustiť terminál a prejsť na systémovú cestu, o ktorej viete, že obsahuje veľa súborov a adresárov. Aby ste boli v bezpečí a nehrali sa so svojimi zraniteľnými systémovými súbormi, môžete použiť adresár „Documents“, ktorý je zvyčajne preddefinovaný v operačnom systéme Linux. Nasledujúci príkaz by vás mal dostať do tohto adresára „Dokumenty“.

$ cd ~ / Dokumenty

Je to populárny adresár s mnohými súbormi a podadresármi. Ďalším adresárom, ktorý sa použije v tomto experimente s článkom, je adresár „Downloads“. Je to jedno miesto, kde vám nikdy nebudú chýbať stiahnuté súbory a ďalšie podadresáre.

$ cd ~ / Súbory na stiahnutie

Na zahájenie tohto experimentu potrebujeme z nášho terminálu nejaký relatívny výstup vzorky. Na našom termináli zadáme príkazový reťazec, ktorý nám umožní zoznam aktívnych súborov a im priradených podadresárov. Každý prvok výsledného výstupu z tohto príkazu bude tiež prepojený s časovou značkou, ktorá ukazuje na posledný pokus o modifikáciu v pridruženom súbore, adresári alebo podadresári.

Príkazový reťazec, ktorý sa má použiť, je nasledovný:

$ nájsť . -printf '% T @% t% p \ n' | triediť -k 1 -n | rez -d "-f2-

Screenshot nižšie je výstupom na použitie vyššie uvedeného príkazového reťazca.

ukážkový výstup príkazu find, sort a cut

Z analytického hľadiska predstavuje spodná obrazovka výstupu príkazu naposledy upravené položky vo vašom nadradenom pracovnom adresári. Zoznam výstupov môže byť dlhý, v závislosti od súborov a priečinkov, ktoré máte vo svojom prístroji. Posunutie nahor na výstupnom termináli odhalí staršie súbory a úpravy priečinkov. Stručne povedané, máme výstup, ktorý zaraďuje najstaršie súbory a úpravy priečinkov k najnovším úpravám.

Ako ste si všimli, vyššie uvedený príkazový reťazec, ktorý ste vložili do svojho terminálu, má tri dôležité argumenty príkazu. Musíme pochopiť, čo každý z nich robí.

Nájsť

Príkaz „find“ je prvý, ktorý sa vykoná z príkazového reťazca. Jeho jediným cieľom je rekurzívne vypisovať aktívne súbory a adresáre vo vašom nadradenom pracovnom adresári. „.Argument, ktorý nasleduje za argumentom „find“, nasmeruje tento príkaz na aktuálny pracovný adresár. Ak si nie ste istí adresárom, v ktorom sa nachádzate; môžete zadať príkaz „pwd“ na svojom termináli. Vytlačí cestu k adresáru, v ktorom sa momentálne nachádzate.

„.Argument ”sa prekladá ako výstup príkazu„ pwd ”. Uľahčuje vyhľadanie súborov a adresárov aktuálneho pracovného adresára. Ďalším argumentom v príkazovom reťazci je „-printf“. Je to príznak pre argument tlače. Vytlačí súbory a adresáre vo vašom aktuálnom pracovnom adresári v zadanom formáte. Formát, ktorý vyžaduje, je určený argumentom „% T @% t% p \ n“. Okamžite po ňom nasleduje argument príkazu.

Časť „% T @“ tohto argumentu predstavuje čas epochy. Podľa definície je epocha alebo unixová epocha časovou známkou 1. januára 1970. Je to vyjadrené ako 00:00:00 UTC. Výstup na vašom termináli má tento formát, ktorý predstavuje dátumy zmien spojené s uvedenými súbormi a adresármi. '% T' časť argumentu teraz trvá epochový formát času, aby sa zobrazila časová pečiatka poslednej úpravy asociovaná s uvedenými súbormi a adresármi.

V závislosti od distribúcie alebo príchuti systému Linux nemusí výstup terminálu zobrazovať epochu spojenú s výstupným zoznamom upravených súborov. Toto vyhlásenie je dôkazom výsledku z môjho konca.

Časť '% p' ​​argumentu generuje názvy zobrazených súborov v danom aktuálnom pracovnom adresári. Napokon časť argumentu „/ n“ slúži na účel znaku nového riadku. Po každom nasledujúcom zozname upraveného súboru tento znak nového riadku prejde kurzorom na displeji a preskočí ďalšie zobrazenie súboru na nový riadok na obrazovke terminálu. Uľahčuje nám to priradenie každého zobrazeného súboru inak.

Ďalším prístupom k práci s vyššie uvedeným príkazovým reťazcom je nahradenie časti „% t“ argumentu „% T @% t% p \ n“ výrazom „% c“. Výsledný príkazový reťazec by mal vyzerať podobne ako tento:

$ nájsť . -printf '% T @% c% p \ n' | triediť -k 1 -n | rez -d "-f2-

Výstup spustenia tohto príkazového reťazca by mal vyprodukovať výstup podobný nasledujúcemu obrázku.

zmena argumentov pri vyhľadávaní súboru rekurzívne príkaz

Pozorovanie vyššie uvedenej snímky obrazovky horlivo odhaľuje nasledujúce pozorovanie. Výstupný zoznam súborov v aktuálnom pracovnom adresári sa zobrazuje s „časom poslednej zmeny stavu“ namiesto s „časom úpravy“. Účinkom je nahradenie '% c' za '% t' v „% T @% t% p \ n“. Tento posledný príkaz vytlačí zmeny povolení spojené so zoznamom výstupných súborov. Obsah súborov sa nemusí meniť, ale metaúdaje s nimi spojené sa menia.

V tejto fáze výstupné výsledky nenásledujú chronologické poradie, pretože je potrebné adresovať príkaz na triedenie. Najskôr sa vytlačí časová pečiatka zmeny a za ňou názov priradeného súboru.

Triediť

Tento argument príkazu má tri parametre, konkrétne „-k“, „1“ a „n“. Príkaz sort je zodpovedný za poradie, v akom sa výstup zo zoznamu súborov zobrazuje na našich obrazovkách. V takom prípade sa najskôr vytlačí dátum zmeny a potom nasleduje cesta k súboru k upravenému súboru alebo adresáru. Časť „-k“ tohto argumentu príkazu označuje začiatočnú pozíciu na začatie procesu triedenia.

Časť „-k“ argumentu príkazu triedenia obsahuje otázku zodpovedanú časťou „1“ toho istého argumentu. V takom prípade sa proces triedenia začína od prvého stĺpca, ktorý je označený číslom „1“. Argument príkazu sort je tiež zodpovedný za to, že najnovší upravený súbor je v dolnej časti zoznamu a najstarší v hornej časti. Časť '-n' argumentu je zodpovedná za číselný údaj času s presnosťou na desatinné miesta.

Ak použijete „-nr“ namiesto „-n“, výstup príkazového reťazca bude mať novo upravené súbory a adresáre nad výstupom terminálu a staré úpravy súborov v dolnej časti. Obráti poradie triedenia výstupu terminálu.

Vystrihnúť

Hlavným účelom argumentu príkazu „cut“ je usporiadať výstup nášho terminálového výtlačku uprataným spôsobom. Možnosti „-d“ a „tohto argumentu príkazu sa kombinujú, aby vytvorili biele medzery a potom odrezali výtlačok podrobností o obsahu súboru, ktorý by sa mohol pokúsiť nahradiť tieto medzery.

Pomocou tohto jednoduchého príkazového reťazca môžete rekurzívne tlačiť súbory do aktuálneho pracovného adresára, pričom každý výstup prepája uvedené súbory s ich dátumami úprav.

Alternatívne možnosti príkazu

Môžete namietať, že príkaz „ls -lrt“ dokonale vypíše všetky súbory v rámci cesty k aktívnemu adresáru vo vašom operačnom systéme Linux, od najstarších po úpravy po najnovšie. Na druhej strane tento príkaz nezohľadňuje obsah súboru existujúci v podpriečinkoch. Ak výpis podadresárov nie je vašim cieľom, môžete do príkazového reťazca pridať argument „-type f“. Zvážte nasledujúcu úpravu príkazu.

$ nájsť . -zadajte f -printf '% T @% t% p \ n' | triediť -k 1 -n | rez -d "-f2-

Použitie argumentu príkazu „-type d“ bude mať opačný účinok ako vyššie uvedený príkaz. Váš terminál bude vydávať iba zmenené adresáre od najstaršieho po najnovší. Zvážte jeho dôsledky nasledovne:

$ nájsť . -typ d -printf '% T @% t% p \ n' | triediť -k 1 -n | rez -d "-f2-

Záverečná poznámka

Teraz už viete, ako rekurzívne tlačiť súbory a adresáre vo vašom súčasnom pracovnom adresári, a navyše máte vedomosti o tom, kedy boli naposledy zmenené na základe ich súvisiacich časových značiek.

Z týchto poznatkov máte schopnosť zostaviť časovú os udalostí, ktorá chronologicky odhaľuje poradie úprav súborov a adresárov spolu s cestou k miestu ich uloženia.

Hry Nainštalujte si najnovší Dolphin Emulator pre Gamecube a Wii na Linuxe
Nainštalujte si najnovší Dolphin Emulator pre Gamecube a Wii na Linuxe
Emulátor Dolphin vám umožní hrať vybrané hry Gamecube a Wii na osobných počítačoch Linux (PC). Emulátor Dolphin, ktorý je voľne dostupným emulátorom ...
Hry Ako používať GameConqueror Cheat Engine v Linuxe
Ako používať GameConqueror Cheat Engine v Linuxe
Tento článok obsahuje sprievodcu používaním cheatovacieho modulu GameConqueror v systéme Linux. Mnoho používateľov, ktorí hrajú hry v systéme Windows,...
Hry Najlepšie emulátory herných konzol pre systém Linux
Najlepšie emulátory herných konzol pre systém Linux
V tomto článku je uvedený zoznam populárneho softvéru na emuláciu herných konzol, ktorý je k dispozícii pre systém Linux. Emulácia je vrstva kompatibi...