我在 Ubuntu 上做一个需要我的命令截图的作业。但是我的笔记本电脑关机了,程序在我没有截屏的情况下关闭。有没有办法在 Ubuntu 上检索我以前的命令?
我在本地 Makerspace 使用共享的 Ubuntu 计算机。看着history
我可以看到一些时候我 sshd 进入远程主机......我有点希望我没有从这里做到这一点。我能够运行history -c
并清除历史记录,但是其他所有人的历史记录也消失了。在不继续创建多个用户帐户或明显的安全问题的情况下,有没有办法在不临时记录活动的情况下运行终端,或者使用不创建新历史但保留旧历史的终端,或者从时间点?或者是否有启动终端的命令使得历史不会记录在该终端中?
操作系统是 Ubuntu Mate 20.04
我在~/.bashrc
文件中添加了时间,所以现在它显示了我执行history
如下命令的时间:
376 04/10/19 20:39:52 sudo cat ~/.bash_history
377 04/10/19 20:40:04 date
378 07/10/19 10:13:29 echo 'HISTTIMEFORMAT="%d/%m/%y %T "' >> ~/.bashrc
379 07/10/19 10:13:38 source ~/.bashrc
380 07/10/19 10:13:54 history
381 07/10/19 10:20:08 sudo vim /home/subir/.bash_history
382 07/10/19 10:20:29 sudo nano /home/subir/.bash_history
383 07/10/19 11:34:20 cd ..
384 07/10/19 11:34:34 find | grep .bash_history
385 07/10/19 11:34:48 cat ./subir/.bash_history
386 07/10/19 11:37:32 history
但是当这个会话的数据被附加到~/.bash_history
文件时,它会显示如下内容:
#1570201804
date
#1570423409
echo 'HISTTIMEFORMAT="%d/%m/%y %T "' >> ~/.bashrc
#1570423418
source ~/.bashrc
#1570423434
history
#1570423808
sudo vim /home/subir/.bash_history
#1570423829
sudo nano /home/subir/.bash_history
之后的值是什么#
?谁能帮我推断它的含义或告诉我一种在~/.bash_history
文件中获取时间戳的方法。
我需要清除终端缓存,我已经尝试过,history -c
但它会清除该终端会话中的缓存,但是如果我打开另一个会话并键入history
它会显示所有以前的命令。
我正在尝试设置键盘快捷键来打开 xfce4-terminal 并运行 history(command) 并保持终端打开,但到目前为止无济于事,我阅读了一些教程然后我尝试了xfce4-terminal -e "/bin/bash -c history; exec bash",但什么也没发生(我注意到终端快速打开和关闭)如何让它工作?thks,vladi 操作系统:Xubuntu 16.04.6
在 Bash(以及 WSL 中的 Bash)中,多行编写的命令可以正确地使用向上/向下箭头回调,内置history
命令也可以正确报告它们(直到我仍然在 bash 中登录)。
但是在退出bash
并按下向上/向下箭头后,多行命令每个都显示为单独的条目,这是因为cat ~/.bash_history
已经在多个单独的条目上丢弃了命令并且这里出现了书写问题;命令history
结果也很混乱。
我已将这些选项设置为~/.bashrc
shopt -s cmdhist lithist
HISTTIMEFORMAT='%F %T '
现在写入问题已修复,但history
命令仍以多行和单独的条目报告(现在阅读问题)。
Bash 版本是 4.3,在 v4.4 上同样的问题
多年来一直有这个错误报告,但还没有解决方案。
更新:
还需要提到的是,即使在退出 Bash 之后,下面的多行命令也能正确显示:
for i in {1..10}
do
echo $i
done
但这失败了:
awk '
{ print $1}' <<<'first last'
更新 2:
上述问题已在 Bash v5.0.0+ 中得到修复,该版本更改为将“时间戳作为分隔符”之间的条目识别为命令的单个条目(必须设置HISTTIMEFORMAT、cmdhist和lithist )。
几年前,我进行了从 14.04 到 16.04 的自动分发更新。我有生以来第一次能够在自动分发更新后继续使用计算机。像往常一样,软件存储库都在不断更新,因此系统更新无法正常工作,但我已经过关了。
但是,我将进行 18.04 的全新安装。为了能够在安装后更轻松地配置我的系统,我将我的命令历史导出到一个文本文件。
$ history > /.../20180915_Command_history.txt
漂亮的是,生成的文本文件包含行号。有点神秘,第一行号是76。看了前几行后,看起来可能有一些以前的命令。
- 出于某种原因,行号是否从 76 开始?
- 如果没有,有什么方法可以看到第 1 到 75 行?
我正在使用 ubuntu 16.04 LTS,
我正在使用的计算机暂时归我所有,由我的雇主提供给我。所以在某些时候我必须把它还给我。
在归还计算机之前清理我的活动时我应该考虑什么。我知道 Dash 的历史和清理它。
但是还有什么特别需要我考虑的吗?我不想留下任何我活动的痕迹。
谢谢