Sự khác biệt giữa ls -l và ll?


59

Tôi còn khá mới đối với lập trình nói chung và một số hướng dẫn đã bảo tôi sử dụng ls -lđể xem các tệp trong một thư mục và những người khác đã nói ll. Tôi biết đó lslà một danh sách ngắn, nhưng có sự khác biệt giữa hai cái kia không?


8
Bạn có thể muốn xem xét which ll. Bạn có thể sẽ khám phá ra rằng đó llthực sự là một bí danh cho ls -l.
HalosGhost

Vì vậy, sự khác biệt giữa lsbất kỳ lệnh nào khác tôi đưa vào shell là gì? Nếu tôi gõ which lstôi nhận được alias ls='ls --color=auto' /bin/ls, nhưng nếu tôi gõ (ví dụ) which cdtôi nhận được /usr/bin/which: no cd in (........). EDIT: Tôi đã thử lại lần nữa which mkdirvà tôi đã nhận được /bin/mkdir. Sự khác biệt giữa các lệnh này mà một số trong số chúng được lưu trữ (?) Trong /usr/binvà một số rõ ràng là không?
Jon

đây là một ảnh hưởng của mặc định distro của bạn $PATH. lsrất thường được đặt bí danh, vì vậy trình bao của bạn báo cáo bí danh (được ưu tiên so với nhị phân) và vị trí thực tế của nhị phân (trong trường hợp của bạn, /bin/ls). Nếu whichkhông thể tìm thấy cd, thì một cái gì đó xuất hiện sai lầm khủng khiếp.
HalosGhost

2
cdlà một từ khóa shellin, không phải là một chương trình được tìm thấy trong một hệ thống tập tin. Sử dụng type cdtype lsđể xem những gì tôi có ý nghĩa. Một số lệnh đơn giản được ghi đè bởi các nội dung shell: echotồn tại trong /bin/echo, nhưng bashtrên thực tế hầu hết các shell hiện đại, một echohàm dựng sẵn được gọi thay thế (thường có các tính năng mở rộng). typethực sự cho bạn biết đó là cái gì
orion

Câu trả lời:


88

Trên nhiều hệ thống, lllà một bí danh của ls -l:

$ type ll
ll is aliased to `ls -l'

Họ giống nhau.


3
ll được aliased cho `ls -ltr' - Tôi đang sử dụng chiếc mũ đỏ 6
rdp

3
trong Ubuntu 14.04 sẽ được đặt bí danh là 'ls -alF'
Viktor

3
Cũng ls -alFtrong Ubuntu 12.04, 16.04 và có thể nhiều hơn nữa.
Paul

3
Đối với tôi trên macOS Sierra ll được đặt bí danhls -lh
Zorgatone

13

Như đã lưu ý, llthường được định nghĩa là bí danh của ls -l. Trong thực tế, lsthường là một bí danh:

$ which ls
alias ls='ls --color=auto'
/usr/bin/ls

Các lệnh thực tế là lsở trên được tìm thấy trong /usr/bin. llđược dự định như một sự thuận tiện, nhưng bạn không thể dựa vào nó được xác định trên tất cả các hệ thống * nix, vì vậy thật tốt khi biết những gì nó thực sự đang làm.


Câu trả lời chính xác. Tôi không thể giúp bằng cách thêm rằng đây là một trong những lý do tại sao dựa vào lstự động hóa (đặc biệt là một lớp lót quảng cáo) thường là một ý tưởng tồi. Nó có một số tùy chọn thay đổi đầu ra của nó, và nhiều cách để chỉ định chúng. Với các bản phân phối khác nhau chọn các mặc định khác nhau, nó có xu hướng dẫn đến đau đầu.
ctt

Tôi chưa thấy phân phối phổ biến nào cho bí danh lscho bất cứ điều gì khác hơn ls --color=auto. Đó là hoặc không có bí danh.
phoops

4

Ubuntu 14.04

laike9m@laike9m1:~$ type ll
ll is aliased to `ls -alF'

1
Cũng 12.04 và 16.04, nhưng đó là tất cả những gì tôi có sẵn để kiểm tra ngay bây giờ.
Paul

3

Trong hầu hết các trường hợp, llkhông hoạt động trong shell script.


1
Điều xảy ra là các lệnh thông thường như llthực sự là bí danh, không được xác định khi chạy tập lệnh.
vonbrand

3
Một số người có bí danh trong .profile và bí danh đang hoạt động trong một vỏ tương tác. Sau khi gỡ lỗi / kiểm tra tập lệnh mới, tập lệnh đột nhiên bị lỗi trong crontab. Cron không đọc .profile.
Walter A

1
Đây không phải là một câu trả lời cho câu hỏi, nhưng nên là một nhận xét thay thế. Từ hiểu biết nhỏ của tôi, bí danh bị phản đối trong các kịch bản shell.
bánh ngô24

Tôi nói "nhất" nhưng nó không thuộc về tôi và tôi sử dụngls -l
travelling

1

lllà một bí danh cho ls -l.

Tùy chọn -lcho biết lệnh sử dụng định dạng danh sách dài. Nó trả về một số cột, không được hiển thị khi lslệnh đơn giản được sử dụng. Các cột này bao gồm:

  • Quyền

  • Số lượng liên kết cứng

  • Chủ sở hữu tệp

  • Nhóm tập tin

  • Kích thước tập tin

  • Sửa đổi

  • thời gian

  • Tên tệp


0

ll thực sự được đặt bí danh là `ls -l 'Nếu bạn chạy ll, thì nó sẽ hiển thị cho bạn các tệp trong trình bao sau đó bạn nhấn Enter để xem các tệp tiếp theo (tùy chọn .. thêm). Nếu bạn chạy ls -l, thì tất cả các tệp sẽ được hiển thị tại một thời điểm.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.