zoukankan      html  css  js  c++  java
  • 每天学习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的显示格式和存储文件都发生率变化。

  • 相关阅读:
    java DMO及增删改查代码的自动生成
    如果有一天苹果免费了,支付宝怎么办
    jquery实现页面交互的几个小例子
    android中的所谓观察者模式
    随笔——runnable勘误以及其他
    android 源码角度全方位理解filter
    android 你的onfocuschangelistener和android:state_hovered为何不起作用
    android 如何阻断seekbar的触摸事件
    java 传值和传引用
    Android内存优化(使用SparseArray和ArrayMap代替HashMap)
  • 原文地址:https://www.cnblogs.com/tangxiaolang/p/4056965.html
Copyright © 2011-2022 走看看