Sẽ khó mà lấy thông tin chi tiết liên quan đến các tệp trên bộ nhớ của bạn nếu bạn không biết cách sử dụng lệnh ls. Trong bài viết này chúng ta sẽ thảo luận về mọi thứ liên quan đến lệnh ls trên Linux, cùng với một số flag khác nhau được sử dụng với nó.
1. Lệnh ls trên Linux
Lệnh ls được sử dụng để liệt kê tất cả các tệp và folder có trong thư mục (directory) làm việc hiện tại của bạn. Bạn cũng có thể nhận được nhiều thông tin về các tệp bằng cách sử dụng cùng một lệnh. Vì nó đã được bao gồm trong gói tiện ích cốt lõi GNU, bạn không cần phải cài đặt thêm bất kỳ gói nào trên hệ thống của mình để sử dụng nó.
Bạn cũng có thể xâu chuỗi ls với các lệnh bash khác. Ví dụ: đặt câu lệnh (statement) grep với ls sẽ cho phép bạn tìm kiếm và lọc thư mục cho các tệp cụ thể.
2. Cách sử dụng lệnh ls
Cú pháp cơ bản của lệnh ls là:
ls [options] [directory]
Một trong những cách sử dụng lệnh đơn giản nhất là liệt kê tất cả các file và folder trong thư mục làm việc hiện tại của bạn.
ls
Nếu bạn thực hiện câu lệnh nói trên trong thư mục gốc (root directory) của hệ thống, bạn sẽ thấy một kết quả giống như thế này.
bin dev home lib64 mnt proc run srv tmp var
boot etc lib lost+found opt root sbin sys usr
2.1 Liệt kê các tệp trong một thư mục cụ thể
Để liệt kê các tệp thuộc một thư mục khác (không phải thư mục làm việc hiện tại), bạn sẽ phải chuyển đường dẫn thư mục cùng với tên lệnh.
ls [directory]
Để lấy danh sách tất cả các tệp có trong thư mục /boot :
ls /boot
Đầu ra bây giờ sẽ hiển thị các tệp và thư mục có trong tên thư mục được cung cấp.
EFI grub initramfs-linux-fallback.img initramfs-linux.img vmlinuz-linux
Sử dụng flag -F với lệnh sẽ thêm ký tự / vào cuối mỗi thư mục.
EFI/ grub/ initramfs-linux-fallback.img initramfs-linux.img vmlinuz-linux
Bạn cũng có thể chuyển nhiều thư mục bằng cách tách tên đường dẫn với ký tự Dấu cách.
ls /boot /usr
Output
/boot:
EFI grub initramfs-linux-fallback.img initramfs-linux.img vmlinuz-linux
/usr:
bin etc include lib lib32 lib64 local sbin share src
2.2 Liệt kê các tệp trong Thư mục gốc (Root directory)
Thư mục gốc chứa tất cả các thư mục và tệp khác trên hệ thống của bạn. Đây là thư mục cao nhất trong hệ thống phân cấp thư mục trên máy tính. Thư mục gốc thường được ký hiệu bằng ký tự /.
ls /
Dù bạn đang ở thư mục nào tại thời điểm nhập lệnh, lệnh được đề cập ở trên sẽ tạo ra một đầu ra liệt kê tất cả các thư mục con và tệp có bên trong thư mục gốc.
2.3 Liệt kê các tệp trong Thư mục gốc
Thư mục mẹ (parent directory) trong Linux là một thư mục phía trên thư mục hiện tại. Ví dụ như /usr/bin. Ở đây, /bin là thư mục làm việc hiện tại của bạn và /usr là thư mục mẹ.
Để nhận danh sách tất cả các tệp trong thư mục mẹ:
ls ..
bin etc include lib lib32 lib64 local sbin share src
Thêm một .. khác sẽ đưa bạn đến thư mục mẹ của thư mục mẹ. Ví dụ, /var/log/old là thư mục làm việc hiện tại của bạn. ls .. sẽ liệt kê các thư mục có trong thư mục /log trong khi ls ../.. sẽ cung cấp cho bạn danh sách tất cả các tệp và thư mục có trong thư mục /var .
ls ../..
cache db empty games lib local lock log mail opt run spool tmp
2.4 Liệt kê các tệp trong Thư mục chính (Home Directory)
Thư mục chính trong Linux được ký hiệu bằng ký tự ~ . Do đó, để liệt kê nội dung có sẵn trong thư mục chính của bạn:
ls ~
2.5 Chỉ liệt kê các thư mục (Không có tệp)
Nếu vì bất kỳ lý do gì mà bạn chỉ muốn liệt kê các folder có trong một thư mục, hãy sử dụng flag -d với lệnh ls mặc định.
ls -d /home
>>> Đọc ngay: Cách cài đặt Microsoft Office trên Linux
2.6 Liệt kê các tệp với các thư mục con
Sử dụng ký tự * với lệnh ls sẽ cung cấp cho bạn danh sách tất cả các tệp và thư mục trong thư mục làm việc hiện tại, cùng với các thư mục con (sub-directory).
ls *
2.7 Liệt kê các tệp một cách đệ quy
Sử dụng flag -R với lệnh mặc định sẽ liệt kê tất cả các tệp và folder có bên trong thư mục cho đến cấp cuối cùng.
ls -R
Lưu ý rằng bạn cũng có thể chuyển đường dẫn thư mục cùng với flag đệ quy. Điều này có nghĩa là ls /usr/home -R là một lệnh hợp lệ.
2.8 Liệt kê các tệp với kích thước của chúng
Để lấy tên của tất cả các tệp cùng với kích thước của chúng, hãy sử dụng flag -s với lệnh.
ls -s /yay-git
total 2944
4 pkg 4 src 4 yay 2932 yay-git-10.1.2.r0.g7d849a8-2-x86_64.pkg.tar.zst
2.9 Liệt kê các tệp với thông tin chi tiết
Flag -l cho phép bạn nhận danh sách nội dung của thư mục Linux với mô tả chi tiết của từng mục nhập. Thông tin sau được bao gồm trong đầu ra:
- Quyền đối với file và folder
- Số lượng liên kết
- Chủ sở hữu nội dung
- Chủ sở hữu nhóm
- Kích thước nội dung
- Tên tệp
- Ngày giờ sửa đổi lần cuối
ls -l
total 2944
drwxr-xr-x 3 sharmadeepesh sharmadeepesh 4096 Feb 8 13:53 pkg
drwxr-xr-x 4 sharmadeepesh sharmadeepesh 4096 Feb 8 13:52 src
drwxr-xr-x 7 sharmadeepesh sharmadeepesh 4096 Feb 8 13:54 yay
-rw-r--r-- 1 sharmadeepesh sharmadeepesh 2998674 Feb 8 13:53 yay-git-10.1.2.r0.g7d849a8-2-x86_64.pkg.tar.zst
Cột đầu tiên được dành riêng cho quyền đối với file và folder. Ký tự đầu tiên biểu thị loại tệp và chín ký tự tiếp theo biểu thị quyền của tệp.
Các loại tệp khác nhau mà bạn thường gặp:
- Tệp thông thường (Regular files) (-)
- Chặn các tệp đặc biệt (Block special files) (b)
- Các tệp đặc biệt của ký tự (Character special files) (c)
- Thư mục (Directory) (d)
- Liên kết tượng trưng (Symbolic link) (l)
- Tệp mạng (Network file (n)
- FIFO (p)
- Ổ cắm (Socket) (s)
Về quyền đối với tệp, các ký tự sau được sử dụng trong đầu ra.
- Có thể đọc được (Readable) (r)
- Ghi (Writable) (w)
- Thực thi (Executable) (x)
Ví dụ như d rw-r – r– làm ví dụ. Ký tự đầu tiên cho biết rằng mục nhập (entry) là một thư mục. Hai ký tự sau biểu thị rằng người dùng hiện tại có quyền đọc và ghi. Các ký tự còn lại cung cấp thông tin về quyền đối với tệp cho những người dùng khác.
2.10 Liệt kê các tệp có kích thước có thể đọc được
Lệnh -s cung cấp cho bạn một giá trị số được liên kết với mỗi mục nhập. Và hiển nhiên, bạn sẽ không biết ý nghĩa của giá trị này là gì. Do đó, để liệt kê các tệp và kích thước của chúng theo cách có thể đọc được, hãy sử dụng flag -lh cùng với lệnh.
ls -lh
total 2.9M
drwxr-xr-x 3 sharmadeepesh sharmadeepesh 4.0K Feb 8 13:53 pkg
drwxr-xr-x 4 sharmadeepesh sharmadeepesh 4.0K Feb 8 13:52 src
drwxr-xr-x 7 sharmadeepesh sharmadeepesh 4.0K Feb 8 13:54 yay
-rw-r--r-- 1 sharmadeepesh sharmadeepesh 2.9M Feb 8 13:53 yay-git-10.1.2.r0.g7d849a8-2-x86_64.pkg.tar.zst
Các chỉ định kích thước cho byte (B), megabyte (MB), gigabyte (GB) và terabyte (TB) được sử dụng trong đầu ra.
>>> Đọc ngay: Cách bắt đầu sử dụng Linux
2.11 Liệt kê các tệp ẩn
Lệnh ls mặc định không bao gồm các tệp ẩn trong đầu ra. Để liệt kê nội dung được người dùng đặt là ẩn, hãy dùng flag -a với lệnh ls.
ls -a
2.12 Dùng ls Với lệnh Grep
Lệnh grep được sử dụng để so khớp các mẫu tuân theo một biểu thức (expression) cụ thể. Bạn có thể xâu chuỗi lệnh này với ls để tìm kiếm các tệp có trong hệ thống của bạn. Trong thư mục gốc của bạn, hãy nhập:
ls | grep l
Thao tác này sẽ liệt kê tất cả các file và folder bắt đầu bằng ký tự l. Bạn cũng có thể lọc các tệp của mình theo phần mở rộng (extension) của chúng bằng cách sử dụng grep.
2.13 Sắp xếp các tập tin theo thời gian và ngày tháng
Để liệt kê tất cả các tệp và sắp xếp chúng theo thời gian và ngày tạo/sửa đổi, hãy sử dụng flag -t cùng với ls.
ls -t
2.14 Sắp xếp tệp theo kích thước
Flag -S sẽ cho phép bạn sắp xếp các tệp và thư mục phù hợp với kích thước tệp của chúng.
ls -S
Theo mặc định, các tệp sẽ được sắp xếp theo thứ tự giảm dần (tệp lớn nhất trước). Tuy nhiên, bạn có thể dễ dàng đảo ngược hành vi này bằng cách thêm r vào flag -S .
ls -Sr
2.15 Liệt kê tệp và gửi đầu ra tới tệp
Sử dụng ký tự > , bạn có thể gửi đầu ra của lệnh ls tới bất kỳ tệp nào.
ls > ls-output.txt
Sau đó, bạn có thể đọc nội dung của tệp mới tạo bằng cách nhập cat ls-output.txt vào terminal của bạn.
3. Hiển thị nội dung của một thư mục với lệnh ls
Lệnh ls là một trong những lệnh mạnh nhất được cung cấp cho người dùng Linux. Để khai thác tối đa các lệnh của bạn trong terminal, bạn có thể thử xâu chuỗi các lệnh cùng nhau.
Mẹo số một để làm quen với Linux là ghi nhớ một số lệnh cơ bản. Điều này chắc chắn sẽ giúp bạn trở nên hiệu quả và nhanh chóng trong khi sử dụng hệ thống của bạn.
>>> Nếu bạn đang có nhu cầu học lập trình trực tuyến, tìm hiểu ngay tại đây:
>>> Xem thêm bài viết:
Đại học trực tuyến? Tại sao nên chọn học đại học trực tuyến thay vì đại học offline?
Cách tạo ảnh Mosaic trên Linux với Polyfoto
Cách ghi chú trong Terminal Linux với ứng dụng ghi chú tnote
Cách sử dụng lệnh wc trong Linux
Hướng dẫn cách sử dụng lsof để theo dõi file đang mở trên Linux
Dịch từ: https://www.makeuseof.com/ls-command-linux/
Vân Nguyễn
Bình luận (0
)