Tìm kiếm trang web

30 Lệnh ls Quan Trọng trong Linux kèm Ví Dụ


Bạn có mệt mỏi vì thường xuyên gõ “dir” trong terminal của Linux chỉ để nhớ ra rằng lệnh đúng là “ls”? Trong hướng dẫn toàn diện này, chúng tôi sẽ trình bày chi tiết cách sử dụng lệnh ls, vốn là cánh cổng để bạn tương tác với các tệp và thư mục trong hệ thống Linux. Chúng tôi sẽ sử dụng các ví dụ thực tế giúp bạn có thể:

  • Liệt kê, sắp xếp và lọc các tệp tin và thư mục hiệu quả hơn.
  • Điều hướng các cấu trúc thư mục phức tạp trên Linux mà không gặp khó khăn.
  • Hiểu rõ hơn về quyền sở hữu và quyền truy cập tệp trên Linux.
  • Nâng cao kỹ năng của bạn để trở thành người dùng cao cấp Linux.

Lệnh ls được sử dụng để liệt kê nội dung của các thư mục trong Linux. Có nhiều tùy chọn được sử dụng để tùy chỉnh đầu ra từ ls. Dưới đây là 30 lệnh ls hữu ích nhất dành cho người mới bắt đầu và những người sử dụng Linux giàu kinh nghiệm.

1. Lệnh cơ bản ls

$ ls
archive1.tar.gz  archive3.tar.gz  archive5.tar.gz  dir2  file1.txt  file3.txt  file5.txt   image2.jpg  image4.jpg  script1.sh  script3.sh  script5.sh
archive2.tar.gz  archive4.tar.gz  dir1             dir3  file2.txt  file4.txt  image1.jpg  image3.jpg  image5.jpg  script2.sh  script4.sh

Liệt kê các tệp và thư mục trong thư mục hiện tại.

2. Liệt kê với Thông tin Chi tiết -l

Nếu bạn muốn hiển thị thông tin chi tiết về các tệp bao gồm quyền truy cập, chủ sở hữu, nhóm, số liên kết, kích thước và ngày sửa đổi, hãy sử dụng tùy chọn -l.

$ ls -l
total 92
-rw-r--r-- 1 root root  565 Jul 20 19:26 archive1.tar.gz
-rw-r--r-- 1 root root  336 Jul 20 19:26 archive2.tar.gz
-rw-r--r-- 1 root root  669 Jul 20 19:26 archive3.tar.gz
-rw-r--r-- 1 root root   80 Jul 20 19:26 archive4.tar.gz
-rw-r--r-- 1 root root  457 Jul 20 19:26 archive5.tar.gz
drwxr-xr-x 5 root root 4096 Jul 20 19:26 dir1
drwxr-xr-x 5 root root 4096 Jul 20 19:26 dir2
drwxr-xr-x 5 root root 4096 Jul 20 19:26 dir3
-rw-r--r-- 1 root root  562 Jul 20 19:26 file1.txt
-rw-r--r-- 1 root root  280 Jul 20 19:26 file2.txt
-rw-r--r-- 1 root root  809 Jul 20 19:26 file3.txt
-rw-r--r-- 1 root root  479 Jul 20 19:26 file4.txt
-rw-r--r-- 1 root root  169 Jul 20 19:26 file5.txt
-rw-r--r-- 1 root root  626 Jul 20 19:26 image1.jpg
-rw-r--r-- 1 root root  461 Jul 20 19:26 image2.jpg
-rw-r--r-- 1 root root  461 Jul 20 19:26 image3.jpg
-rw-r--r-- 1 root root  841 Jul 20 19:26 image4.jpg
-rw-r--r-- 1 root root   33 Jul 20 19:26 image5.jpg
-rw-r--r-- 1 root root  835 Jul 20 19:26 script1.sh
-rw-r--r-- 1 root root  545 Jul 20 19:26 script2.sh
-rw-r--r-- 1 root root  409 Jul 20 19:26 script3.sh
-rw-r--r-- 1 root root  208 Jul 20 19:26 script4.sh
-rw-r--r-- 1 root root  943 Jul 20 19:26 script5.sh

3. Liệt kê tất cả các tập tin (bao gồm cả tập tin ẩn) -a

Bằng cách sử dụng tùy chọn lệnh -a, bạn sẽ thấy các tập tin ẩn (những tập tin bắt đầu bằng dấu chấm) như được thấy trong ví dụ sau.

$  ls  -a
.   archive1.tar.gz  archive3.tar.gz  archive5.tar.gz  dir2  file1.txt  file3.txt  file5.txt      .hidden2.conf  .hidden4.conf  image1.jpg  image3.jpg  image5.jpg  script2.sh  script4.sh
..  archive2.tar.gz  archive4.tar.gz  dir1             dir3  file2.txt  file4.txt  .hidden1.conf  .hidden3.conf  .hidden5.conf  image2.jpg  image4.jpg  script1.sh  script3.sh  script5.sh

4. Liệt kê với kích thước dễ đọc bởi con người -h

Nếu bạn muốn hiển thị kích thước tệp theo định dạng dễ đọc (ví dụ: KB, MB), hãy sử dụng tùy chọn lệnh -h.

$ ls -lh ~/goharbor-prepare.tar
-rw-r--r-- 1 root root 203M Jul 20 17:38 /root/goharbor-prepare.tar

5. Liệt kê tệp theo thời gian sửa -t

Sắp xếp các tập tin theo thời gian chỉnh sửa, hiển thị tập tin mới nhất trước bằng cách sử dụng -t

$ ls -lht ~/
total 835M
drwxr-xr-x 5 root root 4.0K Jul 20 19:27 linux-ls
drwxr-xr-x 3 root root 4.0K Jul 20 18:44 myapp
drwxr-xr-x 3 root root 4.0K Jul 20 18:10 myproject
drwxr-xr-x 2 root root 4.0K Jul 20 18:05 django-app
-rw-r--r-- 1 root root 203M Jul 20 17:38 goharbor-prepare.tar
drwxr-xr-x 3 root root 4.0K Jul 20 16:51 harbor
drwxr-xr-x 5 root root 4.0K Jul 20 00:02 quay
-rw-r--r-- 1 root root 629M Jun  6 09:39 harbor-offline-installer-v2.11.0.tgz
-rw-r--r-- 1 root root  12K Jun  6 09:39 harbor-online-installer-v2.11.0.tgz
-rw-r--r-- 1 root root 3.8M May 15 17:19 starship-x86_64-unknown-linux-gnu.tar.gz
-rw-r--r-- 1 root root   65 May 15 17:19 starship-x86_64-unknown-linux-gnu.tar.gz.sha256

6. Thứ tự ngược

Để đảo ngược thứ tự hiển thị của danh sách, sử dụng tùy chọn lệnh -r:

$ ls -lhr ~/
total 835M
-rw-r--r-- 1 root root   65 May 15 17:19 starship-x86_64-unknown-linux-gnu.tar.gz.sha256
-rw-r--r-- 1 root root 3.8M May 15 17:19 starship-x86_64-unknown-linux-gnu.tar.gz
drwxr-xr-x 5 root root 4.0K Jul 20 00:02 quay
drwxr-xr-x 3 root root 4.0K Jul 20 18:10 myproject
drwxr-xr-x 3 root root 4.0K Jul 20 18:44 myapp
drwxr-xr-x 5 root root 4.0K Jul 20 19:27 linux-ls
-rw-r--r-- 1 root root  12K Jun  6 09:39 harbor-online-installer-v2.11.0.tgz
-rw-r--r-- 1 root root 629M Jun  6 09:39 harbor-offline-installer-v2.11.0.tgz
drwxr-xr-x 3 root root 4.0K Jul 20 16:51 harbor
-rw-r--r-- 1 root root 203M Jul 20 17:38 goharbor-prepare.tar
drwxr-xr-x 2 root root 4.0K Jul 20 18:05 django-app

7. Liệt kê tệp tin theo thư mục con

Liệt kê tất cả các tệp và thư mục theo kiểu đệ quy.

$ ls -R ~/
/root/quay:
config  postgres  storage

/root/quay/config:
config.yaml

/root/quay/postgres:
userdata

8. Chỉ Liệt Kê Thư Mục

Bạn có thể giới hạn kết quả chỉ bằng cách liệt kê các thư mục trong thư mục hiện tại của bạn.

$ ls -d */
dir1/  dir2/  dir3/

9. Liệt kê chi tiết thư mục cụ thể

Hiển thị thông tin chi tiết về các tập tin trong một thư mục cụ thể bằng cách chạy các lệnh sau.

ls -l /path/to/directory

10. Liệt kê Tệp với Ký tự Đại diện

Nếu bạn muốn liệt kê các tệp khớp với một mẫu cụ thể (ví dụ: tất cả các tệp .txt), hãy chạy:

$ ls *.txt
file1.txt  file2.txt  file3.txt  file4.txt  file5.txt

$ ls *.jpg
image1.jpg  image2.jpg  image3.jpg  image4.jpg  image5.jpg

11. Danh sách với các chỉ báo loại tệp

Thêm một ký tự vào mỗi mục để chỉ định loại tệp (/ cho thư mục, * cho tệp thực thi).

ls -F

12. Liệt kê tệp theo kích thước

Sắp xếp các tệp theo kích thước, với tệp lớn nhất đầu tiên bằng cách sử dụng các lệnh sau.

ls -lS

13. Phân loại tệp theo loại

Điều này hoạt động tương tự như -F, phân loại các tệp bằng cách thêm các chỉ báo.

ls --classify

14. Liệt kê Cấu trúc Thư mục

Nhận một bản hiển thị dạng cây của cấu trúc thư mục bằng cách sử dụng các lệnh sau.

ls -R | grep ":$"

15. Danh sách với Số Inode

Lấy số lượng inode cho mỗi tệp bằng cách sử dụng tùy chọn -i.

ls -i

16. Liệt kê tệp theo cột

Liệt kê các mục theo cột bằng cách sử dụng lệnh -C.

ls -C

17. Liệt kê các tệp theo thời gian truy cập

Để sắp xếp và hiển thị các tập tin theo thời gian truy cập lần cuối, hãy sử dụng -u

$ ls -ltu
total 92
drwxr-xr-x 5 root root 4096 Jul 21 22:15 dir3
drwxr-xr-x 5 root root 4096 Jul 21 22:15 dir2
drwxr-xr-x 5 root root 4096 Jul 21 22:15 dir1
-rw-r--r-- 1 root root  457 Jul 20 19:26 archive5.tar.gz
-rw-r--r-- 1 root root   33 Jul 20 19:26 image5.jpg
-rw-r--r-- 1 root root  943 Jul 20 19:26 script5.sh
-rw-r--r-- 1 root root  169 Jul 20 19:26 file5.txt
-rw-r--r-- 1 root root   80 Jul 20 19:26 archive4.tar.gz
...

18. Liệt kê các tệp theo thời gian thay đổi

Sắp xếp kết quả theo và hiển thị thời gian thay đổi cuối cùng của thông tin trạng thái tệp.

ls -lc

19. Danh sách với màu sắc

Sử dụng tùy chọn lệnh --color để bật đầu ra có màu cho dễ đọc hơn.

ls --color

20. Chỉ liệt kê tên

Truyền -1 vào lệnh ls để liệt kê một tệp trên mỗi dòng.

ls -1

21. Liệt kê các tệp theo kích thước ngược

Bạn cũng có thể sắp xếp các tập tin theo kích thước, bạn sẽ thấy các tập tin nhỏ nhất trước.

$  ls -lhSr ~/
total 835M
-rw-r--r-- 1 root root   65 May 15 17:19 starship-x86_64-unknown-linux-gnu.tar.gz.sha256
drwxr-xr-x 5 root root 4.0K Jul 20 00:02 quay
drwxr-xr-x 3 root root 4.0K Jul 20 18:10 myproject
drwxr-xr-x 3 root root 4.0K Jul 20 18:44 myapp
drwxr-xr-x 5 root root 4.0K Jul 20 19:27 linux-ls
drwxr-xr-x 3 root root 4.0K Jul 20 16:51 harbor
drwxr-xr-x 2 root root 4.0K Jul 20 18:05 django-app
-rw-r--r-- 1 root root  12K Jun  6 09:39 harbor-online-installer-v2.11.0.tgz
-rw-r--r-- 1 root root 3.8M May 15 17:19 starship-x86_64-unknown-linux-gnu.tar.gz
-rw-r--r-- 1 root root 203M Jul 20 17:38 goharbor-prepare.tar
-rw-r--r-- 1 root root 629M Jun  6 09:39 harbor-offline-installer-v2.11.0.tgz

22. Liệt kê các tệp theo thời gian đảo ngược

Hãy sắp xếp các tệp theo thời gian chỉnh sửa và lấy tệp cũ nhất làm tệp đầu tiên.

ls -ltr

23. Liệt kê tệp theo phần mở rộng

Sắp xếp theo thứ tự chữ cái theo phần mở rộng tệp

ls -X

24. Liệt kê tệp kèm ngữ cảnh

Xem ngữ cảnh bảo mật cho mỗi tệp bằng cách sử dụng --context

ls --context

25. Danh sách với các kiểu trích dẫn

Lấy kết quả với tên tệp có dấu ngoặc kép.

ls -Q

26. Liệt kê tệp theo định dạng dễ đọc với đơn vị SI

Liệt kê bằng các đơn vị SI cho kích thước tệp (ví dụ: 1K=1000).

ls -lh --si

27. Liệt kê các tệp theo thứ tự ngược dựa trên phần mở rộng

Nếu bạn muốn sắp xếp các tệp theo phần mở rộng, theo thứ tự ngược lại, hãy chạy các lệnh dưới đây.

ls -Xr

28. Liệt kê tệp và chỉ hiển thị tên thư mục

Chỉ hiển thị các thư mục trong thư mục hiện tại.

$ ls -d */
dir1/  dir2/  dir3/

29. Liệt kê tệp theo thứ tự chữ cái ngược

Để đảo ngược thứ tự của danh sách, hiển thị các tệp theo thứ tự chữ cái ngược, hãy sử dụng tùy chọn lệnh -r:

ls -r

30. Kết hợp nhiều tùy chọn

Bạn có thể dễ dàng kết hợp nhiều tùy chọn: ví dụ là hiển thị tất cả các tập tin, ở định dạng dài, với kích thước dễ đọc, và phân loại theo loại tập tin.

ls -alhF

Dưới đây là một bảng tóm tắt 30 ví dụ sử dụng lệnh ls:

LệnhMô tả
lsLiệt kê các tệp và thư mục trong thư mục hiện tại.
ls -lHiển thị thông tin chi tiết bao gồm quyền truy cập, số lượng liên kết, chủ sở hữu, nhóm, kích thước và ngày chỉnh sửa.
ls -aBao gồm các tệp ẩn (những tệp bắt đầu bằng dấu chấm).
ls -lhHiển thị kích thước tệp ở định dạng dễ đọc (ví dụ: KB, MB).
ls -ltSắp xếp theo thời gian sửa đổi, mới nhất trước.
ls -lrĐảo ngược thứ tự của danh sách.
ls -RLiệt kê tất cả các tệp và thư mục theo kiểu đệ quy.
ls -d */Chỉ liệt kê các thư mục trong thư mục hiện tại.
ls -l /path/to/directoryHiển thị thông tin chi tiết về các tệp trong thư mục được chỉ định.
ls *.txtLiệt kê các tệp phù hợp với một mẫu (ví dụ: tất cả các tệp .txt).
ls -FThêm một ký tự vào mỗi mục để chỉ định loại tệp (/ cho thư mục, * cho tệp thực thi).
ls -lSSắp xếp các tệp theo kích thước, tệp lớn nhất ở đầu tiên.
ls --classifyTương tự như -F, phân loại tập tin bằng cách thêm các chỉ số.
`ls -Rgrep ":$`
ls -iHiển thị số inode cho mỗi tệp.
ls -CLiệt kê các tệp theo cột.
ls -luSắp xếp theo và hiển thị thời gian truy cập lần cuối.
ls -lcSắp xếp theo và hiển thị thời gian thay đổi cuối cùng của thông tin trạng thái tệp.
ls --colorCho phép hiển thị màu để dễ đọc hơn.
ls -1Liệt kê một tệp trên mỗi dòng.
ls -lSrSắp xếp các tệp theo kích thước, từ nhỏ nhất trước.
ls -ltrSắp xếp các tệp theo thời gian chỉnh sửa, tệp cũ nhất trước.
ls -XSắp xếp các tệp theo phần mở rộng.
ls --contextHiển thị ngữ cảnh bảo mật cho từng tệp.
ls -QTrích dẫn tên của các tệp.
ls -lh --siSử dụng đơn vị SI cho kích thước tệp (ví dụ: 1K=1000).
ls -XrSắp xếp các tệp theo phần mở rộng, theo thứ tự ngược lại.
ls -d */Chỉ hiển thị các thư mục trong thư mục hiện tại.
ls -rĐảo ngược thứ tự của danh sách, hiển thị các tập tin theo thứ tự chữ cái ngược.
ls -alhFKết hợp nhiều tùy chọn: hiển thị tất cả các tệp, theo định dạng đầy đủ, với kích thước dễ đọc và phân loại các loại tệp.

Kết luận

Trong bài viết này, chúng tôi đã cung cấp hướng dẫn sử dụng đầy đủ lệnh ls kèm ví dụ. Bằng cách thành thạo các tùy chọn lệnh ls thông dụng, bạn sẽ dễ dàng bắt đầu điều hướng và thao tác với hệ thống tệp của Linux.