Lệnh ls trong Linux là một lệnh cơ bản dùng để liệt kê danh sách các file và thư mục có trong một thư mục nhất định. Lệnh này thường được sử dụng để kiểm tra nội dung thư mục, kiểm tra trạng thái file, và hỗ trợ thao tác quản trị hệ thống một cách nhanh chóng và hiệu quả. Trong bài viết dưới đây, mình sẽ cung cấp một hướng dẫn toàn diện, từ những cú pháp cơ bản nhất đến các tùy chọn nâng cao giúp bạn làm chủ hoàn toàn công cụ này.
Những điểm chính
- Khái niệm: Hiểu rõ lệnh ls là công cụ xem danh sách tất cả các file và thư mục.
- Các tùy chọn phổ biến: Có được một bảng tra cứu nhanh các tùy chọn quan trọng của lệnh ls, giúp bạn tùy chỉnh cách hiển thị kết quả theo nhu cầu.
- Các trường hợp sử dụng phổ biến: Thành thạo 20 ví dụ thực tế, từ việc hiển thị tệp ẩn, sắp xếp theo thời gian/kích thước đến liệt kê đệ quy.
- Các lưu ý kỹ thuật: Nắm được các lưu ý quan trọng để sử dụng lệnh ls một cách an toàn và hiệu quả, tránh các lỗi phổ biến khi làm việc với script hoặc thư mục lớn.
- Câu hỏi thường gặp: Giải đáp các thắc mắc liên quan đến lệnh ls.
Lệnh ls Linux là gì?
Lệnh ls trong Linux là một công cụ dòng lệnh cơ bản, được sử dụng để hiển thị danh sách tất cả các file và thư mục trong một thư mục nhất định. Khi thực thi lệnh này, hệ thống sẽ liệt kê các đối tượng có trong thư mục hiện tại hoặc trong thư mục bạn chỉ định.
Khi kết hợp với các tuỳ chọn như -l, ls có thể hiển thị thêm thông tin chi tiết như quyền truy cập, kích thước file và thời gian chỉnh sửa gần nhất. Nhờ sự linh hoạt cùng các tuỳ chọn đi kèm, ls là công cụ rất quan trọng hỗ trợ người dùng quản lý và kiểm soát hệ thống file hiệu quả trên Linux.

Cú pháp tổng quát như sau:
$ ls [tuỳ chọn] /đường/dẫn/đến/thư_mụcTrong đó:
- [tuỳ chọn]: Các tùy chọn đi kèm, giúp thay đổi cách hiển thị kết quả.
- /đường/dẫn/đến/thư_mục: Đường dẫn tới thư mục hoặc file mà bạn muốn liệt kê. Nếu không chỉ định, mặc định ls sẽ áp dụng trên thư mục hiện tại.
Nếu không truyền tham số nào, ls sẽ hiển thị danh sách file và thư mục trong thư mục hiện tại, theo thứ tự chữ cái.
Các tùy chọn phổ biến của lệnh ls trong Linux
| Tùy chọn | Chức năng |
|---|---|
ls -m | Liệt kê nội dung, các mục được ngăn cách bởi dấu phẩy. |
ls -Q | Hiển thị tên file và thư mục trong dấu ngoặc kép ("). |
ls -l | Hiển thị ở định dạng danh sách dài. |
ls -lh | Hiển thị kích thước file ở định dạng dễ đọc (ví dụ: KB, MB, GB). |
ls -g | Bỏ qua cột nhóm sở hữu trong danh sách dài. |
ls -F | Thêm ký hiệu chỉ định loại file vào cuối tên (ví dụ: / cho thư mục). |
ls -i | Hiển thị số inode của file và thư mục. |
ls -a | Hiển thị tất cả các file, bao gồm cả các file ẩn. |
ls -la | Hiển thị tất cả file ở định dạng danh sách dài. |
ls -R | Liệt kê file và thư mục một cách đệ quy. |
ls -r | Đảo ngược thứ tự sắp xếp. |
ls -X | Sắp xếp các file theo thứ tự bảng chữ cái của phần mở rộng. |
ls -tl | Hiển thị danh sách dài và sắp xếp theo thời gian chỉnh sửa gần nhất. |
ls -n | Liệt kê UID (User ID) và GID (Group ID) dưới dạng số. |
Các trường hợp sử dụng lệnh ls trong Linux phổ biến
- Hiển thị file và thư mục
- Hiển thị thông tin chi tiết
- Hiển thị cả các file ẩn
- Kết hợp hiển thị chi tiết và file ẩn
- Hiển thị kích thước file ở định dạng dễ đọc
- Phân loại file và thư mục
- Sắp xếp danh sách theo thứ tự ngược
- Liệt kê đệ quy tất cả file trong thư mục và thư mục con
- Sắp xếp theo thời gian chỉnh sửa
- Sắp xếp theo thứ tự mới đến cũ
- Sắp xếp theo kích thước
- Hiển thị số định danh Inode của file
- Hiển thị tệp ngăn cách bằng dấu phẩy
- Hiển thị file trong dấu ngoặc kép
- Bỏ qua thông tin nhóm
- Hiển thị UID và GID
- Kiểm tra phiên bản ls
- Xem trang trợ giúp ls
- Hiển thị thông tin thư mục cụ thể
- Tạo alias cho ls
1. Hiển thị file và thư mục
Để xem danh sách các file và thư mục tại vị trí hiện hành, bạn sử dụng lệnh sau:
$ lsKết quả hiển thị folder như sau:

2. Hiển thị thông tin chi tiết
Bạn sử dụng lệnh sau khi cần kiểm tra quyền hoặc chủ sở hữu file:
$ ls -lKết quả sẽ cung cấp 7 cột thông tin về quyền truy cập, số lượng liên kết, chủ sở hữu (user), nhóm (group), kích thước, thời gian sửa đổi và tên file.

3. Hiển thị cả các file ẩn
Trong Linux, các file cấu hình quan trọng như .bashrc, .gitconfig,… thường được ẩn đi bằng cách thêm dấu chấm “.” ở đầu tên. Để liệt kê các file ẩn này, bạn sử dụng lệnh dưới đây:
$ ls -aKết quả sẽ hiển thị các file ẩn như sau:

4. Kết hợp hiển thị chi tiết và file ẩn
Lệnh $ ls -la được sử dụng để liệt kê toàn bộ file và thư mục trong thư mục hiện tại, bao gồm cả các file ẩn, đồng thời hiển thị chi tiết thông tin cho từng mục:
$ ls -laKết quả sau khi chạy lệnh như sau:

5. Hiển thị kích thước file ở định dạng dễ đọc
Mặc định ls hiển thị kích thước theo Byte rất khó nhẩm. Khi đó bạn có thể sử dụng thêm tùy chọn -lh để tự động quy đổi sang KB, MB, hoặc GB, giúp bạn dễ hình dung dung lượng, cú pháp như sau:
$ ls -lhKết quả sẽ hiển thị dung lượng theo KB, MB, GB thay vì byte:

6. Phân loại file và thư mục
Lệnh dưới đây sẽ giúp bạn nhận diện nhanh loại đối tượng bằng cách thêm ký tự đặc biệt vào cuối tên, ví dụ như: dấu “/” cho thư mục, dấu “*” cho file thực thi, dấu “@” cho symlink:
$ ls -FKết quả sẽ thêm dấu / sau thư mục, dấu * sau file thực thi,…

7. Sắp xếp danh sách theo thứ tự ngược
Bạn sử lệnh lệnh sau để đảo ngược thứ tự hiển thị mặc định:
$ ls -lrKết quả hiển thị như sau:

8. Liệt kê đệ quy tất cả file trong thư mục và thư mục con
Lệnh dưới đây sẽ quét thư mục hiện tại và tiếp tục quét vào tất cả các thư mục con bên trong để liệt kê toàn bộ cấu trúc cây thư mục. Cú pháp cụ thể như sau:
$ ls -RKết quả hiển thị như sau:

9. Sắp xếp theo thời gian chỉnh sửa
Bạn sử dụng lệnh dưới đây khi cần xem log file hoặc debug:
$ ls -ltrKết quả sẽ hiển thị các file vừa được chỉnh sửa sẽ nằm cuối danh sách, ngay vị trí con trỏ chuột của bạn.

10. Sắp xếp theo thứ tự mới đến cũ
Lệnh dưới đây sẽ đưa các file mới nhất lên đầu danh sách để bạn truy cập nhanh:
$ ls -tlKết quả sau khi chạy lệnh sẽ được hiển thị như sau:

11. Sắp xếp theo kích thước
Lệnh này sẽ giúp bạn tìm kiếm các file nặng nhất trong thư mục, được sắp xếp từ lớn đến bé:
$ ls -lSKết quả hiển thị như sau:

12. Hiển thị số định danh Inode của file
Bạn có thể sử dụng lệnh này khi cần xử lý các file hệ thống hoặc khôi phục dữ liệu.
$ ls -iKết quả hiển thị các file trong Linux được định danh bởi số index node tương ứng:

13. Hiển thị tệp ngăn cách bằng dấu phẩy
Bạn có thể sử dụng lệnh sau để copy danh sách tên file, sau đó dán vào một script hoặc văn bản khác:
$ ls -mKết quả sẽ hiển thị một danh sách ngang các file được ngăn cách bởi dấu phẩy:

14. Hiển thị file trong dấu ngoặc kép
Lệnh sau sẽ giúp bạn giải quyết vấn đề hiển thị khi tên file chứa khoảng trắng:
$ ls -QKết quả sẽ hiển thị như sau:

15. Bỏ qua thông tin nhóm
Lệnh dưới đây sẽ giúp giao diện trực quan hơn nếu bạn chỉ quan tâm đến quyền của chủ sở hữu mà không cần biết về Group:
$ ls -gKết quả hiển thị lệnh như sau:

16. Hiển thị UID và GID
Thay vì hiển thị tên người dùng, câu lệnh dưới đây sẽ xuất ra mã số UID và GID. Việc này đặc biệt hữu ích khi làm việc trên môi trường như NFS hoặc Docker container, nơi tên người dùng không đảm bảo đồng bộ hoặc nhất quán giữa các hệ thống. Bạn sử dụng lệnh sau:
$ ls -nKết quả sau khi chạy lệnh $ ls -n như sau:

17. Kiểm tra phiên bản ls
Lệnh dưới đây sẽ giúp bạn xác định phiên bản hiện tại của gói coreutils chứa lệnh ls:
$ ls --versionKết quả hiển thị lệnh như sau:

18. Xem trang trợ giúp ls
Lệnh sau sẽ hiển thị trang trợ giúp nhanh của lệnh ls ngay trên terminal:
$ ls --helpKết quả chạy lệnh được hiển thị như sau:

19. Hiển thị thông tin thư mục cụ thể
Lệnh dưới đây được sử dụng để hiển thị thông tin chi tiết như: Phân quyền, chủ sở hữu, nhóm, kích thước, ngày giờ sửa đổi, tên,… của chính thư mục /tmp, chứ không phải liệt kê các file bên trong nó.
$ ls -ld /tmp/Kết quả hiển thị của lệnh này như sau:

20. Tạo alias cho ls
Lệnh $ alias ls="ls -l" được sử dụng để thiết lập alias cho lệnh ls, nhằm mục đích tự động hóa tùy chọn -l để hiển thị danh sách chi tiết mỗi khi dùng lệnh ls. Cú pháp cụ thể như sau:
$ alias ls="ls -l"Kết quả sẽ hiển thị như sau:

Các lưu ý kỹ thuật khi sử dụng lệnh ls
Dưới đây là các lưu ý kỹ thuật quan trọng khi dùng lệnh ls giúp bạn tránh gặp lỗi về giao diện hoặc hệ thống:
- Không dùng trong Script: Bạn nên tránh phân tích output của
lstrong Shell Script vì dễ gây lỗi với tên file chứa khoảng trắng hoặc ký tự xuống dòng, thay vào đó, bạn hãy dùng lệnhfindthay thế. - Cẩn trọng với thư mục lớn: Bạn tránh chạy
ls -ltrên thư mục chứa hàng triệu file để ngăn chặn quá tải I/O đĩa. Trong trường hợp này, bạn nên ưu tiên dùngls -1hoặcls -Uđể hiển thị nhanh hơn. - Lưu ý về Alias: Lệnh
lsbạn gõ thường là alias đã được tùy biến màu sắc/định dạng, nếu muốn chạy lệnh nguyên bản, bạn gõ\ls. - Hiểu đúng về thời gian: Mặc định
ls -lhiển thị thời gian chỉnh sửa nội dung (mtime), bạn cần phân biệt rõ với thời gian truy cập (atime) hay thay đổi quyền (ctime). - Xử lý ký tự lạ: Khi gặp file có tên chứa ký tự không in được, bạn dùng
ls -qđể hiển thị chúng dưới dạng dấu?để tránh làm vỡ giao diện terminal.

Câu hỏi thường gặp
Làm sao lọc nhanh file có đuôi .txt bằng ls?
Để lọc nhanh file có đuôi .txt bằng ls, bạn có thể kết hợp ls với grep như sau:
ls | grep “.txt$”
Lệnh này giúp liệt kê riêng các file có phần mở rộng .txt trong thư mục hiện tại, hỗ trợ quản lý và kiểm tra dữ liệu theo định dạng mong muốn. Tuy nhiên, với thư mục có số lượng file lớn, bạn nên cân nhắc dùng find để tối ưu hiệu suất, tránh trường hợp output bị thiếu hoặc lỗi do tên file phức tạp.
Khi thư mục có hàng ngàn file, nên dùng ls hay find?
Trong trường hợp thư mục lớn (trăm ngàn hoặc hàng triệu file), ls có thể gây nghẽn terminal và tăng tải hệ thống. Khi đó, bạn nên dùng:
find . -maxdepth 1
Lệnh find xử lý trực tiếp qua hệ thống file, tối ưu hơn về tốc độ, khả năng kiểm soát và tránh treo giao diện khi quản trị server thực tế.
Muốn kiểm tra tổng dung lượng một thư mục, nên dùng lệnh nào thay ls?
Lệnh ls chỉ hiển thị dung lượng từng file chứ không tổng hợp toàn bộ. Để xác định tổng dung lượng thư mục, bao gồm tất cả file con, file ẩn,… bạn dùng:
du -sh /ten_thu_muc
Lệnh này trả về kết quả tổng dung lượng dạng dễ đọc (KB, MB, GB), hỗ trợ kiểm tra, tối ưu lưu trữ file hệ thống hiệu quả.
Lệnh ls trong Linux không chỉ là công cụ liệt kê file và thư mục cơ bản mà còn là giải pháp mạnh mẽ giúp quản trị viên kiểm soát, rà soát và khai thác tối đa thông tin hệ thống file một cách chủ động và hiệu quả. Chúc bạn nắm được những thông tin hữu ích về lệnh ls, ngoài ra bạn có thể tham khảo thêm các lệnh phổ biến của Linux trong các bài viết của mình dưới đây:




