Lịch sử lệnh Unix - tìm lệnh nhanh


0

Có cách nào (hoặc một vỏ cụ thể) để điều hướng lịch sử theo cách sau: giả sử tôi đã viết lệnh sau hai tuần trước:

scp ../../../file.txt ../../../...

Tôi không muốn sử dụng các mũi tên để tìm lệnh vì sẽ mất quá nhiều thời gian. Thay vào đó, tôi muốn gõ scp để thu hẹp các khả năng và sau đó duyệt lịch sử.


2
Lưu ý rằng đây là chức năng của vỏ của bạn (bash, tcsh, zsh, fish ...) không phải là "unix" trong một số ý nghĩa chung. Nếu bạn không biết tôi đang nói gì thì câu trả lời liên quan đến bash dưới đây có thể sẽ giúp ích cho bạn. Hay là thử printenv SHELL.
dmckee

Câu trả lời:


4

Dành cho Ctrl-r (tìm kiếm ngược) mỗi lần bạn nhấn Ctrl-r bạn đi ngược lại trận đấu sớm nhất tiếp theo trong lịch sử vì vậy đây có thể là lựa chọn tốt nhất.

Tuy nhiên, có những lựa chọn khác cũng như ! nhà điều hành. Nếu lệnh cuối cùng là duy nhất ( scp đã không được thực hiện lại kể từ đó) bạn có thể sử dụng !scp sẽ thực thi lệnh cuối cùng bắt đầu bằng scp trong lịch sử của bạn. Ngoài ra, nếu bạn làm history | grep scp cách tiếp cận bạn có thể sử dụng ! để thực hiện số lệnh. Ví dụ:

$ history | egrep scp
 268  scp foo@bar:/home/foo/file .
$ !268

Cái đó !268 sẽ thực thi lệnh 268 chính xác như nó xuất hiện trong history đầu ra sans số trước.


Cũng thế, !scp sẽ cung cấp cho bạn mục lịch sử gần đây nhất bắt đầu bằng "scp"
glenn jackman

3

tôi sử dụng

history | grep scp 

và sau đó sao chép, dán và chỉnh sửa (nếu cần) hoặc chỉ ! <command number>


Cảm ơn. Điều này thực sự đơn giản, tôi nên nghĩ về nó ... Tôi sẽ sử dụng tùy chọn Ctrl + r, nó nhanh hơn.

3

Thử Ctrl+r để tìm kiếm lịch sử. Bạn sẽ nhận được một lời nhắc như sau:

(reverse-i-search)`':


2

Tôi có

"\e[B": history-search-forward
"\e[A": history-search-backward

trong $ HOME / .inputrc và tôi tin rằng điều này liên kết hành vi bạn muốn với các phím mũi tên và lên. Để giải thích, 'man readline' cho chúng ta biết lịch sử tìm kiếm- {tiến, lùi} sẽ tính đến chuỗi hiện tại được gõ trên dòng lệnh:

   history-search-forward
          Search  forward  through  the history for the string of characters between the start of the current line
          and the current cursor position (the point).  This is a non-incremental search.
   history-search-backward
          Search backward through the history for the string of characters between the start of the  current  line
          and the point.  This is a non-incremental search.

Tôi đã mua nó cho các phím PG-Up và Page-Down.
ott--

0

Sử dụng vi dẫn đường:

set -o vi
[Esc]/scp[Enter]

Đánh n để đi đến trận đấu tiếp theo, hoặc N đến trận đấu trước. i để chèn văn bản, A để chắp thê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.