【问题标题】:root can't see HISTTIMEFORMAT in user's bash_historyroot 在用户的 bash_history 中看不到 HISTTIMEFORMAT
【发布时间】:2018-09-28 13:46:43
【问题描述】:

我对每个用户的 bash_history 中的日志日期有一个小问题。 上次我在 /etc/skel/.bashrc 中为每个新用户设置:

export HISTTIMEFORMAT="%d/%m/%y %T "

如果我们在 shell 中使用 history 命令检查 bash_history,一切似乎都很好。但前提是我们登录的是当前用户。 我的问题是当我想以 root 用户身份检查用户的 .bash_history 文件时。 所以我使用例如/home/new_user/.bash_history 文件上的 less 命令(作为 root 用户!),我看到了这个:

#1537351240
cd ..
#1537351241
vim
#1537357293
ls -al /mnt
#1537357313
htop

我在用户命令附近看不到正确的日期格式,也不知道是什么意思:#1537357313? 我只是想采用这种正常的输出格式:

3  28/09/18 15:31:50 cd ..
4  28/09/18 15:31:52 vim
5  28/09/18 15:31:57 ls -al /mnt
6  28/09/18 15:32:10 htop 

(以上日期为示例)

【问题讨论】:

  • 我投票决定将此问题作为离题结束,因为它将在 StackOverflow 上关闭,但它可能会在 unix.stackexchange.com 上成为主题。

标签: linux bash shell command root


【解决方案1】:

不知道是什么意思:#1537357313 ?

这是unix时间戳:

date -d @1537357313
Wed, Sep 19, 2018  1:41:53 PM

所以你可以用awk处理这个文件:

awk '/^#/{t=strftime("%d/%m/%y %T",substr($1,2));next}t{print ++i,t,$0}' file
1 19/09/18 12:00:40 cd ..
2 19/09/18 12:00:41 vim
3 19/09/18 13:41:33 ls -al /mnt
4 19/09/18 13:41:53 htop

【讨论】:

  • 好的,构建一些脚本来“转换”文件等是一些想法,但是我可以在不转换文件的情况下以 root 用户身份查看 histt​​imeformat 吗?这不是一个大问题;)但我很好奇如何永久更改它(在全局空间中)或者可能存在其他解决方案?
猜你喜欢
  • 2012-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-20
  • 2022-07-10
  • 2014-04-01
  • 1970-01-01
  • 2015-04-01
相关资源
最近更新 更多