Lệnh stat trong linux với các ví dụ dễ hiểu

```html

Lệnh stat trong linux giúp bạn xem thông tin chi tiết về tập tin hoặc thư mục, ví dụ như kích thước, quyền truy cập và thời gian chỉnh sửa. Nó hiển thị dữ liệu dưới dạng dễ đọc, giúp người dùng hiểu rõ hơn về các thuộc tính của tệp. Sử dụng stat để kiểm tra nhanh chóng các thông số quan trọng của file trên hệ thống Linux của bạn. Đây là công cụ hữu ích cho việc quản lý và bảo trì hệ thống.

```

Lệnh stat trong linux là gì?

Lệnh command stat in linux là một công cụ mạnh mẽ giúp bạn xem thông tin chi tiết về một tệp hoặc hệ thống tệp. Nó hiển thị các thuộc tính như kích thước, quyền truy cập, thời gian sửa đổi và các thông tin quan trọng khác. Sử dụng lệnh stat, bạn có thể dễ dàng kiểm tra quyền sở hữu và nhóm của tệp, rất hữu ích trong việc quản lý hệ thống. Ngoài ra, stat còn cho biết thời điểm tệp được truy cập lần cuối, giúp bạn theo dõi hoạt động của các tệp quan trọng. Với command stat in linux, việc hiểu rõ về tệp trở nên đơn giản hơn bao giờ hết.

Tìm hiểu Mục đích và Cú pháp của Lệnh stat

Trong bước này, bạn sẽ tìm hiểu về mục đích và cú pháp của lệnh stat trong Linux.

Lệnh stat được dùng để hiển thị thông tin chi tiết về một file hoặc thư mục, bao gồm metadata của nó.

Metadata bao gồm các thông tin như quyền, quyền sở hữu, dấu thời gian và nhiều thông tin khác.

Để sử dụng lệnh stat, bạn chỉ cần chạy lệnh sau trong terminal:

stat [options] <file_or_directory>

Các tùy chọn được sử dụng phổ biến nhất cho lệnh stat là:

  • -c hoặc --format=<format>: Chỉ định định dạng đầu ra bằng cách sử dụng chuỗi định dạng tùy chỉnh.
  • -L hoặc --dereference: Theo dõi các symbolic link và hiển thị thông tin về file hoặc thư mục đích.
  • -f hoặc --file-system: Hiển thị thông tin về hệ thống file thay vì chính file đó.

Dưới đây là một ví dụ về cách sử dụng lệnh stat để lấy thông tin về một file:

stat ~/project/example.txt

Ví dụ về đầu ra:

  File: '/home/labex/project/example.txt'
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: 801h/2049d	Inode: 131074      Links: 1
Access: (0644/-rw-r--r--)  Uid: (1000/labex)   Gid: (1000/labex)
Access: 2023-04-11 12:34:56.789012345 +0000
Modify: 2023-04-11 12:34:56.789012345 +0000
Change: 2023-04-11 12:34:56.789012345 +0000
 Birth: -

Đầu ra này cung cấp thông tin chi tiết về file, bao gồm kích thước, quyền, quyền sở hữu và dấu thời gian.

Lấy Metadata của File bằng Lệnh stat

Trong bước này, bạn sẽ học cách dùng lệnh stat để lấy metadata chi tiết về file và thư mục.

Đầu tiên, hãy tạo một file mới trong thư mục ~/project để thực hành bạn nhé.

touch ~/project/example.txt

Bây giờ, hãy sử dụng lệnh stat để lấy metadata của file vừa tạo xem sao.

stat ~/project/example.txt

Ví dụ về kết quả trả về:

  File: '/home/labex/project/example.txt'
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: 801h/2049d	Inode: 131075      Links: 1
Access: (0644/-rw-r--r--)  Uid: (1000/labex)   Gid: (1000/labex)
Access: 2023-04-11 12:34:56.789012345 +0000
Modify: 2023-04-11 12:34:56.789012345 +0000
Change: 2023-04-11 12:34:56.789012345 +0000
 Birth: -

Kết quả này cung cấp rất nhiều thông tin về file, bao gồm các thông tin sau:

  • Đường dẫn và tên file là gì
  • Kích thước file và kích thước block ra sao
  • Số device và số inode của file
  • Quyền, chủ sở hữu và nhóm của file
  • Thời gian truy cập, sửa đổi và thay đổi (timestamps)

Bạn cũng có thể dùng tùy chọn -c hoặc --format để tùy chỉnh định dạng đầu ra của lệnh stat.

Ví dụ, để chỉ hiển thị kích thước file và thời gian sửa đổi, bạn có thể dùng lệnh sau:

stat -c '%s %y' ~/project/example.txt

Ví dụ về kết quả trả về:

0 2023-04-11 12:34:56.789012345 +0000

Điều này cho phép bạn trích xuất các trường metadata cụ thể, phù hợp nhất với nhu cầu của bạn.

Phân tích Quyền và Quyền sở hữu Tệp bằng lệnh stat

Trong bước này, bạn sẽ học cách sử dụng lệnh stat để phân tích quyền và quyền sở hữu tệp.

Hãy bắt đầu bằng cách tạo một tệp mới trong thư mục ~/project:

touch ~/project/example.txt

Bây giờ, hãy sử dụng lệnh stat để kiểm tra quyền và quyền sở hữu của tệp:

stat -c '%A %u %G' ~/project/example.txt

Ví dụ về đầu ra:

-rw-r--r-- 1000 1000

Đầu ra này cho thấy:

  • Quyền của tệp: -rw-r--r-- (đọc-ghi cho chủ sở hữu, chỉ đọc cho nhóm và những người khác)
  • ID người dùng (UID) của chủ sở hữu tệp: 1000 (tương ứng với người dùng labex)
  • ID nhóm (GID) của nhóm của tệp: 1000 (tương ứng với nhóm labex)

Bạn cũng có thể sử dụng các tùy chọn dạng dài để lấy thông tin tương tự:

stat --format='%A %U %G' ~/project/example.txt

Ví dụ về đầu ra:

-rw-r--r-- labex labex

Điều này hiển thị thông tin tương tự, nhưng với tên người dùng và nhóm thay vì ID số.

Hiểu rõ quyền và quyền sở hữu tệp rất quan trọng để quản lý quyền truy cập vào tệp và thư mục trong hệ thống Linux. Lệnh stat cung cấp một cách dễ dàng để nhanh chóng kiểm tra metadata này.

Kết luận cho linux stat command

Tóm lại, lệnh stat là một công cụ vô cùng hữu ích để khám phá thông tin chi tiết về tập tin và thư mục trong Linux. Nó cung cấp cho bạn cái nhìn sâu sắc về quyền truy cập, thời gian sửa đổi và nhiều thuộc tính quan trọng khác. Với linux stat command, bạn có thể dễ dàng kiểm tra xem một tập tin đã được chỉnh sửa lần cuối khi nào hoặc ai là chủ sở hữu của nó. Hãy thử nghiệm với các tùy chọn khác nhau để tận dụng tối đa sức mạnh của lệnh này. Hy vọng bài viết này đã giúp bạn hiểu rõ hơn về cách sử dụng lệnh stat trong Linux. Chúc bạn thành công trong việc quản lý hệ thống của mình! Đừng ngần ngại khám phá thêm các lệnh khác để làm chủ hệ điều hành Linux nhé.

Last Updated : 18/10/2025