Tôi muốn xem nội dung .bash_history
tệp của mình nhưng không biết cách truy cập thông qua dòng lệnh.
/home/username/.bash_history
chưa
.bash_history
được nối khi thiết bị đầu cuối bị đóng.
Tôi muốn xem nội dung .bash_history
tệp của mình nhưng không biết cách truy cập thông qua dòng lệnh.
/home/username/.bash_history
chưa
.bash_history
được nối khi thiết bị đầu cuối bị đóng.
Câu trả lời:
Nếu bạn muốn truy cập các tập tin thực tế bản thân, chỉ cần sử dụng soạn thảo văn bản yêu thích của bạn (tôi sử dụng emacs
nhưng bạn có thể sử dụng pluma
của gedit
hoặc vim
hoặc bất kỳ):
emacs ~/.bash_history
Đó là vị trí mặc định nếu tập tin lịch sử của bạn. Nếu bạn không tìm thấy bất cứ điều gì ở đó, bạn có thể đã thay đổi tên tệp lịch sử. Điều này được lưu trữ trong $HISTFILE
biến, vì vậy hãy in nó ra để kiểm tra giá trị hiện tại của nó:
echo $HISTFILE
Nếu, thay vì tệp, bạn chỉ muốn xem lịch sử của mình, bạn có thể chạy history
như @ minerz029 đề xuất. Các history
lệnh không có tùy chọn chỉ in nội dung của bạn $HISTFILE
tiếp theo là các lệnh thực thi trong vỏ hiện tại chưa được ghi vào tập tin đó, với số dòng.
Nếu bạn thực sự cần đầu ra của .bash_history
tệp, thay thế history
bằng
cat ~/.bash_history
tất cả các lệnh bên dưới.
Nếu bạn thực sự muốn các lệnh không có số ở phía trước, hãy sử dụng lệnh này thay vì history
:
history | cut -d' ' -f 4-
nếu không, sẽ không có sự khác biệt (trừ khi bạn đang sử dụng một vỏ khác).
Bạn có thể dùng
history | tail -n 15
để chỉ nhận 15 dòng cuối cùng trong lịch sử của bạn với lần thực hiện cuối cùng được in cuối cùng (ở dưới cùng).
Cách khác, sử dụng
history | grep "apt-get" | tail -n 15
để có được 15 lệnh cuối cùng chứa lệnh apt-get
thực thi cuối cùng được in cuối cùng (ở dưới cùng). Bạn có thể thay thế apt-get
bằng bất kỳ lệnh (hoặc đối số lệnh) nào bạn muốn tìm kiếm (nó có thể là biểu thức chính quy).
Bạn có thể dùng
history | tac | less
để cuộn qua tất cả các lệnh được thực hiện bắt đầu với gần đây nhất ở trên cùng. Nhấn qđể thoát.
Tương tự, sử dụng
history | grep "apt-get" | tac | less
để cuộn qua tất cả các lệnh được thực hiện với " apt-get
" trong đó (bao gồm cả đối số) bắt đầu bằng lệnh gần đây nhất ở trên cùng. Nhấn qđể thoát.
Ngoài câu trả lời tuyệt vời của minerz029.
Để nhắc lại - lệnh 'history' in lịch sử cùng với một số bên cạnh nó.
Bạn có thể chuyển đầu ra của lịch sử thành grep, ít hơn, v.v.
Thông số của lịch sử cũng hiển thị một số ở bên trái bên cạnh đầu ra. ví dụ
469 free
470 ps -fA
471 ps -fA | grep xend
472 free
473 sudo vi /etc/xen/xend-config.sxp
474 cat /etc/default/grub
Với số này, bạn có thể chạy lại lệnh.
ví dụ để chạy lại 473 tôi sẽ gõ vào terminal
admin@xen1~$ !473
theo sau là phím enter để lặp lại lệnh bên cạnh 473 trong đầu ra lịch sử.
Bạn cũng có thể tìm kiếm tương tác ngược trong lịch sử lệnh bằng cách gõ ctrl + r
phím sau đó bắt đầu nhập một số nội dung của lệnh và nó sẽ tìm kiếm và điền vào. Khi bạn đã tìm thấy nó, bạn có thể nhập enter để lặp lại hoặc nhấn [tab]
phím để sao chép nó vào dòng lệnh để chỉnh sửa lệnh trước.
Tất nhiên, hai tùy chọn cuối cùng hoạt động trong bash shell. Tôi không chắc các tính năng này có hoạt động trong các shell khác không. Nhưng vì bash là shell mặc định của Ubuntu nên bạn sẽ tìm thấy chúng ở đó.
Bạn có thể muốn thử lịch sử giống như "hộp gợi ý" https://github.com/dvorka/hstr - nó đọc lịch sử Bash và cho phép điều hướng nhanh.
history | less