Làm thế nào để lưu lịch sử thiết bị đầu cuối bằng tay?


33

Theo hiểu biết của tôi rằng tệp lịch sử được cập nhật khi thiết bị đầu cuối thoát. Nhưng đôi khi máy tính của tôi gặp sự cố và thiết bị đầu cuối không thoát ra một cách sạch sẽ, và sau đó tôi mất các lệnh đó trong lịch sử gây phiền nhiễu. Làm thế nào tôi có thể làm cho nó tuôn ra ngay lập tức, để các mục vẫn ở đó ngay cả khi máy tính của tôi bị hỏng? Hiện tại tôi đang sử dụng cách giải quyết này , nhưng tôi cảm thấy nên có một cách tốt hơn.

Tôi đang sử dụng gnome-terminal trên Ubuntu 12.10.

Câu trả lời:


17

Các câu trả lời trong liên kết mà bạn cung cấp từ trang Siêu người dùng không nhất thiết phải được xem là 'cách giải quyết' đối với historyhành vi mặc định của lệnh. Shell bash có một số lành mạnh, ra khỏi hộp, hành vi mặc định.

Tôi đặc biệt khuyên bạn nên đọc Làm thế nào tôi có thể tránh mất bất kỳ dòng lịch sử nào? cho một lời giải thích về những gì những sửa đổi historyđang làm. Ngoài ra, có một số lo ngại hợp lý cần lưu ý về lý do tại sao đây không phải là hành vi mặc định của historylệnh.

  • hiệu suất - Vì bạn đang lưu mọi lệnh từ mọi cửa sổ history -a, .bash_historytệp có thể phát triển khá lớn và yêu cầu tài nguyên lớn hơn để tải bash shell. Điều này có thể dẫn đến thời gian khởi động lâu hơn (đối với các phiên cuối của bạn, không phải toàn bộ hệ thống khởi động, mỗi giây).

  • tổ chức - (từ bài viết trên) "các lệnh lịch sử của các vỏ tương tác đồng thời (đối với một người dùng nhất định) sẽ được đan xen. Do đó, lịch sử không phải là một danh sách các lệnh liên tục được đảm bảo khi chúng được thực thi trong một vỏ."

Nếu bạn lo lắng về việc bảo mật hơn nữa vỏ bash và. bash_historygửi qua kiểm toán, hãy xem bài viết này: Làm cách nào để tôi đăng nhập lịch sử hoặc bash "an toàn" chống lại xóa lịch sử?

Thỉnh thoảng (ví dụ: một hệ thống không ổn định hoặc mất điện), tôi đã thấy các lệnh dưới đây hữu ích.

Thêm các dòng sau vào ~/.bashrctập tin của bạn :

unset HISTFILESIZE
HISTSIZE=3000
PROMPT_COMMAND="history -a"
export HISTSIZE PROMPT_COMMAND

shopt -s histappend

Hãy chắc chắn để nguồn .bashrctệp của bạn bằng cách sử dụng lệnhsource ~/.bashrc



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.