5 ví dụ về lệnh stat dành cho người mới sử dụng Linux

Tác giả Starlink, T.Tư 29, 2025, 11:45:12 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

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


Nó có tùy chọn để chỉ đị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ụ về lệnh stat dành cho người mới sử dụng Linux.

1. Kiểm tra trạng thái tệp Linux

Cách dễ nhất để sử dụng stat là cung cấp cho nó một tệp làm đối số. Lệnh sau sẽ hiển thị kích thước, khối, khối IO, loại tệp, giá trị inode, số lượng liên kết và nhiều thông tin hơn về tệp /var/log/syslog, như được hiển thị trong ảnh chụp màn hình:

Mã nguồn [Chọn]
$ 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: -

2. Kiểm tra trạng thái hệ thống tập tin

Trong ví dụ trước, lệnh stat coi tệp đầu vào là một tệp bình thường, tuy nhiên, để hiển thị trạng thái hệ thống tệp thay vì trạng thái tệp, hãy sử dụng -ftùy chọn.

Mã nguồn [Chọn]
$ 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 làm đối số như được hiển thị.

Mã nguồn [Chọn]
$ 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

3. Cho phép theo dõi các liên kết tượng trưng

Vì Linux hỗ trợ liên kết ( liên kết tượng trưng và liên kết cứng ), một số tệp nhất định 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.

Để cho phép stat theo dõi liên kết, hãy sử dụng -Lcờ như minh họa.

Mã nguồn [Chọn]
$ 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: -

4. 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 một định dạng cụ thể hoặc tùy chỉnh thay vì mặc định. -cCờ được sử dụng để chỉ định định dạng được sử dụng, nó in ra một dòng mới sau mỗi lần sử dụng chuỗi định dạng.

Ngoài ra, bạn có thể sử dụng --printftùy chọn cho phép diễn giải chuỗi thoát dấu gạch chéo ngược và tắt chức năng in dòng mới theo sau. \nVí dụ, bạn cần sử dụng in format để in dòng mới.

Mã nguồn [Chọn]
# stat --printf='%U\n%G\n%C\n%z\n' /var/log/secure
Ý nghĩa của chuỗi định dạng cho các tệp đượ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, có thể đọc được bằng con người

Sau đây là một ví dụ cho thấy việc sử dụng chuỗi định dạng được chấp nhận cho hệ thống tập tin.

Mã nguồn [Chọn]
$ stat --printf='%n\n%a\n%b\n' /
Ý nghĩa của chuỗi định dạng được sử dụng trong lệnh trên.

    %n – hiển thị tên tệp
    %a – in các khối miễn phí có sẵn cho người dùng không phải siêu cấp
    %b – xuất ra tổng số khối dữ liệu trong hệ thống tập tin

5. In thông tin dưới dạng ngắn gọn

Có thể sử dụng tùy chọn này -tđể in thông tin dưới dạng ngắn gọn.

Mã nguồn [Chọ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 stat riêng, 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, hãy tham khảo trang hướng dẫn stat.

Mã nguồn [Chọn]
$ man stat

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