Android

คำสั่ง Stat ใน linux

What the Waters Left Behind Trailer 2 (2018) Los Olvidados

What the Waters Left Behind Trailer 2 (2018) Los Olvidados

สารบัญ:

Anonim

stat เป็นโปรแกรมอรรถประโยชน์บรรทัดคำสั่งที่แสดงข้อมูลโดยละเอียดเกี่ยวกับไฟล์หรือระบบไฟล์ที่กำหนด

บทความนี้จะอธิบายวิธีใช้คำสั่ง stat

การใช้คำสั่ง stat

ไวยากรณ์สำหรับคำสั่ง stat มีดังนี้:

stat… FILE…

stat ยอมรับชื่อ FILE ชื่อหรือมากกว่าและรวมถึงตัวเลือกจำนวนมากที่ควบคุมพฤติกรรมคำสั่งและเอาท์พุท

ลองมาดูตัวอย่างต่อไปนี้:

stat file.txt

ผลลัพธ์จะมีลักษณะดังนี้:

File: file.txt Size: 4030 Blocks: 8 IO Block: 4096 regular file Device: 801h/2049d Inode: 13633379 Links: 1 Access: (0644/-rw-r--r--) Uid: (1000/ linuxize) Gid: (1000/ linuxize) Access: 2019-11-06 09:52:17.991979701 +0100 Modify: 2019-11-06 09:52:17.971979713 +0100 Change: 2019-11-06 09:52:17.971979713 +0100 Birth: -

เมื่อเรียกใช้โดยไม่มีตัวเลือกใด ๆ stat จะแสดงข้อมูลไฟล์ต่อไปนี้:

  • ไฟล์ - ชื่อของไฟล์ขนาด - ขนาดของไฟล์เป็นไบต์บล็อก - จำนวนบล็อกที่จัดสรรไฟล์ใช้เวลาIO Block - ขนาดเป็นไบต์ของทุกบล็อกประเภทไฟล์ - (เช่นไฟล์ปกติ, ไดเรกทอรี, ลิงค์สัญลักษณ์…) อุปกรณ์ - หมายเลขอุปกรณ์เป็นเลขฐานสิบหกและฐานสิบในส่วน - หมายเลขไอโหนดลิงค์ - จำนวนฮาร์ดลิงก์ลิงค์การเข้าถึง - สิทธิ์การใช้ไฟล์ในวิธีตัวเลขและสัญลักษณ์ใช้ - ID ผู้ใช้และชื่อของเจ้าของ GID - กลุ่ม ID และชื่อของเจ้าของบริบท - บริบทความปลอดภัยของ SELinux.Access - ครั้งล่าสุดที่มีการเข้าถึงไฟล์แก้ไข - ครั้งล่าสุดที่เนื้อหาของไฟล์ได้รับการแก้ไขเปลี่ยน - ครั้งล่าสุดที่แอตทริบิวต์หรือเนื้อหาของไฟล์เปลี่ยนแปลง - เวลาในการสร้างไฟล์ (ไม่รองรับใน Linux)

การแสดงข้อมูลเกี่ยวกับระบบไฟล์

ในการรับข้อมูลเกี่ยวกับระบบไฟล์ที่ไฟล์ที่กำหนดอยู่นั้นแทนที่จะใช้ข้อมูลเกี่ยวกับตัวไฟล์เองให้ใช้ตัวเลือก -f , ( --file-system ):

stat -f file.txt

ผลลัพธ์ของคำสั่งจะมีลักษณะดังนี้:

File: "package.json" ID: 8eb53097b4494d20 Namelen: 255 Type: ext2/ext3 Block size: 4096 Fundamental block size: 4096 Blocks: Total: 61271111 Free: 25395668 Available: 22265851 Inodes: Total: 15630336 Free: 13979610

เมื่อ stat ถูกเรียกใช้ด้วยตัวเลือก -f มันจะแสดงข้อมูลต่อไปนี้:

  • ไฟล์ - ชื่อไฟล์ ID - ID ระบบไฟล์ใน hex.Namelen - ความยาวสูงสุดของชื่อไฟล์ขนาดบล็อกขั้นพื้นฐาน - ขนาดของแต่ละบล็อกในระบบไฟล์บล็อก:
    • ทั้งหมด - จำนวนบล็อกทั้งหมดในระบบไฟล์ฟรี - จำนวนบล็อกฟรีในระบบไฟล์พร้อมใช้งาน - จำนวนบล็อกฟรีที่ผู้ใช้ที่ไม่ใช่รูทสามารถใช้งานได้
    inodes:
    • ทั้งหมด - จำนวนของ inodes ทั้งหมดในระบบไฟล์ฟรี - จำนวนของ inodes ฟรีในระบบไฟล์

การเชื่อมโยง Dereference (Follow)

ตามค่าเริ่มต้น stat จะไม่ติดตาม symlinks หากคุณรันคำสั่งบน symlink เอาต์พุตจะมีข้อมูลเกี่ยวกับ symlink ไม่ใช่ไฟล์ที่ชี้ไปที่:

stat /etc/resolv.conf

File: /etc/resolv.conf ->../run/systemd/resolve/stub-resolv.conf Size: 39 Blocks: 0 IO Block: 4096 symbolic link Device: 801h/2049d Inode: 8126659 Links: 1 Access: (0777/lrwxrwxrwx) Uid: (0/ root) Gid: (0/ root) Access: 2019-11-06 21:12:26.875956073 +0100 Modify: 2018-07-24 11:11:48.128794519 +0200 Change: 2018-07-24 11:11:48.128794519 +0200 Birth: -

หากต้องการยกเลิกการติดตาม (ติดตาม) symlink และแสดงข้อมูลเกี่ยวกับไฟล์ที่จุด symlink ใช้ตัวเลือก -L , ( --dereference ):

stat -L /etc/resolv.conf

File: /etc/resolv.conf Size: 715 Blocks: 8 IO Block: 4096 regular file Device: 17h/23d Inode: 989 Links: 1 Access: (0644/-rw-r--r--) Uid: (101/systemd-resolve) Gid: (103/systemd-resolve) Access: 2019-11-06 20:35:25.603689619 +0100 Modify: 2019-11-06 20:35:25.555689733 +0100 Change: 2019-11-06 20:35:25.555689733 +0100 Birth: -

การปรับแต่งเอาต์พุต

คำสั่ง stat มีสองตัวเลือกที่ให้คุณปรับแต่งเอาต์พุตตามความต้องการของคุณ: -c , ( --format="format" ) และ --printf="format"

ความแตกต่างระหว่างตัวเลือกทั้งสองนี้คือเมื่อใช้สองไฟล์ขึ้นไปเป็นตัว --format แบบจะเพิ่มบรรทัดใหม่โดยอัตโนมัติหลังจากเอาต์พุตของตัวถูกดำเนินการแต่ละตัว --printf ตีความเครื่องหมายแบคสแลช

มีคำสั่งรูปแบบมากมายสำหรับไฟล์และระบบไฟล์ที่สามารถใช้กับ - --format และ --printf

ตัวอย่างเช่นหากต้องการดูเฉพาะไฟล์ประเภทที่คุณจะใช้:

stat --format="%F" /dev/null

character special file

คุณสามารถรวมคำสั่งการจัดรูปแบบจำนวนเท่าใดก็ได้และใช้ตัวคั่นแบบกำหนดเองระหว่างตัวเลือกก็ได้ ตัวคั่นสามารถเป็นอักขระเดียวหรือสตริง:

stat --format="%n, %F" /dev/null

/dev/null, character special file

หากต้องการตีความอักขระพิเศษเช่นขึ้นบรรทัดใหม่หรือแท็บให้ใช้ตัวเลือก --printf :

stat --printf='Name: %n\nPermissions: %a\n' /etc

พิมพ์บรรทัดใหม่:

Name: /etc Permissions: 755

stat ยังสามารถแสดงข้อมูลในรูปแบบสั้น รูปแบบนี้มีประโยชน์สำหรับการแยกวิเคราะห์โดยโปรแกรมอรรถประโยชน์อื่น ๆ

เรียกใช้คำสั่งด้วย --terse -t ( --terse ) เพื่อพิมพ์เอาต์พุตในรูปแบบ terse:

stat -t /etc

/etc 12288 24 41ed 0 0 801 8126465 147 0 0 1573068933 1573068927 1573068927 0 4096

สำหรับรายการคำสั่งการจัดรูปแบบทั้งหมดสำหรับไฟล์และระบบไฟล์ให้พิมพ์ man stat หรือ stat --help ในเทอร์มินัลของคุณ

ข้อสรุป

คำสั่ง stat พิมพ์ข้อมูลเกี่ยวกับไฟล์และระบบไฟล์ที่กำหนด

ใน Linux มีคำสั่งอื่น ๆ อีกมากมายที่สามารถแสดงข้อมูลเกี่ยวกับไฟล์ที่กำหนดโดย ls เป็น ls ที่ใช้มากที่สุด แต่จะแสดงเฉพาะข้อมูลที่จัดเตรียมโดยคำสั่ง stat

สถานีเทอร์มินัล