Lệnh ls trong Linux là lệnh dùng để liệt kê các file và thư mục trong một thư mục cụ thể. Để sử dụng lệnh này, bạn chỉ cần gõ “ls” và nhấn phím Enter để hiển thị toàn bộ nội dung của thư mục.
Lệnh ls được sử dụng để liệt kê các thư mục và file trong hệ điều hành Unix và Unix-like. Nó được phát triển bởi Single Unix Specification và POSIX. Lệnh này có sẵn trong EFI shell, là một thành phần của nhóm các cổng Win32 cơ bản của tiện ích giống Unix của GNU hoặc là một gói độc lập cho Microsoft Windows.
Các môi trường tính toán số như GNU Octave và MATLAB cũng chứa một chức năng ls có cùng chức năng. Trong một số môi trường khác như Microsoft Windows, OS2 và DOS, chức năng tương tự được cung cấp bởi lệnh dir. Các lệnh này có các tùy chọn khác nhau, bạn có thể xem tài liệu được cung cấp bởi lệnh để biết tùy chọn và cách sử dụng phù hợp.
Lịch sử ngắn của lệnh ls: Lệnh ls đã xuất hiện trong phiên bản Unix đầu tiên của AT&T và được lấy từ cùng một lệnh trong Multics cũng có tên là “ls”, viết tắt của thuật ngữ “list”. ls là một thành phần của X/Open Portability Guide từ phiên bản 2 năm 1987. Nó được đưa vào trong POSIX.1 phiên bản đầu tiên và Single Unix Specification.
Các hệ điều hành Unix-like và Unix quản lý khái niệm về thư mục làm việc. Khi không có đối số nào được cung cấp, ls liệt kê các file trong thư mục làm việc. Khi thư mục được chỉ định, các file trong thư mục đó được liệt kê. Các file và thư mục bắt đầu bằng dấu “.” được coi là ẩn. Thư mục “.” là thư mục làm việc và ký hiệu “..” là thư mục cha của nó. Mặc định, chúng được hiển thị. Các file được hiển thị bằng tùy chọn -a. Tên các file được chỉ định cụ thể sẽ được liệt kê luôn.
Lệnh ls chỉ hiển thị các tên file mà không có tùy chọn. Nhiều tùy chọn có thể được kết hợp. Các tùy chọn cơ bản là:
- “-h” hiển thị kích thước của các file một cách dễ đọc cho con người, ví dụ như 2G 234M, 1K, vv. Tùy chọn này không phải là một thành phần của tiêu chuẩn POSIX, tuy nhiên nó được triển khai trên nhiều hệ thống như Solaris 9 vào năm 2002, FreeBSD 4.5 vào năm 2002 và GNU coreutils vào năm 1997.
- “-l” có nghĩa là hiển thị định dạng dài của file. Nó hiển thị loại file Unix, số liên kết cứng, quyền hạn, nhóm, chủ sở hữu, tên và ngày giờ sửa đổi lần cuối, và kích thước của file. Nếu ngày thay đổi của file cũ hơn sáu tháng, thời gian sẽ được thay thế bằng năm. Một vài phiên bản thêm các cờ quyền hạn khác.
Có thể hiển thị các mục khác nhau với các loại màu sắc khác nhau. Điều này là một lĩnh vực mà các phiên bản khác nhau khác nhau:
- FreeBSD ls áp dụng tùy chọn -G. Nó chỉ kiểm tra quyền hạn và loại file Unix và sử dụng cơ sở dữ liệu termcap để quản lý màu sắc.
- GNU ls áp dụng tùy chọn –color. Nó kiểm tra phần mở rộng file Unix, quyền hạn và loại và sử dụng cơ sở dữ liệu của mình để quản lý màu sắc được điều khiển bằng dircolors.
Cú pháp
ls
Bên dưới, bạn có thể thấy sau khi nhập lệnh ls, chúng ta đã nhận được toàn bộ danh sách nội dung của thư mục /home/sssit.
Các tùy chọn của lệnh ls
ls -a Trong Linux, các file ẩn bắt đầu bằng ký hiệu . (chấm) và chúng không được hiển thị trong thư mục thông thường. Lệnh (ls -a) sẽ liệt kê toàn bộ danh sách của thư mục hiện tại bao gồm cả các file ẩn.
ls -l Nó sẽ hiển thị danh sách trong định dạng danh sách dài.
ls -lh Lệnh này sẽ hiển thị kích thước file theo định dạng có thể đọc được cho con người. Kích thước của file rất khó đọc khi hiển thị dưới dạng byte. Lệnh (ls -lh) sẽ hiển thị kích thước file dưới định dạng Mb, Gb, Tb, v.v.
ls -lhS Nếu bạn muốn hiển thị các file của mình theo thứ tự giảm dần (lớn nhất ở đầu) theo kích thước của chúng, thì bạn có thể sử dụng lệnh (ls -lhS).
ls -l –block-size=[SIZE] Nó được sử dụng để hiển thị các file trong định dạng kích thước cụ thể. Ở đây, trong [SIZE], bạn có thể chỉ định kích thước theo yêu cầu của bạn.
ls -d */ Nó được sử dụng để chỉ hiển thị các thư mục con.
ls -g hoặc ls -lG Với điều này, bạn có thể loại bỏ cột thông tin nhóm và chủ sở hữu.
ls -n Nó được sử dụng để in ID nhóm và ID chủ sở hữu thay vì tên của họ.
ls –color=[VALUE] Lệnh này được sử dụng để in danh sách dưới dạng màu hoặc không có màu.
ls -li Lệnh này in số chỉ mục nếu file ở cột đầu tiên.
ls -p Nó được sử dụng để xác định thư mục dễ dàng bằng cách đánh dấu các thư mục bằng một dấu gạch chéo (/).
ls -r Nó được sử dụng để in danh sách theo thứ tự ngược lại.
ls -R Nó sẽ hiển thị nội dung của các thư mục con.
ls -lX Nó sẽ nhóm các file có cùng phần mở rộng lại với nhau trong danh sách.
ls -lt: Sắp xếp danh sách bằng cách hiển thị các file đã được sửa đổi gần đây nhất ở đầu danh sách.
ls ~: Hiển thị nội dung của thư mục home (thư mục người dùng hiện tại).
ls ../: Hiển thị nội dung của thư mục cha (thư mục chứa thư mục người dùng hiện tại).
ls –version: Kiểm tra phiên bản của lệnh ls.
Lệnh Linux ls -l
Lệnh ls chỉ hiển thị các file. Nhưng nếu bạn muốn hiển thị các file của mình dưới dạng danh sách dài, thì bạn có thể sử dụng lệnh ls -l.
Ví dụ:
ls -l
Ở đây, như bạn có thể thấy, danh sách được hiển thị dưới dạng danh sách dài.
Các cột trên cho thấy các thông tin cụ thể như sau:
- Cột 1 cho thấy thông tin về quyền truy cập của file.
- Cột 2 cho thấy số lượng liên kết đến file.
- Cột 3 và 4 cho thấy thông tin chủ sở hữu và nhóm.
- Cột 5 cho thấy kích thước của file tính bằng byte.
- Cột 6 cho thấy ngày và giờ mà file vừa được sửa đổi gần đây.
- Cột 7 cho thấy tên của file hoặc thư mục.
Linux ls -l –block-size=[SIZE]
Nếu bạn muốn hiển thị kích thước file trong danh sách của mình theo một định dạng hoặc kích thước cụ thể, bạn có thể sử dụng lệnh này. Chỉ cần thay thế [SIZE] bằng kích thước theo yêu cầu của bạn.
Cú pháp:
ls -l --block-size=[SIZE]
Ví dụ
ls -l --block-size=M
Kết quả
Ở đây, tất cả các kích thước file được liệt kê theo đơn vị Megabyte.
Bạn có thể thay thế [SIZE] bằng các đơn vị sau:
- K = Kilobyte
- M = Megabyte
- G = Gigabyte
- T = Terabyte
- P = Petabyte
- E = Exabyte
- Z = Zettabyte
- Y = Yottabyte
Linux ls -d */
Nếu bạn chỉ muốn hiển thị các thư mục con, loại bỏ tất cả các file khác, bạn có thể sử dụng lệnh này.
Ví dụ:
ls -d */
Trên đây chỉ hiển thị các thư mục con bao gồm tất cả các file khác.
Linux ls -g
Nếu bạn không muốn hiển thị thông tin chủ sở hữu trong danh sách của mình, bạn có thể loại bỏ cột này với sự trợ giúp của lệnh này.
Ví dụ:
ls -g
Ở đây cột chủ sở hữu đã bị loại bỏ.
Linux ls -lG
Nếu bạn không muốn hiển thị thông tin nhóm trong danh sách của mình, bạn có thể loại bỏ cột này với sự trợ giúp của lệnh này.
Ở đây cột nhóm đã bị loại bỏ.
Linux ls –color=[GIÁ_TRỊ]
Lệnh này được sử dụng để tô màu và gỡ bỏ màu khỏi danh sách. Nếu bạn thay [GIÁ_TRỊ] bằng ‘auto’, nó sẽ hiển thị danh sách được tô màu. Nhưng nếu bạn thay [GIÁ_TRỊ] bằng ‘never’, nó sẽ gỡ bỏ màu khỏi danh sách.
Cú pháp:
ls --color=[VALUE]
Ví dụ
ls --color=auto
ls --color=never
Bạn có thể dễ dàng nhận thấy sự khác biệt giữa lệnh auto và never trong hình ảnh trên.
Linux ls ~
Lệnh Linux ls ~ hiển thị nội dung của thư mục home. Hãy xem ví dụ của lệnh ls ~.
Ví dụ:
ls ~
Linux ls ../
Lệnh này liệt kê danh sách các tập tin và thư mục của thư mục cha.
Ví dụ, thư mục hiện tại của chúng ta là “Downloads”, và bằng cách sử dụng lệnh “ls ../”, chúng ta liệt kê nội dung của thư mục cha là “home directory”.
Ví dụ:
ls ../
Mở file đã chỉnh sửa cuối cùng với lệnh ls -t
Lệnh này sắp xếp các file theo thời gian chỉnh sửa, hiển thị file được chỉnh sửa cuối cùng đầu tiên. Để mở file đã chỉnh sửa cuối cùng trong thư mục làm việc hiện tại, chúng ta có thể sử dụng lệnh ls và head như sau:
ls -t | head -1
Hiện thị kích thước của file dưới định dạng đọc được bởi con người (HRF)
Để hiện thị kích thước của file dưới định dạng đọc được bởi con người, tức là GB, G, KB, MB, v.v., chúng ta có thể sử dụng lệnh sau:
ls -lh
Hiển thị thông tin thư mục
Khi chúng ta sử dụng “ls -l”, chúng ta sẽ nhận được thông tin về nội dung của các thư mục. Nhưng nếu chúng ta muốn xem thông tin của thư mục đó, chúng ta có thể sử dụng tùy chọn -d. Ví dụ, nếu chúng ta sử dụng lệnh ls -l /etc, nó sẽ hiển thị tất cả các file trong thư mục etc. Nhưng nếu chúng ta muốn hiển thị thông tin của thư mục /etc, chúng ta có thể sử dụng tùy chọn -ld. Lệnh như sau:
$ ls -l /etc
$ ls -ld /etc
Các file cũ liên quan đến thời gian chỉnh sửa cuối cùng
Chúng ta có thể sử dụng lệnh ls -lt để sắp xếp tên file theo thứ tự thời gian chỉnh sửa cuối cùng. Chúng ta sẽ thấy nó hữu ích khi kết hợp với tùy chọn -l. Lệnh như sau:
ls -lt
Các file cũ liên quan đến thời gian sửa đổi cuối cùng (thứ tự đảo ngược)
Chúng ta có thể sử dụng lệnh ls -ltr để sắp xếp tên file theo thứ tự thời gian sửa đổi cuối cùng theo thứ tự đảo ngược. Nó sẽ hiển thị file được sửa đổi cuối cùng ở dòng cuối cùng. Nó trở nên dễ dàng hơn khi quá trình liệt kê trở nên dài. Lệnh được đưa ra dưới đây:
ls -ltr