Android

Lệnh Stat trong linux

Linux Command Line Tutorial For Beginners 2 - ls command in Linux

Linux Command Line Tutorial For Beginners 2 - ls command in Linux

Mục lục:

Anonim

stat là một tiện ích dòng lệnh hiển thị thông tin chi tiết về các tệp hoặc hệ thống tệp đã cho.

Bài viết này giải thích cách sử dụng lệnh stat .

Sử dụng lệnh stat

Cú pháp của lệnh stat như sau:

stat… FILE…

stat chấp nhận một hoặc nhiều tên FILE đầu vào và bao gồm một số tùy chọn kiểm soát hành vi và đầu ra lệnh.

Hãy xem ví dụ sau:

stat file.txt

Đầu ra sẽ trông giống như thế này:

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: -

Khi được gọi mà không có bất kỳ tùy chọn nào, stat sẽ hiển thị thông tin tệp sau:

  • Tệp - Tên của tệp.Size - Ssize của tệp theo byte.Blocks - Số lượng khối được phân bổ tệp mất.IO Khối - Kích thước tính theo byte của mỗi khối. Loại tệp - (ví dụ: tệp thông thường, thư mục, linkic liên kết biểu tượng) Thiết bị - Số thiết bị ở dạng hex và thập phân. Nút - Số inode. Số liên kết cứng. Xử lý - Quyền truy cập tệp trong phương thức số và ký hiệu.Uid - ID người dùng và tên của chủ sở hữu.Gid - Group ID và tên của chủ sở hữu. Nội dung - Bối cảnh bảo mật SELinux. Xử lý - Lần cuối cùng tệp được truy cập.Modify - Lần cuối cùng nội dung của tệp bị sửa đổi. Thay đổi - Lần cuối cùng thuộc tính hoặc nội dung của tệp bị thay đổi. Sinh - Thời gian tạo tệp (không được hỗ trợ trong Linux).

Hiển thị thông tin về hệ thống tệp

Để nhận thông tin về hệ thống tệp nơi tệp đã cho cư trú, thay vì thông tin về chính tệp đó, hãy sử dụng tùy chọn -f , ( --file-system ):

stat -f file.txt

Đầu ra của lệnh sẽ như thế này:

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

Khi stat được gọi với tùy chọn -f , nó sẽ hiển thị các thông tin sau:

  • Tệp - Tên của tệp.ID - ID hệ thống tệp ở dạng hex.Namelen - Độ dài tối đa của tên tệp. Kích thước khối cơ bản - Kích thước của mỗi khối trên hệ thống tệp. Khóa:
    • Tổng cộng - Số khối tổng trong hệ thống tệp. - Số khối miễn phí trong hệ thống tệp. Có sẵn - Số khối miễn phí có sẵn cho người dùng không root.
    Nút:
    • Tổng cộng - Số lượng tổng số nút trong hệ thống tệp. - Số lượng nút miễn phí trong hệ thống tệp.

Dereference (Theo) Symlinks

Theo mặc định, stat không theo liên kết tượng trưng. Nếu bạn chạy lệnh trên một liên kết tượng trưng, ​​đầu ra sẽ bao gồm thông tin về liên kết tượng trưng, ​​chứ không phải tệp mà nó trỏ đến:

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: -

Để hủy đăng ký (theo dõi) liên kết tượng trưng và hiển thị thông tin về tệp mà điểm liên kết tượng trưng, ​​sử dụng tùy chọn -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: -

Tùy chỉnh đầu ra

Lệnh stat có hai tùy chọn cho phép bạn tùy chỉnh đầu ra theo nhu cầu của bạn: -c , ( --format="format" ) và --printf="format" .

Sự khác biệt giữa hai tùy chọn này là khi hai hoặc nhiều tệp được sử dụng làm toán tử --format sẽ tự động thêm một dòng mới sau mỗi đầu ra của toán hạng. --printf giải thích dấu gạch chéo ngược thoát.

Có nhiều chỉ thị định dạng cho các tệp và hệ thống tệp có thể được sử dụng với --printf --printf .

Ví dụ: để chỉ xem loại tệp bạn sẽ sử dụng:

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

character special file

Bạn có thể kết hợp bất kỳ số lượng chỉ thị định dạng và tùy ý sử dụng dấu phân cách tùy chỉnh giữa chúng. Dấu phân cách có thể là một ký tự đơn hoặc một chuỗi:

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

/dev/null, character special file

Để diễn giải các ký tự đặc biệt như dòng mới hoặc tab, hãy sử dụng tùy chọn --printf :

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

in một dòng mới:

Name: /etc Permissions: 755

Các stat cũng có thể hiển thị thông tin ở dạng terse. Định dạng này rất hữu ích để phân tích cú pháp bởi các tiện ích khác.

Gọi lệnh với tùy chọn -t ( --terse ) để in đầu ra ở dạng terse:

stat -t /etc

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

Để có danh sách đầy đủ tất cả các chỉ thị định dạng cho các tệp và hệ thống tệp, hãy nhập man stat hoặc stat --help trong thiết bị đầu cuối của bạn.

Phần kết luận

Lệnh stat in thông tin về các tệp đã cho và hệ thống tệp.

Trong Linux, có một số lệnh khác có thể hiển thị thông tin về các tệp đã cho, với ls ls được sử dụng nhiều nhất, nhưng nó chỉ hiển thị một đoạn thông tin được cung cấp bởi lệnh stat .

thiết bị đầu cuối stat