Bước tới nội dung

ls

Bách khoa toàn thư mở Wikipedia

lslà một lệnh dùng để liệt kê các file củahệ điều hànhUnixhoặcgiống Unix.lsđược mô tả bởiPOSIXSingle UNIX Specification.

Công cụlsban đầu xuất hiện trong phiên bảnAT&TUnix.Tên nó được bắt nguồn từlệnhlist segmentstrongMultics,hệ thống xemmemory segmentfilelà như nhau. Ngày nay, hai phiên bản phổ biến nhất củalslà củaFree Software Foundation(một phần thuộc góicoreutilscủaGNU) và phiên bản củaBSD,nhưFreeBSD,OpenBSD,NetBSD,vàDarwincủaApple Computer.Cả hai đều làphần mềm miễn phímã nguồn mở.

Cách hoạt động

[sửa|sửa mã nguồn]

Hệ điều hànhUnixtựa Unixcó một khái niệm làthư mục làm việc hiện tại,nghĩa là vị trí hiện tại trong hệ thống thứ bậc củacây thư mục.

Khi gọi không có tham số,lsliệt kê các file trong thư mục làm việc hiện tại. Khi gọilsvà chỉ định một thư mục khác, nó sẽ liệt kê các file trong thư mục đó. Người dùng có thể chỉ định nhiều file và thư mục cần liệt kê, nó sẽ liệt kê tất cả những thư mục đó.

File bắt đầu bằng ký tự "." sẽ không hiện ra, trừ khi người dùng gọi với tham số-ahoặc file được người dùng chỉ định một cách tường minh.

Nếu gọi không có tham số,lssẽ hiện ra định dạng thu gọn tối thiểu. Định dạng này khó dùng để xác định loại, quyền và kích thước file. Những tham số thông dụng nhất để hiện các thông tin hoặc thay đổi danh sách file:

  • -llong format, hiệnloại file Unix,quyền, số lượnghard link,người sở hữu, nhóm sở hữu, kích thước, ngày thay đổi, và tên file.
  • -Fgắn thêm ký tự sau tên file để cho biết loại file. Ví dụ,*cho file thực thi được, hoặc/cho thư mục. File bình thường không gắn thêm ký tự nào.
  • -aliệt kê tất cả file trong thư mục, kể cả file bắt đầu bằng dấu ".". Mặc nhiên, các file này không được liệt kê.
  • -Rliệt kê đệ quy các thư mục con. Lệnhls -R /sẽ hiện tất cả các file trong hệ thống.
  • -dchỉ hiện thư mục chỉ định hoặcsymbolic link,chứ không hiện danh sách các file trong thư mục và đích của symbolic link.

Ở một số môi trường, khi đưa tham số--color(đối với phiên bảnGNUls) hoặc-G(FreeBSDls),lssẽ tô màu các loại file khác nhau bằng các màu khác nhau, thay vì bằng cách thêm ký tự vào phía sau như tham số-F.Để xác định màu cho file, GNUlskiểm tra loại file, quyền và phần mở rộng của file, trong khi đó FreeBSDlschỉ kiểm tra loại file và quyền.

Khi sử dụng tham số hiện màu, kết quả có thể giống như:

brw-r--r-- 1 unixguy staff 64, 64 Jan 27 05:52block
crw-r--r-- 1 unixguy staff 64, 255 Jan 26 13:57character
-rw-r--r-- 1 unixguy staff 290 Jan 26 14:08compressed.gz
-rw-r--r-- 1 unixguy staff 331836 Jan 26 14:06data.ppm
drwxrwx—x 2 unixguy staff 48 Jan 26 11:28directory
-rwxrwx—x 1 unixguy staff 29 Jan 26 14:03executable
prw-r--r-- 1 unixguy staff 0 Jan 26 11:50fifo
lrwxrwxrwx 1 unixguy staff 3 Jan 26 11:44link->dir
-rw-rw---- 1 unixguy staff 217 Jan 26 14:08 regularfile

lscó rất nhiều tham số. Nó là một công cụ dùng thường xuyên để xử lý hệ thống file thông quagiao diện dòng lệnh.

Trên một số hệ thống (nhưPCLinuxOS),lscó một alias chỉ làl.Nhiều hệ thống khác cũng aliasls -lthànhll.

Ví dụ cách sử dụng

[sửa|sửa mã nguồn]

Ví dụ dưới đây cho kết quả của lệnhlsvới hai tham số khác nhau:

$pwd
/home/fred
$ls -l
drwxr—r-- 1 fred editors 4096 drafts
-rw-r--r-- 1 fred editors 30405 edition-32
-r-xr-xr-x 1 fred fred 8460 edit
$ls -F
drafts/
edition-32
edit*

Trong ví dụ này, người dùngfredcó thư mục tên làdrafts,một file bình thường tênedition-32,và một file thực thi tênedittrongthư mục nhà.lscho biết quyền truy xuất của người dùng đối với các file trong thư mục. Ở cột đầu tiên sẽ liệt kê quyền cho ba nhóm: người sở hữu (u), nhóm sở hữu (g), và người khác (o)

drwxr—r-- 1 fred editors 4096 Mar 1 2007 drafts

được ánh xạ vào

duuugggooo (số lượnghard link) người_sở_hữu nhóm_sở_hữu kích_thước ngày_tạo tên

Có nghĩa làdraftslà thư mục, người sở hữu có quyền rwx (liệt kê, thay đổi và chuyển đến), nhóm sở hữu có quyền r (liệt kê), và những người khác có quyền r (liệt kê).

Liên kết ngoài

[sửa|sửa mã nguồn]