Câu trả lời:
ls
Bản thân nó không có tương đương đơn giản , nhưng có less
tiện ích, sẽ định dạng đầu ra của bất kỳ lệnh nào dưới dạng các trang riêng biệt, có thể cuộn theo dòng hoặc trang:
ls -C | less
Nơi -C
kích hoạt cột hiển thị. Sử dụng lah
như các đối số ( ls -lah
) để có được một l ine bởi màn hình phù hợp với một file ll được hiển thị (bao gồm những ẩn), và h Uman kích thước file có thể đọc được.
Để có được màu sắc hiển thị đúng , bạn cần thêm --color=always
đối số vào ls
và -R
đối số trên ít *:
ls -C --color=always | less -R
cái này hiển thị 'ls -ah --color = always | ít hơn -R '
Ngược lại more
, less
sẽ cho phép bạn cuộn qua đầu ra. Nó cũng nhanh hơn một chút cho các danh sách rất lớn.
Các đường ống hoạt động như thế này:
Mỗi chương trình có đầu vào và đầu ra, một đường ống chuyển hướng đầu ra của một chương trình (ls) sang đầu vào của một chương trình khác (ít hơn). Và ít hơn chỉ đơn giản là mong đợi đầu vào mà sau đó định dạng.
Một liều tương đương trường học cũ hơn sẽ là pg
:
ls | pg
Bạn cũng có thể
ls | head
hoặc ls | tail
chỉ hiển thị phần đầu tiên hoặc phần cuối của đầu rawatch "ls"
để giữ cho màn hình mở, cập nhật vài giây một lần để xem các thay đổibanner $(ls)
nếu bạn đang ngồi cách xa màn hình. (;Nếu bạn thấy tất cả những điều đó quá dài để nhớ, bạn có thể thiết lập bí danh cho nó:
Mở ~/.bash_aliases
bằng trình soạn thảo văn bản và thêm một cái gì đó như thế này vào nó:
alias lsp="ls -ah --color=always | less -R"
(đây là tập lệnh được chạy mỗi khi thiết bị đầu cuối ảo mới được khởi động, bạn nên thiết lập tất cả các bí danh vĩnh viễn của mình ở đó)
Bây giờ bạn có thể chỉ cần gõ lsp
, hoặc bất cứ tên nào bạn chọn.
Nếu bạn muốn có thể truyền thêm các đối số cho bí danh của mình, chúng ta cần xác định một hàm thay thế:
lsp(){ ls -ah --color=always "$@" | less -R; }
Một chức năng, chủ yếu tìm kiếm như thế này: name(){ commands; };
có thể chấp nhận đối số, $1
, $2
, $3
và vân vân. $@
có nghĩa là "mọi đối số, nếu có" .
Bây giờ bạn có thể chạy một cái gì đó giống như lsp *.py
, lsp -C
và vân vân. Chúng tôi chèn các đối số tại điểm mà chúng được chuyển đến ls. Chúng tôi cũng có thể đã chèn $ * với giá rẻ hơn, nếu đó là lệnh quan trọng. Bạn có thể thấy tất cả các đối số của ls tại man ls
(đáng đọc).
*: Lý do cho điều này là, bất cứ khi nào bạn Đặt một cái gì đó, nó sẽ phát hiện một Terminal (thực ra là chương trình khác) không có khả năng hiển thị màu. "--color = always" buộc ls bỏ qua điều này. Công tắc -R giúp làm lại màn hình ít hơn, thoát màu đúng cách.
$*
và $@
làm điều tương tự chính xác. Họ mở rộng đến $1 $2 $3 ...
. Tuy nhiên, được trích dẫn "$@"
mở rộng "$1" "$2" "$3" ...
trong khi "$*"
mở rộng thành "$1 $2 $3 ..."
(nghĩa là tất cả các đối số thành một chuỗi, sử dụng ký tự đầu tiên IFS
là dấu phân cách). mywiki.wooledge.org/BashGuide/Parameters