5 ví dụ về lệnh stat trên Centos / Ubuntu / Debian / Fedora
Lệnh stat là một tiện ích hữu ích để xem trạng thái của tệp hoặc hệ thống tệp. Nó thu thập thông tin như loại tệp, quyền truy cập dưới dạng bát phân và dễ đọc, chuỗi bảo mật SELinux, thời gian tạo tệp, truy cập lần cuối, sửa đổi dữ liệu lần cuối, thay đổi trạng thái lần cuối cùng cả trong định dạng dễ đọc và đơn vị giây kể từ Epoch cùng nhiều hơn nữa. Nó có tùy chọn để chỉ định định dạng tùy chỉnh thay vì định dạng mặc định, để hiển thị thông tin. Trong hướng dẫn dưới đây, bạn sẽ được xem năm ví dụ về lệnh stat dành cho người mới sử dụng Linux.
Kiểm tra trạng thái tệp
Cách dễ nhất để sử dụng lệnh "stat" là cung cấp cho nó một tệp tin như một tham số. Lệnh sau sẽ hiển thị thông tin về kích thước, khối, khối IO, loại tệp tin, giá trị inode, số liên kết và nhiều thông tin khác về tệp tin /var/log/syslog, như được hiển thị:
$ stat /var/log/syslog File: '/var/log/syslog' Size: 26572 Blocks: 56 IO Block: 4096 regular file Device: 80ah/2058d Inode: 8129076 Links: 1 Access: (0640/-rw-r-----) Uid: ( 104/ syslog) Gid: ( 4/ adm) Access: 2018-04-06 09:42:10.987615337 +0530 Modify: 2018-04-06 11:09:29.756650149 +0530 Change: 2018-04-06 11:09:29.756650149 +0530 Birth: -
Kiểm tra trạng thái hệ thống tệp
Trong ví dụ trước đó, lệnh stat xử lý tệp tin đầu vào như một tệp tin thông thường. Tuy nhiên, để hiển thị trạng thái của hệ thống tệp tin thay vì trạng thái của tệp tin, sử dụng tùy chọn -f.
$ stat -f /var/log/syslog File: "/var/log/syslog" ID: ce97e63d2201c974 Namelen: 255 Type: ext2/ext3 Block size: 4096 Fundamental block size: 4096 Blocks: Total: 84769790 Free: 16012830 Available: 11700997 Inodes: Total: 21544960 Free: 20995459
Bạn cũng có thể cung cấp một thư mục/hệ thống tệp tin như một đối số như đã được hiển thị.
$ stat -f / File: "/" ID: ce97e63d2201c974 Namelen: 255 Type: ext2/ext3 Block size: 4096 Fundamental block size: 4096 Blocks: Total: 84769790 Free: 16056471 Available: 11744638 Inodes: Total: 21544960 Free: 21005263
Kích hoạt theo dõi các liên kết tượng trưng
Vì Linux hỗ trợ các liên kết (liên kết tượng trưng và liên kết cứng), một số tệp tin có thể có một hoặc nhiều liên kết, hoặc thậm chí có thể tồn tại trong một hệ thống tệp tin. Để cho phép lệnh stat theo dõi các liên kết, sử dụng tùy chọn -L như được hiển thị.
$ stat -L / File: '/' Size: 4096 Blocks: 8 IO Block: 4096 directory Device: 80ah/2058d Inode: 2 Links: 25 Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2018-04-09 10:55:55.119150525 +0530 Modify: 2018-02-20 11:15:54.462893167 +0530 Change: 2018-02-20 11:15:54.462893167 +0530 Birth: -
Sử dụng định dạng tùy chỉnh để hiển thị thông tin
Lệnh stat cũng cho phép bạn sử dụng định dạng cụ thể hoặc tùy chỉnh thay vì định dạng mặc định. Tùy chọn -c được sử dụng để chỉ định định dạng được sử dụng, nó in một dòng mới sau mỗi chuỗi định dạng.
Ngoài ra, bạn cũng có thể sử dụng tùy chọn --printf để cho phép giải thích các chuỗi trốn nháy ngược và tắt việc in một dòng mới ở cuối. Bạn cần sử dụng \n trong định dạng để in một dòng mới, ví dụ:
# stat --printf='%U\n%G\n%C\n%z\n' /var/log/secure
Ý nghĩa của các chuỗi định dạng cho tệp tin được sử dụng trong ví dụ trên:
- %U - tên người dùng của chủ sở hữu
- %G - tên nhóm của chủ sở hữu
- %C - chuỗi bảo mật SELinux
- %z - thời gian thay đổi trạng thái cuối cùng, đọc được bởi con người
Dưới đây là một ví dụ cho thấy cách sử dụng các chuỗi định dạng được chấp nhận cho hệ thống tệp tin.
$ stat --printf='%n\n%a\n%b\n' /
Ý nghĩa của các chuỗi định dạng được sử dụng trong lệnh trên:
- %n - hiển thị tên tệp tin
- %a - in ra số khối trống có sẵn cho người dùng không phải là người quản trị hệ thống
- %b - đầu ra tổng số khối dữ liệu trong hệ thống tệp tin
In ra thông tin dưới dạng ngắn gọn
Tùy chọn -t có thể được sử dụng để in thông tin dưới dạng ngắn gọn.
$ stat -t /var/log/syslog /var/log/syslog 12760 32 81a0 104 4 80a 8129076 1 0 0 1523251873 1523256421 1523256421 0 4096
Lưu ý cuối cùng, shell của bạn có thể có phiên bản riêng của lệnh stat, vì vậy hãy tham khảo tài liệu của shell để biết chi tiết về các tùy chọn mà nó hỗ trợ. Để xem tất cả các chuỗi định dạng đầu ra được chấp nhận, hãy tham khảo trang man của lệnh stat.
$ man stat
Bên trên chính là 5 ví dụ về lệnh stat mà bạn có thể áp dụng vào trong công việc của mình. Tất cả đều thực tế và cụ thể, rất thích hợp cho người mới bắt đầu sử dụng hệ điều hành Linux.
Mọi người cũng tìm kiếm: stat ubuntu