Cara Menggunakan Perintah stat pada Linux

Terminal Linux pada desktop gaya Ubuntu.

Fatmawati Achmad Zaenuri/Shutterstock.com



Linux |_+_| arahan menunjukkan anda lebih terperinci daripada |__+_| tidak. Intip di sebalik tirai dengan utiliti bermaklumat dan boleh dikonfigurasikan ini. Kami akan menunjukkan kepada anda cara menggunakannya.

stat Membawa Anda Di Sebalik Tabir

|_+_| arahan itu hebat dalam apa yang dilakukannya—dan ia banyak membantu—tetapi dengan Linux, nampaknya sentiasa ada cara untuk pergi lebih dalam dan melihat apa yang ada di bawah permukaan. Dan selalunya, ia bukan hanya kes mengangkat pinggir permaidani. Anda boleh mengoyakkan papan lantai dan kemudian menggali lubang. Anda boleh mengupas Linux seperti bawang.





10 Perintah Linux Asas untuk Pemula BERKAITAN 10 Perintah Linux Asas untuk Pemula

|_+_| akan menunjukkan kepada anda banyak maklumat tentang fail, seperti kebenaran yang ditetapkan padanya, dan berapa besarnya, dan sama ada fail atau pautan simbolik . Untuk memaparkan maklumat ini |__+_| membacanya daripada a struktur sistem fail dipanggil inode .

Setiap fail dan direktori mempunyai inode. Inod memegang metadata tentang fail , seperti sistem fail yang menyekatnya, dan setem tarikh yang dikaitkan dengan fail. Inode adalah seperti kad perpustakaan untuk fail. Tetapi |_+_| hanya akan menunjukkan kepada anda beberapa maklumat. Untuk melihat segala-galanya, kita perlu menggunakan |_+_| perintah.



Suka |_+_| , |_+_| arahan mempunyai banyak pilihan. Ini menjadikannya calon yang bagus untuk penggunaan alias. Sebaik sahaja anda telah menemui set pilihan tertentu yang menjadikan |__+_| memberi anda output yang anda mahu, bungkusnya dalam alias atau fungsi shell . Ini menjadikannya lebih mudah untuk digunakan, dan anda tidak perlu mengingati set pilihan baris arahan yang misterius.

BERKAITAN: Cara Menggunakan Perintah ls untuk Menyenaraikan Fail dan Direktori di Linux

Perbandingan Pantas

Jom guna |__+_| untuk memberi kami senarai panjang ( |_+_| pilihan) dengan saiz fail yang boleh dibaca manusia ( |_+_| pilihan):



stat

Iklan

Dari kiri ke kanan, maklumat yang ls berikan ialah:

  • Watak pertama ialah tanda sempang - dan ini memberitahu kami fail itu ialah fail biasa dan bukan soket, symlink atau jenis objek lain.
  • Pemilik, kumpulan dan kebenaran lain disenaraikan dalam format oktal .
  • Bilangan pautan keras yang menghala ke fail ini. Dalam kes ini, dan dalam kebanyakan kes, ia akan menjadi satu.
  • Pemilik fail ialah dave.
  • Pemilik kumpulan ialah dave.
  • Saiz fail ialah 802 bait.
  • Fail terakhir diubah suai pada hari Jumaat, 13 Disember 2015.
  • Nama fail ialah |__+_|.

Mari lihat dengan |_+_| :

ls

Maklumat yang kami dapat daripada |__+_| ialah:

    Fail: Nama fail. Biasanya, ia adalah sama dengan nama yang kami berikan kepada |_+_| pada baris arahan, tetapi Ia boleh berbeza jika kita melihat pada pautan simbolik. Saiz: Saiz fail dalam bait. Blok: Bilangan blok sistem fail yang diperlukan oleh fail, untuk disimpan pada cakera keras. Blok IO: Saiz blok sistem fail. Jenis fail: Jenis objek yang diterangkan oleh metadata. Jenis yang paling biasa ialah fail dan direktori, tetapi ia juga boleh menjadi pautan, soket atau paip bernama. Peranti: Nombor peranti dalam perenambelasan dan perpuluhan. Ini ialah ID pemacu keras tempat fail disimpan. Inode: Nombor inod. Iaitu, nombor ID inode ini. Bersama-sama, nombor inod dan nombor peranti mengenal pasti fail secara unik. Pautan: Nombor ini menunjukkan bilangan pautan keras yang menghala ke fail ini. Setiap pautan keras mempunyai inod sendiri. Jadi cara lain untuk memikirkan angka ini ialah berapa banyak inod yang menunjuk ke fail yang satu ini. Setiap kali pautan keras dibuat atau dipadamkan, nombor ini akan dilaraskan ke atas atau ke bawah. Apabila ia mencapai sifar, fail itu sendiri telah dipadamkan, dan inod dikeluarkan. Jika anda menggunakan |__+_| pada direktori, nombor ini mewakili bilangan fail dalam direktori, termasuk . entri untuk direktori semasa dan .. entri untuk direktori induk. Akses: Kebenaran fail ditunjukkan dalam oktal dan tradisional |_+_| (baca, tulis, laksanakan format). Uid: ID Pengguna dan nama akaun pemilik. Panduan: ID Kumpulan dan nama akaun pemilik. Akses: Cap masa capaian. Tidak semudah yang disangka. Pengedaran Linux moden menggunakan skema yang dipanggil |_+_|, yang cuba melakukannya mengoptimumkan penulisan cakera keras yang diperlukan untuk mengemas kini masa capaian . Ringkasnya, masa capaian dikemas kini jika ia lebih lama daripada masa yang diubah suai. Ubah suai: Cap masa pengubahsuaian. Inilah masanya fail kandungan terakhir diubah suai. (Seperti nasib baik, kandungan fail ini kali terakhir ditukar empat tahun lalu hingga ke hari itu.) Ubah: Perubahan cap masa. Inilah masanya fail itu sifat-sifat atau kandungan terakhir ditukar. Jika anda mengubah suai fail dengan menetapkan kebenaran fail baharu, cap masa perubahan akan dikemas kini (kerana fail sifat-sifat telah berubah), tetapi cap waktu yang diubah suai tidak akan dikemas kini (kerana fail kandungan tidak diubah). kelahiran: Terpelihara untuk menunjukkan tarikh penciptaan asal fail, tetapi ini tidak dilaksanakan dalam Linux.

Memahami Cap Masa

Cap masa adalah sensitif zon waktu. |_+_| di hujung setiap baris menunjukkan bahawa fail ini dicipta pada komputer dalam a Waktu Sejagat yang diselaraskan (UTC) iaitu lima jam lebih awal daripada zon waktu komputer semasa. Jadi komputer ini berada lima jam di belakang komputer yang mencipta fail ini. Malah, fail itu dibuat pada komputer zon waktu UK dan kami melihatnya di sini pada komputer dalam zon waktu Standard Timur AS.

Ubah suai dan menukar cap masa boleh menyebabkan kekeliruan kerana, bagi yang belum tahu, nama mereka berbunyi seolah-olah mereka bermaksud perkara yang sama.

Jom guna |__+_| untuk mengubah suai kebenaran fail pada fail bernama |__+_|. Kami akan menjadikannya boleh ditulis oleh semua orang. Ini tidak akan menjejaskan kandungan fail, tetapi ia akan menjejaskan atribut fail.

ls

Dan kemudian kami akan menggunakan |__+_| untuk melihat cap masa:

ls

Iklan

Cap masa perubahan telah dikemas kini, tetapi yang diubah suai tidak.

The diubahsuai cap waktu hanya akan dikemas kini jika kandungan fail diubah. The ubah cap waktu dikemas kini untuk kedua-dua perubahan kandungan dan perubahan atribut.

Menggunakan Stat Dengan Berbilang Fail

Untuk mempunyai laporan statistik pada beberapa fail sekaligus, hantarkan nama fail kepada |_+_| pada baris arahan:

ls

Untuk menggunakan |_+_| pada set fail, gunakan padanan corak. Tanda tanya? mewakili mana-mana aksara tunggal, dan asterisk * mewakili mana-mana rentetan aksara. Kami boleh memberitahu |__+_| untuk melaporkan mana-mana fail yang dipanggil ana dengan sambungan huruf tunggal, dengan arahan ini:

ls

Menggunakan stat untuk Melaporkan pada Sistem Fail

|_+_| boleh melaporkan status sistem fail, serta status fail. |_+_| Pilihan (sistem fail) memberitahu |__+_| untuk melaporkan tentang sistem fail tempat fail tersebut berada. Ambil perhatian bahawa kita juga boleh menghantar direktori seperti / kepada |__+_| bukannya nama fail.

stat

Maklumat |_+_| memberi kita ialah:

    Fail: Nama fail. ID: ID sistem fail dalam tatatanda perenambelasan. Namelen: Panjang maksimum yang dibenarkan untuk nama fail. taip: Jenis sistem fail. Saiz blok: Jumlah data untuk meminta permintaan baca untuk kadar pemindahan data yang optimum. Saiz blok asas: Saiz setiap blok sistem fail.

Blok:

    Jumlah: Jumlah kiraan semua blok n sistem fail. Percuma: Bilangan blok percuma dalam sistem fail. Tersedia: Bilangan blok percuma yang tersedia untuk pengguna biasa (bukan root).

Inodes:

    Jumlah: Jumlah kiraan inod dalam sistem fail. Percuma: Bilangan inod percuma dalam sistem fail.

Menyahrujuk Pautan Simbolik

Jika anda menggunakan |__+_| pada fail yang sebenarnya merupakan pautan simbolik, ia akan melaporkan pada pautan. Jika anda mahu |__+_| untuk melaporkan fail yang dituju oleh pautan, gunakan |__+_| (dereference) pilihan. Fail |_+_| ialah pautan simbolik kepada |__+_| . Mari lihat tanpa |_+_| pilihan:

ls

Iklan

Nama fail menunjukkan |__+_| menunjuk ke ( |__+_| ) |_+_|. Saiz fail hanya 11 bait. Terdapat sifar blok yang dikhaskan untuk menyimpan pautan ini. Jenis fail disenaraikan sebagai pautan simbolik.

Jelas sekali, kami tidak melihat fail sebenar di sini. Mari lakukannya sekali lagi dan tambahkan |_+_| pilihan:

stat

Ini kini menunjukkan butiran fail untuk fail yang ditunjukkan oleh pautan simbolik. Tetapi ambil perhatian bahawa nama fail masih diberikan sebagai |__+_|. Ini adalah nama pautan, bukan fail sasaran. Ini berlaku kerana ini adalah nama yang kami berikan kepada |__+_| pada baris arahan.

Laporan Terse

|_+_| (terse) pilihan menyebabkan |__+_| untuk menyediakan ringkasan ringkas:

stat

Tiada petunjuk yang diberikan. Untuk memahaminya—sehingga anda menghafal jujukan medan—anda perlu merujuk silang output ini kepada |_+_| penuh pengeluaran.

Format Output Tersuai

Cara yang lebih baik untuk mendapatkan set data yang berbeza daripada |__+_| ialah menggunakan format tersuai. Terdapat senarai panjang token yang dipanggil urutan format. Setiap satu daripada ini mewakili elemen data. Pilih yang anda ingin sertakan dalam output dan buat rentetan format. Apabila kita memanggil |__+_| dan hantar rentetan format kepadanya, output hanya akan menyertakan elemen data yang kami minta.

Iklan

Terdapat set urutan format yang berbeza untuk fail dan sistem fail. Senarai untuk fail ialah:

    %kepada: Hak akses dalam oktal. %KEPADA: Hak capaian dalam bentuk yang boleh dibaca manusia (|__+_|). % b: Bilangan blok yang diperuntukkan. % B: Saiz dalam bait setiap blok. %d: Nombor peranti dalam perpuluhan. %D: Nombor peranti dalam hex. %f: Mod mentah dalam heks. %FJenis fail. %g: ID kumpulan pemilik. %G: Nama kumpulan pemilik. %h: Bilangan pautan keras. %i: Nombor inod. %m: Titik pelekap. %n: Nama fail. %N: Nama fail yang dipetik, dengan nama fail yang dinyahrujuk jika ia adalah pautan simbolik. %atau: Pembayang saiz pemindahan I/O yang optimum. %s: Jumlah saiz, dalam bait. %t: Jenis peranti utama dalam hex, untuk fail khas peranti aksara/sekat. %T: Jenis peranti kecil dalam hex, untuk fail khas peranti aksara/sekat. % u: ID pengguna pemilik. % U: Nama pengguna pemilik. %Dalam: Masa kelahiran fail, boleh dibaca manusia atau tanda sempang - jika tidak diketahui. %DALAM: Masa kelahiran fail, saat sejak Epoch; 0 jika tidak diketahui. % x: Masa akses terakhir, boleh dibaca manusia. % X: Masa akses terakhir, saat sejak Epoch. %Y: Masa pengubahsuaian data terakhir, boleh dibaca manusia. %Y: Masa pengubahsuaian data terakhir, saat sejak Epoch. %dengan: Masa perubahan status terakhir, boleh dibaca manusia. % DENGAN: Masa perubahan status terakhir, saat sejak Epoch.

Zaman ialah Zaman Unix , yang berlaku pada 1970-01-01 00:00:00 +0000 (UTC).

Untuk sistem fail, urutan format ialah:

    %kepada: Bilangan blok percuma yang tersedia untuk pengguna biasa (bukan root). % b: Jumlah blok data dalam sistem fail. % c: Jumlah inod dalam sistem fail. %d: Bilangan inod percuma dalam sistem fail. %f: Bilangan blok percuma dalam sistem fail. %i: ID sistem fail dalam perenambelasan. %L: Panjang maksimum nama fail. %n: Nama fail. %s: Saiz blok (saiz tulisan optimum). %S: Saiz blok sistem fail (untuk kiraan blok). %t: Jenis sistem fail dalam perenambelasan. %T: jenis sistem fail dalam bentuk yang boleh dibaca manusia.

Terdapat dua pilihan yang menerima rentetan urutan format. Ini ialah |_+_| dan |_+_|. Perbezaan antara mereka ialah |__+_| mentafsir Urutan pelarian gaya C seperti baris baharu |__+_| dan tab |_+_| , dan ia tidak secara automatik menambah aksara baris baharu pada outputnya.

Mari buat rentetan format dan hantarkannya kepada |__+_|. Urutan format yang akan digunakan ialah |__+_| untuk nama fail, |__+_| untuk saiz fail dan |_+_| untuk jenis fail. Kami akan menambah |__+_| urutan melarikan diri ke hujung rentetan untuk memastikan setiap fail dikendalikan pada baris baharu. Rentetan format kami kelihatan seperti ini:

ls

Kami akan menyampaikan ini kepada |_+_| menggunakan |_+_| pilihan. Kami akan bertanya |__+_| untuk melaporkan fail bernama |__+_| dan satu set fail yang sepadan dengan |_+_|. Ini adalah arahan penuh. Perhatikan tanda sama dengan |_+_| antara |_+_| dan rentetan format:

-l

Laporan untuk setiap fail disenaraikan pada baris baharu, yang kami minta. Nama fail, saiz fail dan jenis fail disediakan untuk kami.

Iklan

Format tersuai memberi anda akses kepada lebih banyak elemen data daripada yang disertakan dalam standard |_+_| pengeluaran.

Kawalan Bijian Halus

Seperti yang anda lihat, terdapat skop yang besar untuk mengekstrak elemen data tertentu yang menarik minat anda. Anda mungkin juga dapat melihat sebab kami mengesyorkan menggunakan alias untuk mantera yang lebih panjang dan lebih kompleks.

Perintah Linux
Fail tar · pv · kucing · tac · chmod · cengkaman · perbezaan · sed · Dengan · lelaki · pushd · popd · fsck · testdisk · seq · fd · pandoc · CD · $PATH · awk · sertai · jq · lipat · uniq · journalctl · ekor · negeri · ls · fstab · dibuang · kurang · chgrp · chown · rev · tengok · rentetan · taip · menamakan semula · zip · buka zip · lekapkan · umount · pasang · fdisk · mkfs · rm · rmdir · rsync · df · gpg · kita · nano · mkdir · daripada · ln · tampalan · menukar · rclone · carik-carik · SRM
Proses alias · skrin · atas · bagus · renice · kemajuan · jejak · sistem · tmux · chsh · sejarah · di · kumpulan · percuma · yang · dmesg · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · masa tamat · dinding · ya · bunuh · tidur · sudo · miliknya · masa · tambah kumpulan · usermod · kumpulan · lshw · menutup · but semula · berhenti · matikan · passwd · lscpu · crontab · Tarikh · bg · fg
Rangkaian netstat · ping · traceroute · ip · ss · siapakah · fail2ban · bmon · awak · jari · nmap · ftp · keriting · wget · who · siapakah saya · Dalam · iptables · ssh-keygen · ufw

BERKAITAN: Komputer Riba Linux Terbaik untuk Pembangun dan Penggemar

BACA SETERUSNYA Foto Profil untuk Dave McKay Dave McKay
Dave McKay pertama kali menggunakan komputer apabila pita kertas yang ditebuk sedang popular, dan dia telah memprogramkan sejak itu. Selepas lebih 30 tahun dalam industri IT, beliau kini seorang wartawan teknologi sepenuh masa. Semasa kerjayanya, beliau telah bekerja sebagai pengaturcara bebas, pengurus pasukan pembangunan perisian antarabangsa, pengurus projek perkhidmatan IT, dan, yang terbaru, sebagai Pegawai Perlindungan Data. Tulisannya telah diterbitkan oleh howtogeek.com, cloudsavvyit.com, itenterpriser.com, dan opensource.com. Dave ialah seorang penginjil Linux dan penyokong sumber terbuka.
Baca Bio Penuh

Artikel Yang Menarik