Cách sử dụng lệnh ls trong Linux | Học trực tuyến CNTT, học lập trình từ cơ bản đến nâng cao

Cách sử dụng lệnh ls trong Linux

Chia sẻ kiến thức 23/02/2022

Lệnh ls là một trong những công cụ dòng lệnh hữu ích nhất trong Linux. Đây là mọi thứ bạn cần biết về ls.

Lệnh ls là một trong những công cụ dòng lệnh hữu ích nhất trong Linux. Đây là mọi thứ bạn cần biết về ls.

 

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:

  1. Quyền đối với file và folder
  2. Số lượng liên kết
  3. Chủ sở hữu nội dung
  4. Chủ sở hữu nhóm
  5. Kích thước nội dung
  6. Tên tệp
  7. 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:

  1. Tệp thông thường (Regular files) (-)
  2. Chặn các tệp đặc biệt (Block special files) (b)
  3. Các tệp đặc biệt của ký tự (Character special files) (c)
  4. Thư mục (Directory) (d)
  5. Liên kết tượng trưng (Symbolic link) (l)
  6. Tệp mạng (Network file (n)
  7. FIFO (p)
  8. Ổ cắm (Socket) (s)

Về quyền đối với tệp, các ký tự sau được sử dụng trong đầu ra.

  1. Có thể đọc được (Readable) (r)
  2. Ghi (Writable) (w)
  3. Thực thi (Executable) (x)

Ví dụ như 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

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        
Chat Button
Chat với FUNiX GPT ×

yêu cầu gọi lại

error: Content is protected !!