前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >linux中设置记录每个执行命令的时间

linux中设置记录每个执行命令的时间

作者头像
入门笔记
发布于 2022-06-02 08:19:52
发布于 2022-06-02 08:19:52
2.6K00
代码可运行
举报
文章被收录于专栏:入门小站入门小站
运行总次数:0
代码可运行

默认情况下,执行的所有命令 的Bash 命令存储在 ~/.bash_history、系统管理员可以查看系统上用户执行的命令列表。默认不显示命令的执行时间。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> history
  965  ls -lR /var/log
  966  ls -lR /var/log 
  967  ls -lR /var/log  | grep "^-" | wc -l
  968  netstat -n
  969  netstat -n | awk '/tcp/ {print $5}'
  970  netstat -n | awk '/tcp/ {print $5}' |awk -F: '{print $1}' | sort |uniq -c |sort -rn
  971  grep "^# \{1,\}[^ ]" /etc/inittab
  972  expr $[$RANDOM%39] + 1
  973  ls -al
  974  netstat -n | awk '/^tcp/ {++b[$NF]} END {for(a in b) print a,b[a]}'
  975  netstat -n | awk '/^tcp/ {print $5}' | awk -F:
  976  netstat -n | awk '/^tcp/ {print $5}' | awk -F: '{print $1}'
  977  netstat -n
  978  netstat -n | awk '/^tcp/ {print $5}'
  979  netstat -n | awk '/^tcp/ {print $5}' | awk -F: '{print $1}' | sort |uniq -c | sort -rn
  980  netstat -n | awk '/^tcp/ {print $5}' | awk -F: '{print $1}' | sort
  981  echo $RANDOM|md5sum|cut -c 1-5
有两种可以记录历史执行命令的时间。
1. 临时设置,重启后失效

设置 HISTTIMEFORMAT 临时变量

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> export HISTTIMEFORMAT='%F %T'

在上面的导出命令中,时间戳格式:

  • %F%Y-%m-%d(年-月-日)。
  • %T%H:%M:%S(时:分:秒)。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> history
1003  2021-11-02 22:30:39history 
 1004  2021-11-02 22:30:46ls
 1005  2021-11-02 22:30:48cd
 1006  2021-11-02 22:30:50history 
 1007  2021-11-02 22:31:07export HISTTIMEFORMAT='%F %T'
 1008  2021-11-02 22:31:09history 
 1009  2021-11-02 22:31:46ls -al
 1010  2021-11-02 22:31:50history 
2.永久设置

但是,如果想永久配置此变量,请编辑~/.bashrc文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> vi ~/.bashrc

并在其中添加以下行

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export HISTTIMEFORMAT='%F %T'

保存文件并退出,然后运行以下命令生效:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> source ~/.bashrc

相关文章

linux之history命令

linux之history使用技巧

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-11-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 入门小站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
【网络】五种IO模型&&多路转接select/poll/epoll&&Reactor反应堆模式
如果内核还未将数据准备好,系统调用仍然会直接返回,并且返回 EWOULDBLOCK 错误码
用户10925563
2024/12/22
1740
【网络】五种IO模型&&多路转接select/poll/epoll&&Reactor反应堆模式
一文读懂 Linux epoll 实现原理
如下的代码中,先用 epoll_create 创建一个 epoll 文件描述符 epfd,再通过 epoll_ctl 将需要监听的 socket 添加到 epfd 中,最后调用 epoll_wait 等待数据。
恋喵大鲤鱼
2024/05/24
1.3K0
一文读懂 Linux epoll 实现原理
深入了解epoll模型 -- 开卷有益
上网一搜epoll,基本是这样的结果出来:《多路转接I/O – epoll模型》,万变不离这个标题。 但是呢,不变的事物,我们就更应该抓出其中的重点了。 多路、转接、I/O、模型。 别急,先记住这几个词,我比较喜欢你们看我文章的时候带着问题。
看、未来
2022/05/06
7370
深入了解epoll模型 -- 开卷有益
【i.MX6ULL】驱动开发10——阻塞&非阻塞式按键读取
上篇文章:【i.MX6ULL】驱动开发9——Linux IO模型分析,介绍了linux中的五种I/O模型,本篇,就来使用阻塞式I/O和非用阻塞式I/O两种方式进行按键的读取实验,并对比之前使用输入捕获和中断法检测的按键程序,查看CPU的使用率是否降低。
xxpcb
2021/12/09
5980
【i.MX6ULL】驱动开发10——阻塞&非阻塞式按键读取
韦东山:Linux驱动基石之POLL机制
妈妈怎么知道卧室里小孩醒了? ① 时不时进房间看一下:查询方式 简单,但是累 ② 进去房间陪小孩一起睡觉,小孩醒了会吵醒她:休眠-唤醒 不累,但是妈妈干不了活了 ③ 妈妈要干很多活,但是可以陪小孩睡一会,定个闹钟:poll方式 要浪费点时间,但是可以继续干活。 妈妈要么是被小孩吵醒,要么是被闹钟吵醒。 ④ 妈妈在客厅干活,小孩醒了他会自己走出房门告诉妈妈:异步通知 妈妈、小孩互不耽误
韦东山
2020/09/30
9.2K1
韦东山:Linux驱动基石之POLL机制
你真的懂Linux内核中的阻塞和异步通知机制吗?(花了五天整理,墙裂推荐!)
  阻塞操作是指在执行设备操作时,若不能获得资源,则挂起进程直到满足可操作的条件后再进行操作。被挂起的进程进入睡眠状态,被从调度器的运行队列移走,直到等待的条件被满足。而非阻塞操作的进程在不能进行设备操作时,并不挂起,它要么放弃,要么不停地查询,直至可以进行操作为止。
嵌入式与Linux那些事
2021/05/20
1.2K0
你真的懂Linux内核中的阻塞和异步通知机制吗?
阻塞操作是指在执行设备操作时,若不能获得资源,则挂起进程直到满足可操作的条件后再进行操作。被挂起的进程进入睡眠状态,被从调度器的运行队列移走,直到等待的条件被满足。而非阻塞操作的进程在不能进行设备操作时,并不挂起,它要么放弃,要么不停地查询,直至可以进行操作为止。
用户8639654
2021/08/27
1.6K0
一种理解同步/异步,阻塞/非阻塞,Linux IO 模型,select /poll /epoll 的方法
吕力
2017/07/24
7K4
一种理解同步/异步,阻塞/非阻塞,Linux IO 模型,select /poll /epoll 的方法
提升性能的必备技术:Linux网络IO与select详解
IO 即“Input”和“Output”的组合,即输入/输出,IO用来处理设备之间的数据传输。socket/fd也是一种IO。
Lion Long
2024/08/10
1640
提升性能的必备技术:Linux网络IO与select详解
彻底搞定select、poll、epoll
上一篇文章以近乎啰嗦的方式详细描述了BIO与非阻塞IO的各种细节。如果各位还没有读过这篇文章,强烈建议先阅读一下,然后再来看本篇,因为逻辑关系是层层递进的。
蝉沐风
2023/02/01
1.9K0
彻底搞定select、poll、epoll
深入学习IO多路复用select/poll/epoll实现原理
Linux 服务器处理网络请求有三种机制,select、poll、epoll,本文打算深入学习下其实现原理。
涂明光
2022/11/27
1.8K2
【专业技术】Linux设备驱动第七篇:高级字符驱动操作之阻塞IO
我们之前介绍过简单的read,write操作,那么会有一个问题:当驱动无法立即响应请求该怎么办?比如一个进程调用read读取数据,当没有数据可读时该怎么办,是立即返回还是等到有数据的时候;另一种情况是进程调用write向设备写数据,如果缓冲区满了或者设备正忙的时候怎么办,是立即返回还是继续等待直到设备可写?这种情况下,一般的缺省做法是使进程睡眠直到请求可以满足为止。本篇就介绍遇到这类问题驱动的处理方法。 睡眠 什么是睡眠?一个进程睡眠意味着它暂时放弃了CPU的运行权,直到某个条件发生后才可再次被系统调度。
程序员互动联盟
2018/03/13
1.4K0
Linux select poll源码剖析
poll机制是所有多路转接的共性;调用控制块(struct poll_wqueues)与监听事件项(struct poll_table_entry)是select()与poll()的共性;事件描述集(fdset)与事件描述符(struct pollfd)是select()与poll()的特性。
233333
2022/05/09
3.2K0
高级IO之非阻塞IO和阻塞IO
非阻塞 I/O(Input/Output)是一种在进行文件和套接字操作时不阻塞进程的机制。在 Linux 中,非阻塞 I/O 可以通过设置文件描述符(File Descriptor)为非阻塞模式来实现。
Linux兵工厂
2024/02/27
3050
高级IO之非阻塞IO和阻塞IO
从内核看eventfd的实现(基于5.9.9)
前言:eventfd是一种进程/线程通信的机制,他类似信号,不过eventfd只是一种通知机制,无法承载数据(eventfd承载的数据是8个字节),他的好处是简单并且只消耗一个fd。
theanarkh
2021/07/08
8130
从内核看eventfd的实现(基于5.9.9)
理解epoll(上)(基于linux2.6.12.1)
epoll在现在的软件中占据了很大的分量,nginx,libuv等单线程事件循环的软件都使用了epoll。之前分析过select,今天分析一下epoll。
theanarkh
2020/04/01
1.1K0
理解epoll(上)(基于linux2.6.12.1)
09.字符设备驱动
  1.写出最底层Led_Open(),Led_Write(),Led_Read()   2.如何让内核知道下面有我们写好的操作硬件的函数呢?定义一个file_operations结构体(指向Led_Open等底层函数)。使用函数regsiter_chrdev(major,”first_drv”,&first_drv_fops)注册告诉内核(通过major索引)。   3.regsiter_chrdev被谁调用?被驱动入口函数调用。first_drv_init()   4.如何知道调用first_drv_init(),还是其他的函数呢?利用宏module_init(first_drv_init)定义一个结构体,结构体中有函数指针,指向入口函数。   5.出口函数first_drv_exit。卸载驱动unregsiter_chrdev(major,”first_drv”,&first_drv_fops)。如何知道何时来调用first_drv_exit?module_init(first_drv_exit)定义一个结构体,结构体中有函数指针,指向入口函数。
嵌入式与Linux那些事
2021/05/20
2.2K0
从内核看epoll的实现(基于5.9.9)
前言:epoll是现代服务器的基石,也是高效处理大量请求的利器,从设计上来看,epoll的设计思想也是非常优秀的,本文介绍epoll的实现,从中我们不仅看到epoll的实现原理和机制,同时也能领略到其中优秀的设计思想。
theanarkh
2021/07/08
6710
从内核看epoll的实现(基于5.9.9)
IO复用 知识点梳理
readfds、writefds、exceptfds这三个数组既是输入参数,也是输出参数。 它们也用于内核空间想用户空间传递就绪的文件描述符。
windealli
2019/11/01
7900
Linux笔记(12)| 几种并发式IO的实现方法
今天分享的是几种实现并发式IO的方法。什么是并发式IO呢?可以简单理解为比如要同时读取几个文件的数据,但是这些文件什么时候可以读取是不确定的,要实现当某个文件可以读取的时候就立马去读取,这就是并发式。
飞哥
2020/07/31
7060
推荐阅读
相关推荐
【网络】五种IO模型&&多路转接select/poll/epoll&&Reactor反应堆模式
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档