Cách điều hướng có chọn lọc thông qua lịch sử lệnh Bash trên thiết bị đầu cuối Linux [trùng lặp]


9

Mọi người đều biết (hoặc nên biết!) Rằng trên một thiết bị đầu cuối, các phím mũi tên lên và xuống được sử dụng để điều hướng trong lịch sử của các lệnh được sử dụng.

Khi bạn sử dụng thiết bị đầu cuối hàng ngày, lịch sử lệnh của bạn có thể sẽ là một danh sách dài gồm nhiều lệnh khác nhau, do đó điều hướng ít dễ dàng hơn. Chỉ là một ví dụ, giả sử rằng một tháng trước tôi đã sử dụng iwconfigvới một bộ tham số xác định (như tôi đã nói, đó chỉ là một ví dụ, tôi không cần phải làm phiền với nó ngay bây giờ), làm thế nào tôi có thể nhớ lại lệnh cụ thể đó với tất cả các đối số và tham số của nó mà không phải điều hướng qua hàng trăm lệnh lịch sử?

Tôi biết rằng tôi có thể sử dụng historyđể có một danh sách các lệnh đã sử dụng trước đó và !nđể thực hiện lại lệnh n trong danh sách đã nói, nhưng khi lịch sử phát triển lớn, nó cũng không thực tế lắm.

Điều lý tưởng là có một cái gì đó cho phép tôi sử dụng một số phím nóng để điều hướng trong lịch sử nhưng chỉ giữa các trường hợp có chứa những gì tôi đã gõ trên dòng lệnh; vì vậy, trong ví dụ của tôi, sau khi đã gõ iwconfig, hãy sử dụng một số khóa (có thể là PGUp và PGDown?) để điều hướng chỉ qua các mục bắt đầu bằng iwconfig .

Nếu nó không phải là có thể, nó cũng sẽ được tốt đẹp để in một danh sách như historyviệc phải làm nhưng điều đó sẽ chỉ chứa những gì tôi đã gõ (Tôi nghi ngờ rằng historygreplệnh có liên quan đến nhưng tôi không chắc chắn về cú pháp chính xác); nhưng giải pháp phím nóng trước đó sẽ là lựa chọn tốt nhất.

Câu trả lời:


12

Bạn có thể tìm kiếm lịch sử bằng cách sử dụng Ctrl+ Rvà sau đó nhập chuỗi tìm kiếm (ví dụ: iwđể tìm iwconfig). Sau đó, bạn vẫn có thể điều hướng qua lịch sử tại điểm đó bằng các phím mũi tên lên và xuống hoặc nhấn Ctrl+ Rlần nữa để tìm sự xuất hiện trước đó.


Tôi không chắc đã hiểu rõ về nó nóng. Nếu tôi nhấn Ctrl + R và gõ iwconfig, nó sẽ hiển thị cho tôi một thể hiện chứa nó (không nhất thiết phải là gần đây nhất), nhưng nếu tôi sử dụng các phím mũi tên, nó sẽ điều hướng qua tất cả các mục, không chỉ các mục có chứa chuỗi. Dường như với tôi, nó chọn một điểm cụ thể trong lịch sử để bắt đầu điều hướng tại (thay vì bắt đầu từ dưới lên như phím lên), nhưng ngoài ra, điều hướng vẫn giống như mọi khi. Tôi đã bỏ lỡ một cái gì đó?
Sekhemty

Tôi nghĩ rằng nó hoàn toàn không thành vấn đề, nhưng chỉ trong trường hợp, tôi đang sử dụng konsoletrình giả lập thiết bị đầu cuối.
Sekhemty

Xin lỗi, tôi đã cập nhật câu trả lời của mình về cách tìm các trận đấu trước đó.
Stefan Seidel

5

Sau một chút thực hành, tôi tìm thấy cách sử dụng giải pháp khắc phục.

Tôi đã khớp đúng cú pháp để in một danh sách đã lọc, tôi đã làm điều đó history | grep iwconfig(rốt cuộc nó không quá khó); với đầu ra tôi có thể sử dụng !nvới danh sách được lọc dễ đọc bây giờ.


3
Một mẹo bổ sung: Sử dụng !n:p. Điều này in lệnh cũ mà không thực hiện nó và đưa nó trở lại trong lịch sử của bạn. Sau đó đi đến nó với một nét mũi tên lên và bây giờ bạn có thể chỉnh sửa nó. Có rất nhiều mánh khóe ngớ ngẩn khác như thế này: ss64.com/bash/history.html
Logic lang thang

3

Tôi không thể nhận xét về câu trả lời của Stefan, nhưng thông thường bạn phải tiếp tục nhấn Ctrl + R. Xem trang này để biết thêm thông tin.


2

Nhấn "ctrl + r" sau đó nhập chuỗi tìm kiếm.

Nếu không phải là cái bạn đang tìm kiếm thì lại "ctrl + r"

Nếu tìm thấy, nhấn Enter để thực thi nó hoặc nhấn mũi tên phải -> phím để chỉnh sửa trước khi sử dụng.

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.