每天学习Linux命令——history

  history命令的功能是显示使用过的命令,并为其编号。下面几条命令是history的不同操作:

history n 显示最近使用过的n条命令。

history -c 将当前shell中历史清空。

history -d 801 删除编号为801的命令。

history -a 追加最新一条命令到历史文件中。

history -n 显示还没有从历史文件中读取的历史记录。

history -r 将历史文件中的记录作为当前shell的历史记录。

history -w 将当前记录写入历史文件中,覆盖原内容。

系统默认的history命令难以满足我们的需求,我们可以通过修改/etc/profile文件来对hostory命令的

显示效果进行修改:

(1)显示命令执行的时间

在/etc/profile文件的末尾添加:export HISTTIMEFORMAT="%F %T `whoami` :"(注意:这里whoami两边符号不是单引号,而是Tab键上面那个键的符号,就是~下面的那个符号。)

(2)显示执行命令的用户的源IP

首先通过命令获取登录源IP:USER_IP=`who -u am i 2>/dev/

null | awk ‘ {print &NF}‘ | sed -e ‘ s/[()]//g‘`

if ["&USER_IP" = ""]

then

USER_IP=`hostname`

然后再export HISTTIMEFORMAT时,将USER_IP作为参量写入HISTTIMEFORMAT,

export HISTTIMEFORMAT="%F %T &USER_IP: `whoami` :"

综合以上技巧,我们可以得到以下脚本:

USER_IP=`who -u am i 2>/dev/null | awk ‘{print &NF}‘ |sed -e ‘s/[()]//g‘`

if ["&USER_IP"=""]

then

USER_IP=`hostname`

fi

if [! -d /opt/history]

then

mkdir /opt/history

chmod 777 /opt/history

fi

if [! -d /opt/history/&{LOGNAME}]

then

mkdir /opt/history/&{LOGNAME}

chmod 300 /opt/history/&{LOGNAME}

fi

export HISTSIZE=4096

export HISTTIMEFORMAT="[%Y-%m-%d %H:%M:%S]"

export HISTFILE=" /opt/history/${LOGNAME}.history"

chmod 600 /opt/history/*history* 2>/dev/null

将以上代码追加到/etc/profile文件末尾即可,然后重新登录,会发现history的显示格式和存储文件都发生率变化。

时间: 2024-08-01 16:47:25

每天学习Linux命令——history的相关文章

学习linux命令,看这篇2w多字的linux命令详解

用心分享,共同成长 没有什么比每天进步一点点更重要了 本文已收录到我的github:https://github.com/midou-tech/articles/tree/master/docs/linux ,欢迎star和issues. 序言 ?本篇文章主要讲解了一些linux常用命令,主要讲解模式是,命令介绍.命令参数格式.命令参数.命令常用参数示例.由于linux命令较多,我还特意选了一些日常使用较为频繁的命令进行讲解,但还是免不了文章很长,建议大家收藏起来,用到的时候不会了再来阅读.当然

学习linux命令,看这篇2W多字的命令详解就够了

用心分享,共同成长 没有什么比每天进步一点点更重要了 本文已收录到我的github:https://github.com/midou-tech/articles/tree/master/docs/linux ,欢迎star和issues. 序言  本篇文章主要讲解了一些linux常用命令,主要讲解模式是,命令介绍.命令参数格式.命令参数.命令常用参数示例.由于linux命令较多,我还特意选了一些日常使用较为频繁的命令进行讲解,但还是免不了文章很长,建议大家收藏起来,用到的时候不会了再来阅读.当然

Linux 入门学习-LINUX命令行描述及常用命令

Linux基础入门之(常用命令) 1.命令行构成 命令提示符一般有GUI.GLI两种接口 1.1命令行组成:命令提示符.prompt.bash(使用的shell) 1.1.1  提示符格式默认为系统变量设置 使用echo命令输出PS1系统本地变量 [[email protected] testdir]# echo $PS1 [\[email protected]\h \W]\$ 1.1.2  用户登录提示符: $:表示普通用户 #:表示系统用户 pwd 显示当前用户所在目录 [[email pr

新手学习Linux命令

1.强大好用的Shell Shell:命令行工具.Bash:许多主流Linux系统使用的终端(Bourne-Again Shell). 2.查看帮助命令 长格式 : man --help : 短格式 man -h 查看命令详情 :man [命令] 如:man man即表示查看man命令自身的帮助信息. 3.常用系统工作命令 1.echo:输出字符串或变量提取的值. 2.date:显示及设置系统的时间或日期. 以上命令分别表示 显示时间,以特定格式显示时间,设置时间,显示今天为今年中的第几天. 3

Linux 命令 - history: 显示或操作历史列表

命令格式 history [-c] [-d offset] [n] history -anrw [filename] history -ps arg [arg...] 命令参数 -c 清除历史列表. -d offset 删除编号为 offset 的历史条目. n 显示最近的 n 条记录. 历史记录扩展 序列 行为  !!  重复最后一个执行过的命令.按向上箭头键再按 Enter 键也可以实现相同的功能,而且更符合操作习惯.  !number   重复历史记录中第 number 行的命令.  !s

学习linux命令之:uname命令

命令解释: uname - print system information    打印系统信息. 命令语法: uname  [OPTION]... 常用参数: -a     打印系统所有信息 -s     打印内核名 -n     打印网络节点的主机名 -m    打印机器硬件的名字 -r     打印内核版本 --version --help 例:查看系统所有的信息 [[email protected] ~]# uname -aLinux moban 2.6.32-431.el6.x86_6

学习Linux命令之:ls命令

ls命令是Linux最常用的命令之一. ls解释: ls - list directory contents 列出目录内容 ls描述: 按照字母排列的顺利列出文件的信息. ls语法: ls [OPTION]... [FILE]...   =      ls 选项 目录名 常用参数: -a      列出目录里的全部文件(包括隐藏文件) -l       以长格式列出文件 -d       目录条目列表,而不是内容,不要引用符号链接 常用的参数就以上三个.还有很参数,可在在linux 中用 man

Linux命令:history

显示历史(执行过的)命令. history [n] history -c history -d offset history -anrw [filename] history -p arg [arg ...] history -s arg [arg ...] 不带任何参数显示所有执行过的命令.一个命令一行,每行前有行号.带*,表示曾被修改过. n   ,显示最后(最近)执行的n命令. -c ,清空所有历史命令. -w,把缓存中的命令写入历史命令保存文件~/.bash_history 历史命名文件

Linux命令学习Day1

一直想学习Linux命令行,但是总是没有坚持.[Linux命令学习]系列博客将会记录我学习命令行的点点滴滴. 今天自己学习的4个命令: uname -- 查看系统信息 find -- 查找命令 dos2unix – Dos文件转换成Unix文件 cat -- 显示命令 下面简要描述下这几个命令. uname常用的几个选项: -a(打印所有信息) -s(内核名字) -r(内核版本) find功能强大,常用的语法格式: 路径 -- 在find命令后开始搜索的路径,若未指定则默认从当前路径开始搜索 -