Sužinokite „Linux“

Kaip rekursyviai rasti ir surašyti failus pagal datą sistemoje „Linux“

Kaip rekursyviai rasti ir surašyti failus pagal datą sistemoje „Linux“

Pagrindinė priežastis, kodėl dauguma operacinės sistemos vartotojų renkasi „Linux“, o ne kitas operacines sistemas, yra laisvė tyrinėti. Naudodami „Linux“, privalote laikytis kai kurių laisvai susietų operacinės sistemos taisyklių. OS iš anksto nustato keletą keičiamų standartinių taisyklių, kurias reikia naudoti savo aplinkoje.

Nusimetę pradedančiojo paltą, galite išeiti iš šių numatytų taisyklių ir sukurti savo. „Linux“ operacinė sistema yra jūsų ištikimas tarnas, o jūs - šeimininkas.

Šis atvejis nėra perspektyvus kituose operacinių sistemų paskirstymuose, nes yra per daug abstrakcijų. Operacinės sistemos yra daugiau jūsų padėjėjas. Niekada negali turėti daugiau energijos nei operacinė sistema, kaip, pavyzdžiui, „Linux“ atveju. Toliau kuriant savo vartotojo patirtį „Linux“ OS aplinkoje, jūsų OS smalsumas augs kasdien. Visada norėsite sužinoti, kas čia paslėpta ir ką dar galite nuveikti po jos skėčiu.

Darbas su failais ir katalogais sistemoje „Linux“

Puikus atvejis yra jūsų kasdieninė sąveika su failais ir aplankais „Linux“ operacinės sistemos aplinkoje. Linux OS failų sistemos naudojimas yra ne tik vartotojo failų sistemų ir aplankų kūrimas, redagavimas, modifikavimas ir ištrynimas. Kiekvienas veiksmas, susietas su vartotojo failais ir aplankais / katalogais „Linux“ aplinkoje, palieka vartotojo pėdsaką arba piršto atspaudą. Tai tarsi įėjimas į kambarį, norint liesti daiktus ir keistis jais.

Jei „Linux“ nuomotojas ar sargas tvarko jūsų įvestą kambarį, jis tiksliai žinos, ką jūs padarėte ir kuriuos daiktus palietėte ar pakeitėte. „Linux“ turi naudingų komandų, padedančių mums pasiekti tokių rezultatų. Jūs sužinosite, kas nutiko failams ir aplankams jūsų „Linux“ operacinėje sistemoje, ir nustatysite šiuos veiksmus pagal tai, kada jie įvyko.

Trumpai tariant, tvarkydami failus ir katalogus „Linux“ operacinės sistemos aplinkoje, mes galime sukurti įvykių laiko juostą, kad nustatytume pažeidžiamas failų modifikacijas per laiko žymes, pridedamas prie kiekvienos modifikacijos. Privalu žinoti, ar modifikacija buvo susieta su kenkėjišku turiniu per sugeneruotus sistemos žurnalus.

„Linux“ komandos, kurias reikia naudoti

Pateiksime keletą paprastų komandų, kurios padės suprasti objektyvią šio straipsnio reikšmę. Pirmiausia turite paleisti terminalą ir naršyti sistemos kelią, kuriame, jūsų manymu, yra daug failų ir aplankų katalogų. Norėdami būti saugūs ir nežaisti su pažeidžiamais sistemos failais, galite naudoti katalogą „Dokumentai“, kuris paprastai yra iš anksto nustatytas „Linux“ operacinėje sistemoje. Ši komanda turėtų patekti į šį „Dokumentų“ katalogą.

$ cd ~ / Dokumentai

Tai populiarus katalogas su daugybe failų ir pakatalogių. Kitas katalogas, naudojamas šiame eksperimente, yra katalogas „Atsisiuntimai“. Tai yra viena vieta, kur niekada nepraleisite atsisiųstų failų ir kitų pakatalogių.

$ cd ~ / Atsisiuntimai

Norėdami pradėti šį eksperimentą, mums reikia šiek tiek panašaus pavyzdžio iš mūsų terminalo. Savo terminale įvesime komandų eilutę, kuri leis mums išvardyti aktyvius failus ir su jais susijusius pakatalogius. Be to, kiekvienas gautos šios komandos išvesties elementas bus susietas su laiko žyme, nurodančia paskutinį bandymą modifikuoti susietą failą, katalogą ar pakatalogį.

Naudojama komandų eilutė yra tokia:

$ rasti . -printf '% T @% t% p \ n' | rūšiuoti -k 1 -n | iškirpti -d "-f2-

Žemiau esanti ekrano kopija yra išvestis, skirta naudoti pirmiau pateiktą komandų eilutę.

pavyzdys išvesties naudojant komandą rasti, rūšiuoti ir iškirpti

Analitiniu požiūriu apatinis komandos išvesties ekranas rodo neseniai modifikuotus elementus jūsų tėvų darbo kataloge. Išvesties sąrašas gali būti ilgas, atsižvelgiant į failus ir aplankus, kuriuos turite savo kompiuteryje. Slinkdami aukštyn išvesties terminale, pamatysite senesnius failus ir aplankų modifikacijas. Apibendrinant galima pasakyti, kad turime išvestį, kurioje reitinguojami seniausi failų ir aplankų pakeitimai iki naujausių.

Kaip pastebėjote, aukščiau esančioje komandoje, kurią įklijavote savo terminale, yra trys svarbūs komandos argumentai. Turime suprasti, ką daro kiekvienas iš jų.

Rasti

„Find“ komanda yra pirmoji, vykdoma iš komandų eilutės. Jo vienintelis tikslas yra rekursyviai įrašyti aktyvius failus ir katalogus į tėvų darbo katalogą. „.“Argumentas, einantis po„ find “argumento, nukreipia šią komandą į dabartinį darbo katalogą. Jei nesate tikras dėl katalogo, kuriame esate; galite įvesti terminalo komandą „pwd“. Tai atspausdins kelią į katalogą, kuriame šiuo metu esate.

„.“Argumentas verčiamas kaip„ pwd “komandos išvestis. Tai palengvina dabartinio darbo katalogo failų ir katalogų paiešką. Kitas komandos eilutės argumentas yra „-printf“. Tai yra spausdinimo argumento vėliava. Jis spausdina failus ir katalogus jūsų dabartiniame darbo kataloge nurodytu formatu. Formatą reikia nurodyti argumentu „% T @% t% p \ n“. Tai yra komandos argumentas, kuris iškart po jo eina.

Šio argumento dalis „% T @“ reiškia epochos laiką. Pagal apibrėžimą epochos laikas arba „Unix“ epocha yra laiko žymė 1970 m. Sausio 1 d. Tai pateikiama kaip 00:00:00 UTC. Terminalo išvestis naudoja šį formatą, kad atspindėtų modifikavimo datas, susijusias su išvardytais failais ir katalogais. Argumento „% t“ dalis dabar užima epochos laiko formatą, kad būtų rodoma naujausia modifikavimo laiko žymė, susieta su išvardytais failais ir katalogais.

Priklausomai nuo jūsų „Linux“ platinimo ar skonio, terminalo išvestyje gali būti nerodomas epochos laikas, susietas su modifikuotų failų išvesties sąrašu. Šis teiginys yra mano pabaigos rezultatų įrodymas.

Argumento „% p“ dalis pateikia dabartiniame darbo kataloge rodomų failų pavadinimus. Galiausiai argumento „/ n“ dalis tarnauja naujos eilutės simboliui. Po kiekvieno iš eilės pakeisto failo sąrašo šis naujos eilutės simbolis nukreipia rodyklės žymeklį ir praleidžia kitą failo rodinį į naują eilutę terminalo ekrane. Tai leidžia mums lengviau susieti kiekvieną rodomą failą skirtingai.

Kitas būdas dirbti su anksčiau nurodyta komandų eilute yra argumento „% T @% t% p \ n“ dalies „% t“ pakeitimas „% c“. Gauta komandų eilutė turėtų atrodyti panašiai kaip:

$ rasti . -printf '% T @% c% p \ n' | rūšiuoti -k 1 -n | iškirpti -d "-f2-

Paleidžiant šią komandų eilutę išvestis turėtų sukurti išvestį, panašią į šią ekrano kopiją.

komandų keitimo argumentai ieškant failo rekursyviai

Stebint aukščiau pateiktą ekrano kopiją, labai pastebimas šis pastebėjimas. Failų, esančių dabartiniame darbo kataloge, išvesties sąraše vietoj „modifikavimo laiko“ rodomas „paskutinio būsenos pakeitimo laikas“. Tai yra „% c“ pakeitimo „% t“ efektu vietoje „% T @% t% p \ n“. Ši paskutinė komanda atsispausdina leidimų pakeitimus, susijusius su išvestų failų sąrašu. Failų turinys gali nesikeisti, bet su jais susieti metaduomenys.

Šiame etape išvesties rezultatai nesilaiko chronologinės tvarkos, nes mes dar turime išspręsti komandą rūšiuoti. Pirmiausia atspausdinama modifikacijos laiko žyma, po kurios nurodomas susieto failo pavadinimas.

Rūšiuoti

Šis komandos argumentas turi tris parametrus, ty „-k“, „1“ ir „n“. Rūšiavimo komanda yra atsakinga už failų sąrašo išvesties rodymo mūsų ekranuose tvarką. Tokiu atveju pirmiausia spausdinama modifikavimo data, po kurios nurodomas failo kelias į modifikuotą failą ar katalogą. Šio komandos argumento „-k“ dalis nurodo pradinę padėtį pradėti rūšiavimo procesą.

Rūšiavimo komandos argumento „-k“ dalis kelia klausimą, į kurį atsakoma to paties argumento „1“ dalimi. Tokiu atveju rūšiavimo procesas prasideda nuo pirmojo stulpelio, nurodyto „1“. Rūšiavimo komandos argumentas taip pat yra atsakingas už tai, kad naujausias modifikuotas failas būtų sąrašo apačioje, o seniausias - viršuje. Argumento „-n“ dalis atsako už laiko skaičių tikslumu po kablelio.

Jei vietoj „-n“ naudosite „-nr“, komandos eilutės išvestyje bus naujai modifikuoti failai ir katalogai terminalo išvesties viršuje, o senos failų modifikacijos apačioje. Tai pakeičia terminalo išvesties rūšiavimo tvarką.

Iškirpti

Pagrindinis „cut“ komandos argumento tikslas yra tvarkingai tvarkyti mūsų terminalo spaudinio išvestį. Šios komandos argumento „-d“ ir „“ parinktys sukuria tarpus ir sukuria išsamią failo turinio išspausdinimą, kuris gali bandyti sėkmingai naudoti šias tarpus.

Naudodami šią paprastą komandų eilutę, galite rekursyviai atsispausdinti failus dabartiniame darbo kataloge, kiekvienam išėjimui susiejus minėtus failus su jų modifikavimo datomis.

Alternatyvios komandos parinktys

Galite teigti, kad komanda „ls -lrt“ puikiai pateikia visus failus, esančius aktyviame katalogo kelyje jūsų „Linux“ operacinėje sistemoje, nuo seniausių iki modifikuojamų iki naujausių. Kita vertus, ši komanda nemano, kad failo turinys yra pakatalogiuose. Jei pakatalogių sąrašas nėra jūsų tikslas, prie komandų eilutės galite pridėti argumentą „-type f“. Apsvarstykite šį komandos pakeitimą.

$ rasti . -tipas f -printf '% T @% t% p \ n' | rūšiuoti -k 1 -n | iškirpti -d "-f2-

Argumento „-type d“ naudojimas turės priešingą poveikį nei aukščiau nurodyta komanda. Jūsų terminalas išleis tik pakeistus katalogus nuo seniausių iki naujausių. Apsvarstykite jo reikšmę taip:

$ rasti . -d tipas -printf '% T @% t% p \ n' | rūšiuoti -k 1 -n | iškirpti -d "-f2-

Paskutinė pastaba

Dabar esate susipažinę su rekursyvaus failų ir katalogų spausdinimo dabartiniame darbo kataloge aprašymu, turėdami papildomų žinių apie tai, kada jie paskutinį kartą buvo modifikuoti pagal susietas laiko žymes.

Iš šių žinių turite galimybę sudaryti įvykių laiko juostą, kuri chronologiškai atskleidžia failų ir katalogų modifikavimo tvarką kartu su keliu į jų saugojimo vietą.

How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...
Peržiūrėkite pelės mygtukus skirtingai programinei įrangai naudodami „X-Mouse Button Control“
Galbūt jums reikia įrankio, kuris galėtų pakeisti jūsų pelės valdymą kiekvienoje jūsų naudojamoje programoje. Tokiu atveju galite išbandyti programą, ...
„Microsoft Sculpt Touch“ belaidžio pelės apžvalga
Neseniai skaičiau apie „Microsoft Sculpt Touch“ belaidę pelę ir nusprendė ją nusipirkti. Kurį laiką naudojęs, nusprendžiau pasidalinti savo patirtimi....