Bash history, date and time for each command - Fecha y hora en tu historial de comandos
Mục lục:
- Sử dụng lệnh mở rộng lịch sử và lịch sử
- Lưu danh sách lịch sử
- Xóa lịch sử
- Sửa đổi hành vi lịch sử
- Phần kết luận
, chúng tôi sẽ nói về lệnh
history
, cho phép bạn xem danh sách các lệnh đã thực hiện trước đó, tìm kiếm thông qua danh sách và thao tác với tệp lịch sử.
Sử dụng lệnh mở rộng lịch sử và lịch sử
history
là một vỏ dựng sẵn, và hành vi của nó có thể hơi khác nhau từ vỏ này sang vỏ khác. Chúng tôi sẽ đề cập đến phiên bản
history
dựng sẵn của Bash.
Ở dạng đơn giản nhất, khi được gọi mà không có bất kỳ tùy chọn hoặc đối số nào, lệnh
history
sẽ hiển thị toàn bộ danh sách lịch sử với các số dòng.
history
… 467 git push 468 tail -f var/logs/error 469 nano +22, 5 functions.sh 470 source project-env/bin/activate 471 history
Gõ
!n
thực thi lệnh n-th từ danh sách lịch sử và
!-n
lệnh n dòng trở lại. Trong ví dụ sau, chúng tôi đang thực hiện lệnh trên dòng
467
:
!467
Một cách khác để thực thi lệnh là sử dụng
!word
Mở rộng
!word
.
word
dùng để chỉ lệnh gần đây nhất bắt đầu bằng 'word'.
Thông thường,
history
hiển thị nhiều dòng đầu ra không phù hợp trên màn hình. Để xem đầu ra một trang tại một thời điểm, hãy chuyển nó sang chương trình máy nhắn tin như lệnh
more
hay
less
:
history | less
Để hiển thị
n
dòng cuối cùng, chuyển số dưới dạng đối số cho lệnh. Ví dụ: để chỉ xem năm dòng cuối cùng từ danh sách lịch sử bạn sẽ nhập:
history -5
Sử dụng các phím mũi tên
up
và
down
để điều hướng các mục trong danh sách. Khi lệnh bạn đã tìm kiếm được hiển thị, nhấn
Enter
để thực thi nó.
Gõ
!!
để thực hiện lệnh trước:
!!
Điều này đặc biệt hữu ích khi bạn quên gõ một lệnh bằng
sudo
và thay vì gõ lại lệnh bạn có thể gõ:
sudo !!
!-1
giống như
!!
và thực thi lệnh cuối cùng từ danh sách lịch sử,
!-2
giây đến cuối cùng, v.v.
^word1^word2^
mở rộng cho phép bạn chạy lại lệnh cuối cùng thay thế từ Word11 bằng cách sử dụng Word word2. Nếu bạn vô tình gõ
sduo command
thay vì
sudo command
bạn có thể lặp lại lệnh bằng từ đúng với:
^sduo^sudo^
Sử dụng
grep
để lọc đầu ra. Ví dụ: để xem tất cả các lệnh, kể cả nano nano, bạn sẽ chạy:
history | grep nano
302 sudo nano /etc/resolv.conf 356 nano setup.py 413 sudo nano /etc/hosts 469 nano +22, 5 functions.sh
Bây giờ, nếu bạn muốn chạy lại lệnh
nano setup.py
chỉ cần gõ:
!356
Một cách khác để tìm kiếm trong lịch sử lệnh là bằng cách nhấn
Ctrl-R
. Lời nhắc sẽ thay đổi thành như sau và bạn có thể bắt đầu tìm kiếm lệnh đã thực hiện trước đó.
(reverse-i-search)`':
Shell sẽ hiển thị một dòng phù hợp. Để di chuyển đến đề xuất phù hợp tiếp theo, nhấn lại
Ctrl-R
.
Kiểm tra hướng dẫn Bash để biết thêm thông tin về Mở rộng Lịch sử, sửa đổi và chỉ định.
Lưu danh sách lịch sử
Theo mặc định, khi bắt đầu một phiên mới, Bash đọc danh sách lịch sử từ tệp
.bash_history
. Danh sách các lệnh được thực thi trong phiên hiện tại được lưu trong bộ nhớ và được lưu vào tệp khi đóng phiên.
Tùy chọn
-a
cho phép bạn lưu danh sách lịch sử phiên hiện tại vào tệp
.bash_history
:
history -a
Tùy chọn
-w
ghi danh sách lịch sử đầy đủ vào tệp lịch sử.
Xóa lịch sử
Lệnh
history
cho phép bạn xóa danh sách lịch sử đầy đủ hoặc xóa một số phần nhất định.
Để xóa danh sách lịch sử, sử dụng tùy chọn
-c
:
history -c
Để xóa một dòng hoặc dòng cụ thể giữa vị trí bắt đầu và kết thúc khỏi danh sách lịch sử, hãy sử dụng tùy chọn
-d
.
Ví dụ: để xóa các dòng giữa 365 và 375 (bao gồm cả các dòng đó), bạn sẽ gõ:
history -d 365 375
Khi một số nguyên âm được sử dụng, các dòng được đếm ngược từ cuối danh sách lịch sử.
Các lệnh trên xóa danh sách lịch sử, được lưu trong bộ nhớ, nhưng không xóa các mục khỏi tệp
.bash_history
trên đĩa. Để xóa tệp, bạn cần ghi danh sách lịch sử vào tệp:
Sửa đổi hành vi lịch sử
Hành vi của lịch sử Bash có thể được xác định bằng cách sử dụng một số biến môi trường khác nhau. Khi sửa đổi hành vi lịch sử, đặt các biến trong
~/.bashrc
hoặc bất kỳ tệp cấu hình nào khác được tải khi người dùng đăng nhập.
Theo mặc định Bash giữ 500 dòng trong danh sách lịch sử lệnh. Biến
HISTSIZE
cho phép bạn thay đổi giá trị này. Để đặt thành 10000, hãy thêm dòng sau vào tệp
.bashrc
của bạn:
HISTSIZE=10000
Biến
HISTCONTROL
chấp nhận danh sách các giá trị được phân tách bằng dấu hai chấm xác định cách các lệnh được lưu trong danh sách lịch sử:
-
ignorespacequa không gian - các lệnh bắt đầu bằng dấu cách không được lưu trong danh sách lịch sử.ignoredups- các lệnh trùng lặp không được lưu.ignoreboth- là một tốc ký, bao gồm cả bỏ qua vàignoredups.
HISTCONTROL=ignoreboth
Khi biến
HISTTIMEFORMAT
được đặt, Bash sẽ thêm dấu thời gian thực hiện cho lệnh trên mỗi dòng.
Ví dụ: nếu bạn đặt:
HISTTIMEFORMAT="%F %T: "
Lịch sử sẽ được hiển thị theo định dạng sau:
413 2019-10-27 21:13:07: sudo nano /etc/hosts
Phần kết luận
Lệnh
history
hiển thị danh sách các lệnh đã thực hiện trước đó. Ví dụ: bạn có thể sử dụng lịch sử để xem một lệnh dài bạn đã sử dụng trước đó mà bạn không thể nhớ.
Nút Quên mới trong Firefox cho phép bạn kiểm soát nhiều hơn quyền riêng tư của mình. Hầu hết các trình duyệt web cho Windows cho phép bạn xóa lịch sử duyệt web nhưng bản cập nhật gần đây cho trình duyệt phổ biến này đã thêm tính năng bảo mật mới tuyệt vời cho phép bạn xóa lịch sử duyệt web của mình ngay lập tức trong một lần nhấp - thậm chí cho phép bạn xác định khoảng thời gian. Nút
Quên
Lịch Apple so với lịch google: bạn nên sử dụng ứng dụng lịch nào
Lịch Google là một sự thay thế tuyệt vời có thể thách thức Apple Calender trên iPhone. Đọc bài viết dưới đây để quyết định xem nó có đáng để chuyển đổi hay không?
Cách sử dụng lệnh ngủ linux để tạm dừng tập lệnh bash
Ngủ là một tiện ích dòng lệnh cho phép bạn tạm dừng quá trình gọi trong một thời gian nhất định. Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách sử dụng lệnh ngủ Linux.







