Bạn có thể kết hợp các tính năng tìm kiếm lịch sử và lịch sử hiện tại của Bash. Nhấn Ctrl-Rđể bắt đầu tìm kiếm ngược tăng dần, sau đó bắt đầu nhập một phần của đường dẫn có khả năng là duy nhất.
Bạn có thể tiếp tục nhập các chữ cái cho đến khi bạn kết thúc trở lại cd
lệnh gần đây nhất liên quan đến thư mục đó hoặc bạn có thể nhấnCtrl-R lại để quay lại lịch sử với lệnh mới nhất tiếp theo khớp với những gì bạn đã nhập cho đến nay.
Tôi làm điều này tất cả các thời gian.
Thật ra, tôi tiến thêm một bước. Khi tôi bắt đầu khám phá chuỗi các lệnh giữ giá trị trong lịch sử nhưng không đáng cam kết một kịch bản shell, tôi bắt đầu chaining được kết chúng với &&
và ;
combinators vì vậy tôi có thể đảo ngược-tìm kiếm một chuỗi con của rằng một lệnh dài, hit Entervà chạy toàn bộ chuỗi tại Một lần.
Ví dụ: đây là cách tôi xây dựng và chạy một trong các chương trình của mình trong quá trình phát triển:
$ ( cd .. ; make install ) && ./start_my_program
Tôi làm điều này từ thư mục cài đặt, bên dưới thư mục nguồn cấp cao nhất. Bằng cách gói cd
, xây dựng và cài đặt một phần trong vỏ phụ, tôi đảm bảo rằng bất kể điều gì xảy ra trong quá trình này, tôi sẽ trở lại trong vỏ bình thường của mình mà không có gì thay đổi. Chỉ khi điều đó thành công (&&) thì tôi mới bắt đầu chương trình được xây dựng và cài đặt. Tôi có thể tìm thấy điều này trong lịch sử của mình chỉ Ctrl-Rsau đó sta, đó là tất cả những gì tôi thường cần để tìm duy nhất chuỗi lệnh này.
Một ví dụ khác về cách tôi sử dụng điều này là trình tự xây dựng RPM cho cùng một chương trình. Hầu hết các công việc tẻ nhạt là trong các kịch bản shell, nhưng vẫn có một vài lệnh mà tôi thường phải gõ để thực hiện tất cả các công việc xây dựng và triển khai các RPM được xây dựng, mà bây giờ tôi hiếm khi phải gõ lại, vì Bash giữ nó trong lịch sử đối với tôi
Kết hợp tất cả điều này với export HISTSIZE=bignum
vàshopt histappend
bạn vừa xây dựng bộ nhớ lệnh voi.
Một giải pháp khác tôi đã mã hóa một lần là trong câu trả lời của tôi cho một câu hỏi khác ở đây . Nó có thể phải được điều chỉnh cho mục đích của bạn và nó chỉ xử lý cd
các lệnh, trong khi tùy chọn tìm kiếm lịch sử hoạt động ở mọi nơi và cho mọi lệnh.