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.shLiệ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.sh3. 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.sh4. 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.tar5. 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.sha2566. 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-app7. 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:
userdata8. 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/directory10. 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.jpg11. 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 -F12. 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 -lS13. 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 --classify14. 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 -i16. 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 -C17. 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 -lc19. 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 --color20. 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 -121. 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.tgz22. 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 -ltr23. 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 -X24. 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 --context25. 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 -Q26. 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 --si27. 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 -Xr28. 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 -r30. 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 -alhFDưới đây là một bảng tóm tắt 30 ví dụ sử dụng lệnh ls:
| Lệnh | Mô tả |
|---|---|
ls | Liệt kê các tệp và thư mục trong thư mục hiện tại. |
ls -l | Hiể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 -a | Bao gồm các tệp ẩn (những tệp bắt đầu bằng dấu chấm). |
ls -lh | Hiển thị kích thước tệp ở định dạng dễ đọc (ví dụ: KB, MB). |
ls -lt | Sắ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 -R | Liệ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/directory | Hiển thị thông tin chi tiết về các tệp trong thư mục được chỉ định. |
ls *.txt | Liệ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 -F | 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 -lS | Sắp xếp các tệp theo kích thước, tệp lớn nhất ở đầu tiên. |
ls --classify | Tương tự như -F, phân loại tập tin bằng cách thêm các chỉ số. |
| `ls -R | grep ":$` |
ls -i | Hiển thị số inode cho mỗi tệp. |
ls -C | Liệt kê các tệp theo cột. |
ls -lu | Sắp xếp theo và hiển thị thời gian truy cập lần cuối. |
ls -lc | Sắ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 --color | Cho phép hiển thị màu để dễ đọc hơn. |
ls -1 | Liệt kê một tệp trên mỗi dòng. |
ls -lSr | Sắp xếp các tệp theo kích thước, từ nhỏ nhất trước. |
ls -ltr | Sắp xếp các tệp theo thời gian chỉnh sửa, tệp cũ nhất trước. |
ls -X | Sắp xếp các tệp theo phần mở rộng. |
ls --context | Hiển thị ngữ cảnh bảo mật cho từng tệp. |
ls -Q | Trích dẫn tên của các tệp. |
ls -lh --si | Sử dụng đơn vị SI cho kích thước tệp (ví dụ: 1K=1000). |
ls -Xr | Sắ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 -alhF | Kế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.
