Làm cách nào để tìm kiếm lịch sử lệnh shell với trình soạn thảo văn bản?


8

Tôi biết rằng Ctrl+ Rhãy để bạn tìm kiếm lịch sử lệnh, nhưng nó hơi sơ khai. Có cách nào để xuất tất cả lịch sử lệnh của tôi (không chỉ phiên cuối hiện tại mà cả lịch sử đầy đủ) sang tệp văn bản không? Sau đó tôi có thể sử dụng một trình soạn thảo văn bản để tìm kiếm nó một cách thoải mái. Hoặc nếu tập tin lịch sử đã tồn tại, nó ở đâu?


Tôi sẽ giả định rằng bạn có nghĩa là lịch sử lệnh của shell của bạn và đã chỉnh sửa để sử dụng shell mặc định, bash.
muru

Câu trả lời:


13

Từ man bash:

HISTFILE
    The name of the file in which command history is saved.
    The default value  is  ~/.bash_history.
    If unset, the command history is not saved when a shell exits.

Vì vậy, biến HISTFILEsẽ chứa tên tệp nơi lịch sử sẽ được lưu.

$ echo "$HISTFILE"
/home/user/.bash_history

Bây giờ bạn có thể tìm kiếm mẫu:

$ grep "vim" "$HISTFILE"
vim foo.text
vim bar.text
vim file.txt

Như @Dennis đã chỉ ra, nếu bạn muốn, bạn có thể chạy history -ađể nối thêm lịch sử lệnh của phiên đang chạy vào $HISTFILEtệp. Về cơ bản, các lệnh sẽ được tự động nối thêm khi bạn đóng một phiên, history -asẽ thực hiện điều tương tự ngay lúc đó.

Chạy help historyđể có thêm ý tưởng về bản historydựng.


1
Lưu ý rằng tệp lịch sử thường sẽ không chứa các dòng được nhập kể từ khi bắt đầu phiên bash hiện tại, có thể được sửa bằng cách thực thi history -a.
Dennis

@Dennis: Điểm tốt..added ..
heemayl


3

Lịch sử bash được lưu trong thư mục nhà của bạn ~/.bash_history.

Về cơ bản Ctrl+ Rtìm kiếm từ tập tin này.

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.