Gần đây chúng ta đã thảo luận về chattr, một lệnh mà bạn có thể sử dụng để thay đổi thuộc tính tệp trên hệ thống tệp Linux. Để liệt kê các thuộc tính tệp, có một lệnh riêng, được gọi là lsattr. Trong hướng dẫn này, chúng ta sẽ thảo luận về công cụ này bằng một số ví dụ dễ hiểu.
Nhưng trước khi thực hiện, cần lưu ý rằng tất cả các ví dụ được đề cập trong bài viết này đều đã được thử nghiệm trên máy Ubuntu 18.04 LTS.
Đây là cách trang hướng dẫn của công cụ định nghĩa lệnh này:
Sau đây là một số ví dụ theo kiểu Hỏi & Đáp sẽ giúp bạn hiểu rõ hơn về cách lệnh này hoạt động.
Đây là một ví dụ:
Và đây là đầu ra:
Ngoài 'e' (trong đầu ra ở trên), có thể có một số chữ cái khác trong đầu ra. Đoạn trích sau (lấy từ trang hướng dẫn chattr) sẽ giúp bạn hiểu rõ hơn:
Ví dụ:
Đây là kết quả đầu ra mà lệnh trên tạo ra trên hệ thống của tôi:
Lưu ý rằng nếu bạn muốn hiển thị tất cả các tệp trong thư mục (bao gồm cả .) hãy sử dụng tùy chọn dòng lệnh -a.
Tuy nhiên, nếu muốn, bạn có thể buộc lsattr coi thư mục như một tệp và tạo thông tin thuộc tính tệp cho tệp đó. Bạn có thể thực hiện việc này bằng tùy chọn dòng lệnh -d.
Nhưng trước khi thực hiện, cần lưu ý rằng tất cả các ví dụ được đề cập trong bài viết này đều đã được thử nghiệm trên máy Ubuntu 18.04 LTS.
Lệnh lsattr của Linux
Như đã đề cập trong phần giới thiệu ở trên, lệnh lsattr trong Linux liệt kê các thuộc tính tệp trên stdout. Sau đây là cú pháp của lệnh này:
Mã:
lsattr [ -RVadlpv ] [files... ]
Mã:
lsattr liệt kê các thuộc tính tệp trên hệ thống tệp mở rộng thứ hai.
Câu hỏi 1. Làm thế nào để sử dụng lệnh lsattr?
Cách sử dụng cơ bản khá đơn giản. Chỉ cần thực thi 'lsattr' mà không cần bất kỳ tùy chọn dòng lệnh nào. Tất nhiên, bạn cần cung cấp tên tệp làm đầu vào.Đây là một ví dụ:
Mã:
lsattr file1.txt
Mã:
--------------e--- file1.txt
Mã:
Các chữ cái 'aAcCdDeijPsStTu' chọn các thuộc tính mới cho các tệp:
chỉ thêm (a), không cập nhật atime (A), nén (c), không sao chép khi ghi
(C), không đổ (d), cập nhật thư mục đồng bộ (D), định dạng phạm vi (e),
không thay đổi (i), ghi nhật ký dữ liệu (j), phân cấp dự án (P), xóa
an toàn (s), cập nhật đồng bộ (S), không hợp nhất đuôi (t), đầu phân cấp thư mục (T) và không thể xóa (u).
Các thuộc tính sau chỉ đọc và có thể được lsattr(1)
liệt kê nhưng chattr không sửa đổi: được mã hóa (E), thư mục được lập chỉ mục (I) và
dữ liệu nội tuyến (N).
Câu 2. Làm thế nào để lsattr hoạt động đệ quy trên các thư mục?
Bạn có thể thực hiện việc này bằng cách sử dụng tùy chọn dòng lệnh -R.Ví dụ:
Mã:
lsattr -R Downloads/HTF-review/
Lưu ý rằng nếu bạn muốn hiển thị tất cả các tệp trong thư mục (bao gồm cả .) hãy sử dụng tùy chọn dòng lệnh -a.
Câu hỏi 3. Làm thế nào để lsattr coi thư mục như các tệp bình thường?
Theo mặc định, nếu bạn cung cấp tên/đường dẫn thư mục làm đầu vào cho lsattr, nó sẽ tạo ra thông tin liên quan đến các tệp có trong thư mục đó.Tuy nhiên, nếu muốn, bạn có thể buộc lsattr coi thư mục như một tệp và tạo thông tin thuộc tính tệp cho tệp đó. Bạn có thể thực hiện việc này bằng tùy chọn dòng lệnh -d.