Danh sách thư mục
Tạo lệnh ls để liệt kê nội dung thư mục
Bắt đầu với ls
## ls là gì?
Lệnh `ls` dùng để liệt kê nội dung các thư mục trong các hệ điều hành kiểu Unix (Linux, macOS, v.v.). Đây là một trong những lệnh được sử dụng thường xuyên nhất để xem các tập tin và thư mục.
## Cách sử dụng công cụ này
1. **Chọn tùy chọn hiển thị**: Chọn thông tin muốn hiển thị (tất cả các tập tin, định dạng chi tiết, màu sắc, v.v.) 2. **Cấu hình cách sắp xếp**: Điều chỉnh cách sắp xếp các tập tin (theo tên, kích thước, thời gian, v.v.) 3. **Chỉ định đối tượng** (tùy chọn): Nhập đường dẫn thư mục mà bạn muốn liệt kê 4. **Sao chép và chạy**: Sao chép lệnh được tạo ra và dán nó vào terminal của bạn
Giải thích các tùy chọn hiển thị
### `-a` / `--all` Danh sách tất cả các tệp, bao gồm cả các tệp ẩn bắt đầu bằng dấu chấm (`.`). Các tệp ẩn là những tệp cấu hình và theo mặc định sẽ không được hiển thị.
**Ví dụ**: `ls -a` hiển thị `.gitconfig` cùng với các tệp thông thường.### `-l` / `--format=long` Sử dụng định dạng liệt kê chi tiết, hiển thị: - **Quyền truy cập tập tin**: `-rwxr-xr--` - **Số lượng liên kết cứng**: `2` - **Chủ sở hữu**: `user` - **Nhóm**: `group` - **Kích thước tập tin**: `4096` - **Thời gian sửa đổi**: `Jan 15 10:30` - **Tên tập tin**: `document.txt`### `-h` / `--human-readable` Hiển thị kích thước tập tin ở định dạng dễ đọc hơn (K, M, G) thay vì bằng byte.
**Ví dụ**: `234K` thay vì `239616`### `--color` Màu sắc hóa kết quả dựa trên loại tệp: - **Xanh dương**: Thư mục - **Xanh lục**: Tệp thực thi - **Đỏ**: Tệp nén (`.zip`, `.tar.gz`) - **Tím**: Hình ảnh và tệp phương tiện truyền thông### `-i` / `--inode` Hiển thị số thứ tự (inode) của mỗi tập tin. Hữu ích để hiểu cấu trúc hệ thống tập tin.
Tùy chọn sắp xếp
### Sắp xếp theo kích thước: `-S` Danh sách các tệp theo kích thước, tệp lớn nhất ở trên cùng. Hữu ích để tìm những tệp chiếm nhiều dung lượng ổ đĩa.
```bash $ ls -lS total 1.2G -rw-r--r-- 1 user group 800M Jan 15 10:30 video.mp4 -rw-r--r-- 1 user group 400M Jan 14 15:20 backup.tar.gz -rw-r--r-- 1 user group 2.5K Jan 16 09:45 document.txt ```
### Sắp xếp theo thời gian: `-t` Sắp xếp theo thời gian thay đổi (tệp mới nhất ở trên cùng). Hữu ích để tìm những tệp vừa được chỉnh sửa.
```bash $ ls -lt -rw-r--r-- 1 user group 2.5K Jan 16 09:45 latest.txt -rw-r--r-- 1 user group 800M Jan 15 10:30 video.mp4 -rw-r--r-- 1 user group 400M Jan 14 15:20 backup.tar.gz ```
### Đảo trật tự sắp xếp: `-r` Đảo ngược thứ tự sắp xếp. Thường được kết hợp với các tùy chọn sắp xếp khác.
```bash # Smallest files first $ ls -lSr
# Oldest files first $ ls -ltr ```
Ví dụ thực tế
### Danh sách các tập tin lớn Tìm những tập tin chiếm nhiều không gian đĩa nhất:
```bash ls -lahS ```
### Các tập tin vừa được chỉnh sửa Xem các tập tin đã thay đổi trong 24 giờ qua:
```bash ls -lart ```
### Danh sách toàn bộ thư mục Hiển thị mọi thứ kèm theo thông tin inode và màu sắc:
```bash ls -lai --color ```
Mẹo và các phương pháp tốt nhất
### Mẹo nâng cao năng suất
1. **Tạo tên viết tắt cho các mẫu phổ biến** ```bash alias ll='ls -lah' alias lt='ls -lart' alias lsize='ls -lahS' ```
2. **Kết hợp với các lệnh khác** ```bash # Count files ls -1 | wc -l
# Find files over 100MB ls -lS | awk '$5 > 104857600' ```
### Những sai lầm thường gặp
1. **Sự nhầm lẫn trong việc sắp xếp** - `ls -lS` sắp xếp theo kích thước (từ lớn đến nhỏ) - `ls -lrS` sắp xếp theo kích thước (từ nhỏ đến lớn) - `ls -lt` sắp xếp theo thời gian (từ mới nhất đến cũ nhất) - `ls -lrt` sắp xếp theo thời gian (từ cũ nhất đến mới nhất)
2. **Bỏ qua các tập tin ẩn** - `ls` không hiển thị các tập tin bắt đầu bằng `.` - Sử dụng `ls -a` để xem các tập tin ẩn - Sử dụng `ls -A` để hiển thị tất cả trừ `.` và `..`
▶Sự khác biệt giữa -a và -A là gì?
▶Làm thế nào để liệt kê chỉ các thư mục (không phải tệp)?
▶Tại sao kích thước tập tin lại khác nhau khi sử dụng -h?
▶Làm thế nào để liệt kê các tệp theo thời gian tạo?
▶Dòng ‘tổng’ trong định dạng dài có nghĩa là gì?
Nếu công cụ này đã giúp ích cho bạn, hãy nghĩ đến việc mua một cốc cà phê cho tôi.
Hãy mua cho tôi một cốc cà phê nhé.