5 ví dụ giúp bạn thành thạo lệnh stat trong Linux

Lệnh stat là một tiện ích hữu hiệu để xem trạng thái của tập tin hoặc hệ thống tập tin. Nó lấy thông tin như loại tập tin; quyền truy cập dưới dạng octal và dễ đọc cho con người; chuỗi bảo mật SELinux; thời gian sinh tệp tin, lần truy cập cuối cùng, sửa đổi dữ liệu cuối cùng, thay đổi trạng thái cuối cùng cả trong dạng dễ đọc và số giây kể từ Epoch, và nhiều thông tin khác.

Nó có một tùy chọn để xác định định dạng tùy chỉnh thay vì mặc định, để hiển thị thông tin. Trong hướng dẫn này, chúng ta sẽ xem năm ví dụ lệnh stat dành cho người mới sử dụng Linux.

Kiểm tra trạng thái tập tin Linux

1. Cách dễ nhất để sử dụng stat là cung cấp một tệp tin như một đối số. Lệnh sau sẽ hiển thị kích thước, khối, khối IO, loại tệp tin, giá trị i-node, 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ị trong ảnh chụp màn hình:

$ 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 tin

2. 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 hệ thống tập tin thay vì trạng thái 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

3. 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í tồn tại trong hệ thống tệp tin.

Để kích hoạt stat để theo dõi liên kết, sử dụng cờ -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

4. Lệnh stat cũng cho phép bạn sử dụng một định dạng cụ thể hoặc tùy chỉnh thay vì mặc định. Cờ -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 lần sử dụng chuỗi định dạng.

Hoặc, bạn có thể sử dụng tùy chọn --printf để cho phép thông dịch, trình bày các chuỗi thoát dấu ngược và tắt in một ký tự xuống dòng dư thừa. 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 ngữ cảnh bảo mật SELinux
  • %z - thời gian thay đổi trạng thái cuối cùng, dễ đọc cho con người

5. Đây là một ví dụ cho thấy việc sử dụng các chuỗi định dạng được chấp nhận cho các 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 các khối trống khả dụng cho người dùng không phải người dùng đặc biệt
  • %b - xuất tổng số khối dữ liệu trong hệ thống tệp tin

In thông tin dưới dạng ít từ

6. Tùy chọn -t có thể được sử dụng để in thông tin dưới dạng ít từ.

$ stat -t /var/log/syslog

/var/log/syslog 12760 32 81a0 104 4 80a 8129076 1 0 0 1523251873 1523256421 1523256421 0 4096

Như một lưu ý cuối cùng, shell của bạn có thể có phiên bản riêng của stat, vui lòng 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, tham khảo trang man của stat.

$ man stat 

Trong bài viết này, chúng ta đã giải thích năm ví dụ lệnh stat dành cho người mới sử dụng Linux. Sử dụng mẫu phản hồi bên dưới để đặt câu hỏi.