Giới thiệu
Trong lab này, bạn sẽ học cách sử dụng lệnh stat
của Linux để truy xuất thông tin chi tiết về các tệp và thư mục, bao gồm metadata của chúng như quyền, quyền sở hữu và dấu thời gian. Lab này bao gồm mục đích và cú pháp của lệnh stat
, cũng như các ví dụ thực tế về cách sử dụng nó để phân tích các thuộc tính của tệp và thư mục. Bạn sẽ học cách truy xuất metadata của tệp, hiểu các quyền và quyền sở hữu của tệp, đồng thời khám phá các tùy chọn khác nhau có sẵn để tùy chỉnh đầu ra của lệnh stat
.
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 sử dụng để hiển thị thông tin chi tiết về một tệp hoặc thư mục, bao gồm metadata của nó như quyền, quyền sở hữu, dấu thời gian, v.v.
Để sử dụng lệnh stat
, 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 một chuỗi định dạng tùy chỉnh.-L
hoặc--dereference
: Theo dõi các liên kết tượng trưng và hiển thị thông tin về tệp hoặc thư mục đích.-f
hoặc--file-system
: Hiển thị thông tin về hệ thống tệp thay vì chính tệp đó.
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 tệp:
stat ~/project/example.txt
Ví dụ đầ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ề tệp, bao gồm kích thước, quyền, quyền sở hữu và dấu thời gian của nó.
Truy xuất Metadata của 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
để truy xuất metadata chi tiết về các tệp và thư mục.
Đầu tiên, hãy 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
để truy xuất metadata cho tệp này:
stat ~/project/example.txt
Ví dụ đầu ra:
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: -
Đầu ra này cung cấp rất nhiều thông tin về tệp, bao gồm:
- Đường dẫn và tên tệp
- Kích thước tệp và kích thước khối
- Số thiết bị và inode
- Quyền, chủ sở hữu và nhóm của tệp
- Dấu thời gian truy cập, sửa đổi và thay đổi
Bạn cũng có thể sử 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 tệp và thời gian sửa đổi, bạn có thể sử dụng:
stat -c '%s %y' ~/project/example.txt
Ví dụ đầu ra:
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 với 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ụ đầ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ùnglabex
) - ID nhóm (GID) của nhóm tệp:
1000
(tương ứng với nhómlabex
)
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ụ đầ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 các quyền và quyền sở hữu của tệp là rất quan trọng để quản lý quyền truy cập vào các 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.
Tóm tắt
Trong lab này, bạn đã tìm hiểu về mục đích và cú pháp của lệnh stat
của Linux, lệnh này được sử dụng để hiển thị thông tin chi tiết về các tệp và thư mục, bao gồm metadata của chúng như quyền, quyền sở hữu và dấu thời gian. Bạn cũng đã học cách sử dụng lệnh stat
để truy xuất metadata của tệp và phân tích quyền và quyền sở hữu của tệp. Các điểm chính được đề cập trong lab này bao gồm hiểu cách sử dụng cơ bản của lệnh stat
, diễn giải đầu ra và tận dụng các tùy chọn khác nhau của lệnh để tùy chỉnh thông tin được hiển thị.