Belajar Linux

Cara mencari dan menyenaraikan fail mengikut tarikh di Linux secara berulang

Cara mencari dan menyenaraikan fail mengikut tarikh di Linux secara berulang

Sebab utama kebanyakan pengguna sistem operasi memilih Linux berbanding sistem operasi lain adalah kebebasan untuk meneroka. Dengan Linux, anda terikat dengan beberapa peraturan sistem operasi yang digabungkan secara longgar. OS telah menentukan beberapa peraturan standard yang boleh diubah untuk digunakan di persekitarannya.

Sebaik sahaja anda melepaskan mantel pemula, anda boleh keluar dari peraturan lalai ini dan membuat peraturan anda sendiri. Di Linux, sistem operasi adalah hamba setia anda dan anda tuannya.

Kes ini tidak dapat dilaksanakan dalam pengedaran sistem operasi lain kerana terdapat terlalu banyak abstraksi. Sistem operasi di sini lebih banyak daripada pembantu anda. Anda tidak boleh mempunyai lebih banyak kuasa daripada sistem operasi, seperti pada Linux. Semasa anda terus membina pengalaman pengguna di bawah persekitaran OS Linux, rasa ingin tahu OS anda akan bertambah setiap hari. Anda pasti ingin mengetahui apa yang tersembunyi di sini dan apa lagi yang boleh anda lakukan di bawah payungnya.

Bekerja dengan fail dan direktori di Linux

Senario kes yang sempurna adalah interaksi harian anda dengan fail dan folder di bawah persekitaran sistem operasi Linux. Terdapat lebih banyak cara menggunakan sistem fail OS Linux daripada hanya membuat, mengedit, mengubah, dan menghapus sistem dan folder fail pengguna. Setiap tindakan yang dikaitkan dengan fail pengguna dan folder / direktori di bawah persekitaran Linux meninggalkan jejak pengguna atau cap jari. Ia seperti memasuki bilik untuk menyentuh dan menukar barang.

Sekiranya tuan tanah atau penjaga Linux menguruskan ruangan yang anda masukkan, ia akan mengetahui dengan tepat apa yang anda lakukan dan item mana yang anda sentuh atau tukar. Linux mempunyai arahan yang berguna untuk membantu kita mencapai hasil tersebut. Anda akan mengetahui apa yang berlaku pada fail dan folder di OS Linux anda dan mengenal pasti tindakan ini berdasarkan ketika ia berlaku.

Ringkasnya, ketika berurusan dengan fail dan direktori di bawah lingkungan sistem operasi Linux, kita dapat membangun garis waktu peristiwa untuk mengidentifikasi modifikasi file yang rentan melalui cap waktu yang dilampirkan pada setiap modifikasi. Sebagai kelebihan, anda akan mengetahui sama ada pengubahsuaian itu dikaitkan dengan kandungan berniat jahat melalui log sistem yang dihasilkan.

Linux memerintahkan untuk menggunakan

Kami akan memberikan beberapa arahan mudah untuk membantu kami memahami implikasi objektif dari artikel ini. Mula-mula anda perlu melancarkan terminal anda dan menavigasi jalan sistem yang anda tahu mempunyai banyak fail dan direktori folder. Agar aman dan tidak bermain-main dengan fail sistem yang rentan, Anda dapat menggunakan direktori "Dokumen" yang biasanya ditentukan sebelumnya dalam sistem operasi Linux. Perintah berikut harus membawa anda ke direktori "Dokumen" ini.

$ cd ~ / Dokumen

Ini adalah direktori yang popular dengan banyak fail dan sub-direktori. Direktori lain yang akan digunakan untuk eksperimen artikel ini adalah direktori "Muat turun". Ini adalah satu tempat yang tidak akan anda terlepas fail yang dimuat turun dan sub-direktori lain.

$ cd ~ / Muat turun

Untuk memulakan eksperimen ini, kami memerlukan beberapa output sampel yang dapat dihubungkan dari terminal kami. Kami akan memasukkan rentetan arahan di terminal kami yang membolehkan kami menyenaraikan fail aktif dan subdirektori yang berkaitan. Juga, setiap elemen output yang dihasilkan dari perintah ini akan dihubungkan dengan cap waktu yang menunjukkan percubaan modifikasi terakhir pada file, direktori, atau subdirektori yang terkait.

Rentetan arahan yang akan digunakan adalah seperti berikut:

$ cari . -printf '% T @% t% p \ n' | urutkan -k 1 -n | potong -d "-f2-

Tangkapan skrin di bawah adalah output untuk menggunakan rentetan arahan di atas.

contoh output menggunakan perintah find, sort, and cut

Dari sudut pandangan analitik, skrin bawah output arahan mewakili item yang baru diubah suai pada direktori kerja induk anda. Senarai keluarannya panjang, bergantung pada fail dan folder yang ada pada mesin anda. Menggulir ke atas ke terminal output menunjukkan pengubahan fail dan folder yang lebih lama. Ringkasnya, kami mempunyai output yang menempatkan modifikasi fail dan folder tertua kepada modifikasi terbaru.

Seperti yang anda perhatikan, rentetan perintah di atas yang anda tempelkan di terminal anda mempunyai tiga argumen arahan penting. Kita perlu memahami apa yang masing-masing lakukan.

Cari

Perintah "cari" adalah yang pertama dilaksanakan dari rentetan arahan. Ia mempunyai objektif tunggal untuk menyenaraikan fail dan direktori aktif secara berulang di direktori kerja ibu bapa anda. The ".Argumen yang mengikuti argumen "cari" menunjukkan arahan ini ke direktori kerja semasa. Sekiranya anda tidak pasti direktori yang anda berada; anda boleh memasukkan arahan "pwd" di terminal anda. Ia akan mencetak jalan ke direktori yang sedang anda lalui.

The ".Argumen diterjemahkan sebagai output dari perintah "pwd". Ini menjadikannya lebih mudah untuk mencari fail dan direktori dari direktori kerja semasa anda. Argumen seterusnya pada rentetan perintah adalah "-printf". Ini adalah bendera untuk argumen cetak. Ia mencetak fail dan direktori pada direktori kerja semasa anda dalam format yang ditentukan. Format yang diperlukan ditentukan oleh argumen "% T @% t% p \ n". Ini adalah hujah perintah yang segera mengikutinya.

Bahagian '% T @' argumen ini mewakili masa zaman. Secara definisi, waktu zaman atau zaman Unix adalah cap waktu pada 1 Januari 1970. Ia dinyatakan sebagai 00:00:00 UTC. Keluaran pada terminal anda mengambil format ini untuk mewakili tarikh pengubahsuaian yang berkaitan dengan fail dan direktori yang disenaraikan. Bahagian '% t' argumen kini mengambil format masa untuk memaparkan cap waktu pengubahsuaian terkini yang berkaitan dengan fail dan direktori yang disenaraikan.

Bergantung pada distro atau citarasa Linux anda, output terminal mungkin tidak memaparkan masa zaman yang berkaitan dengan senarai output fail yang diubah. Kenyataan ini adalah bukti output dari akhir saya.

Bahagian '% p' ​​dari argumen mengeluarkan nama-nama fail yang dipaparkan pada direktori kerja semasa. Akhirnya, bahagian argumen '/ n' berfungsi untuk tujuan watak barisan baru. Setelah setiap penyenaraian berturut-turut dari fail yang diubah, watak barisan baru ini mengambil kursor paparan dan melangkau paparan fail berikutnya ke baris baru di layar terminal. Ini memudahkan kita mengaitkan setiap fail yang dipaparkan secara berbeza.

Pendekatan lain untuk bekerja dengan rentetan perintah yang dinyatakan sebelumnya adalah menggantikan bahagian '% t' dari argumen "% T @% t% p \ n" dengan '% c'. Rentetan arahan yang dihasilkan mestilah serupa dengan yang berikut:

$ cari . -printf '% T @% c% p \ n' | urutkan -k 1 -n | potong -d "-f2-

Output menjalankan rentetan arahan ini harus menghasilkan output yang serupa dengan tangkapan skrin berikut.

menukar hujah pada perintah mencari fail secara rekursif

Memerhatikan tangkapan skrin di atas dengan jelas menunjukkan pemerhatian berikut. Senarai output fail pada direktori kerja saat ini ditampilkan dengan "waktu perubahan status terakhir" dan bukan "waktu pengubahsuaian". Ini adalah kesan penggantian '% c' dengan '% t' dalam "% T @% t% p \ n". Perintah terakhir ini mencetak perubahan kebenaran yang berkaitan dengan senarai fail yang dikeluarkan. Kandungan fail mungkin tidak berubah, tetapi metadata yang berkaitan dengannya.

Pada peringkat ini, hasil output tidak mengikut urutan kronologi kerana kita masih belum menangani perintah semacam. Cap waktu pengubahsuaian dicetak terlebih dahulu, diikuti dengan nama fail yang berkaitan.

Susun

Argumen perintah ini mempunyai tiga parameter, iaitu '-k', '1', dan 'n'. Perintah urut bertanggungjawab untuk urutan di mana output senarai fail muncul di skrin kami. Dalam kes ini, tarikh pengubahsuaian dicetak terlebih dahulu, diikuti dengan jalur fail ke fail atau direktori yang diubah. Bahagian '-k' dari argumen arahan ini menunjukkan kedudukan awal untuk memulakan proses penyortiran.

Bahagian '-k' dari argumen perintah semacam mempunyai soalan yang dijawab oleh bahagian '1' dari argumen yang sama. Dalam kes ini, proses penyortiran bermula dari lajur pertama seperti yang ditunjukkan oleh '1'. Argumen perintah semacam juga bertanggungjawab untuk fail yang diubahsuai terbaru berada di bahagian bawah senarai dan yang tertua di bahagian atas. Bahagian '-n' argumen bertanggungjawab untuk numerik masa dengan ketepatan titik perpuluhan.

Sekiranya anda menggunakan '-nr' dan bukan '-n', output string arahan akan mempunyai fail dan direktori yang baru diubah di atas output terminal dan modifikasi fail lama di bahagian bawah. Ia membalikkan urutan penyusun output terminal.

Potong

Tujuan utama argumen perintah "potong" adalah untuk mengatur output cetakan terminal kami dengan cara yang kemas. Pilihan '-d' dan "argumen perintah ini bergabung untuk menghasilkan ruang putih dan kemudian memotong cetakan butiran kandungan fail yang mungkin akan berjaya menggantikan ruang putih ini.

Dengan rentetan arahan yang mudah ini, anda dapat mencetak fail secara berkala pada direktori kerja semasa anda, dengan setiap output menghubungkan fail tersebut ke tarikh pengubahsuaiannya.

Pilihan arahan alternatif

Anda mungkin berpendapat bahawa perintah "ls -lrt" dengan sempurna menyenaraikan semua fail dalam jalur direktori aktif pada sistem operasi Linux anda, dari yang tertua hingga diubah menjadi yang terbaru. Sebaliknya, perintah ini tidak mempertimbangkan kandungan fail yang ada dalam subfolder. Sekiranya menyenaraikan subdirektori bukan objektif anda, anda boleh menambahkan argumen "-type f" ke string perintah. Pertimbangkan pengubahsuaian perintah berikut.

$ cari . -taip f -printf '% T @% t% p \ n' | urutkan -k 1 -n | potong -d "-f2-

Menggunakan argumen perintah "-type d" akan memberi kesan yang berlawanan dengan perintah di atas. Terminal anda hanya akan mengeluarkan direktori yang diubah dari yang tertua hingga yang terbaru. Pertimbangkan implikasinya seperti berikut:

$ cari . -taip d -printf '% T @% t% p \ n' | urutkan -k 1 -n | potong -d "-f2-

Catatan akhir

Anda sekarang sudah biasa dengan panduan untuk mencetak fail dan direktori secara rekursif pada direktori semasa anda dengan pengetahuan tambahan untuk mengetahui kapan terakhir kali diubah berdasarkan cap waktu yang berkaitan.

Dari pengetahuan ini, anda mempunyai kemampuan untuk menyusun garis masa peristiwa yang secara kronologi memperlihatkan susunan pengubahsuaian fail dan direktori bersama dengan jalan ke lokasi penyimpanan mereka.

Alat Berguna untuk Pemain Linux
Sekiranya anda suka bermain permainan di Linux, kemungkinan anda telah menggunakan aplikasi dan utiliti seperti Wine, Lutris dan OBS Studio untuk meni...
HD Remastered Games untuk Linux yang Tidak Pernah Melancarkan Linux Sebelumnya
Banyak pembangun dan penerbit permainan hadir dengan penghapus HD permainan lama untuk memperpanjang usia francais, harap peminat meminta keserasian d...
Cara Menggunakan AutoKey untuk Mengautomasikan Permainan Linux
AutoKey adalah utiliti automasi desktop untuk Linux dan X11, yang diprogramkan dalam Python 3, GTK dan Qt. Dengan menggunakan skrip dan fungsi MACRO, ...