dep*_*pfx 4 shell ssh command-history
为什么在重新连接断开的 SSH 会话后,同一用户的“history”命令会得到不同的结果?
我猜这是由于重新连接到不同的点。我对吗?
这是因为在注销期间,您当前会话中的命令历史记录会刷新到磁盘上。如果您已断开连接,当您再次连接时,您将获得上次刷新的历史记录。
您还可以通过运行以下命令手动将历史记录刷新到磁盘:
history -a
Run Code Online (Sandbox Code Playgroud)
参考man history
:
history [n]
history -c
history -d offset
history -anrw [filename]
history -p arg [arg ...]
history -s arg [arg ...]
With no options, display the command history list with line numbers. Lines listed with a * have been modified.
An argument of n lists only the last n lines. If the shell variable HISTTIMEFORMAT is set and not null, it is
used as a format string for strftime(3) to display the time stamp associated with each displayed history entry.
No intervening blank is printed between the formatted time stamp and the history line. If filename is supplied,
it is used as the name of the history file; if not, the value of HISTFILE is used. Options, if supplied, have
the following meanings:
-c Clear the history list by deleting all the entries.
-d offset
Delete the history entry at position offset.
-a Append the ‘‘new’’ history lines (history lines entered since the beginning of the current bash session)
to the history file.
-n Read the history lines not already read from the history file into the current history list. These are
lines appended to the history file since the beginning of the current bash session.
-r Read the contents of the history file and use them as the current history.
-w Write the current history to the history file, overwriting the history file’s contents.
-p Perform history substitution on the following args and display the result on the standard output. Does
not store the results in the history list. Each arg must be quoted to disable normal history expansion.
-s Store the args in the history list as a single entry. The last command in the history list is removed
before the args are added.
If the HISTTIMEFORMAT variable is set, the time stamp information associated with each history entry is written
to the history file, marked with the history comment character. When the history file is read, lines beginning
with the history comment character followed immediately by a digit are interpreted as timestamps for the previ-
ous history line. The return value is 0 unless an invalid option is encountered, an error occurs while reading
or writing the history file, an invalid offset is supplied as an argument to -d, or the history expansion sup-
plied as an argument to -p fails.
Run Code Online (Sandbox Code Playgroud)