zoukankan      html  css  js  c++  java
  • Linux环境下查看历史操作命令及清除方法

    在Linux环境中可以通过方向键的上下按键查看近期键入的命令。但这种方法只能一个一个的查看,其实系统提供了查看所有历史命令的方法。

    在终端中输入以下命令查看所有命令:

    history

    [root@template ~]# history
        1  ifconfig
        2  vim /etc/ssh/sshd_config 
        3  /etc/init.d/sshd restart
        4  vim /boot/grub/grub.conf 
        5  vim /etc/selinux/config 
        6  vim /etc/sysconfig/network-scripts/ifcfg-eth0
        7  rm -rf /etc/udev/rules.d/70-persistent-net.rules 
        8  useradd vsroot
        9  echo -e 'vsroot	ALL=(ALL)	NOPASSWD: ALL' >> /etc/sudoers
       10  yum clean all
       11  rm -rf /var/log/yum.log 
       12  rm -rf /var/lib/yum/*
       13  rm -rf /root/install.log
       14  rm -rf /root/install.log.syslog 
       15  rm -rf /var/log/anaconda.*

    history命令列出了所有已键入的命令,用户所键入的命令都会记录在文件中,该文件保存在当前登录用户的家目录中。

    文件名称为:.bash_history,该文件是一个隐藏文件。

    历史操作命令的清除:

    如果在服务器中干了不好的事情,可以通过“history -c”命令进行清除,那么其他人登录终端时就无法查看历史操作命令了。

    但此命令并不会清除保存在文件中的记录,因此需要手动删除.bash_profile文件中的记录。

    配置是否记录历史操作命令或记录条数:

    在“/etc/profile”配置文件中可以配置是否记录历史操作命令。

    vi /etc/profile

    [root@CentOS ~]# cat /etc/profile
    # /etc/profile
    
    # System wide environment and startup programs, for login setup
    # Functions and aliases go in /etc/bashrc
    
    # It's NOT a good idea to change this file unless you know what you
    # are doing. It's much better to create a custom.sh shell script in
    # /etc/profile.d/ to make custom changes to your environment, as this
    # will prevent the need for merging in future updates.
    
    pathmunge () {
        case ":${PATH}:" in
            *:"$1":*)
                ;;
            *)
                if [ "$2" = "after" ] ; then
                    PATH=$PATH:$1
                else
                    PATH=$1:$PATH
                fi
        esac
    }
    
    
    if [ -x /usr/bin/id ]; then
        if [ -z "$EUID" ]; then
            # ksh workaround
            EUID=`id -u`
            UID=`id -ru`
        fi
        USER="`id -un`"
        LOGNAME=$USER
        MAIL="/var/spool/mail/$USER"
    fi
    
    # Path manipulation
    if [ "$EUID" = "0" ]; then
        pathmunge /sbin
        pathmunge /usr/sbin
        pathmunge /usr/local/sbin
    else
        pathmunge /usr/local/sbin after
        pathmunge /usr/sbin after
        pathmunge /sbin after
    fi
    
    HOSTNAME=`/bin/hostname 2>/dev/null`
    HISTSIZE=1000
    if [ "$HISTCONTROL" = "ignorespace" ] ; then
        export HISTCONTROL=ignoreboth
    else
        export HISTCONTROL=ignoredups
    fi
    
    export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
    
    # By default, we want umask to get set. This sets it for login shell
    # Current threshold for system reserved uid/gids is 200
    # You could check uidgid reservation validity in
    # /usr/share/doc/setup-*/uidgid file
    if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
        umask 002
    else
        umask 022
    fi
    
    for i in /etc/profile.d/*.sh ; do
        if [ -r "$i" ]; then
            if [ "${-#*i}" != "$-" ]; then
                . "$i"
            else
                . "$i" >/dev/null 2>&1
            fi
        fi
    done
    
    unset i
    unset -f pathmunge
    [root@CentOS ~]#

    在profile配置文件中找到HISTSIZE选项,该配置选项用于配置历史操作命令条数的。

    如果将此值置0则不记录历史操作命令。

    默认该值为1000,也就是记录最近的1000条命令。

    如果需要增大后缩小记录的条数,则修改相应的值即可。

  • 相关阅读:
    1722 最优乘车 1997年NOI全国竞赛
    5969 [AK]刻录光盘
    tarjan算法讲解
    求有向图的强连通分量个数 之 Kosaraju算法
    信使
    1405 奶牛的旅行
    P1828 香甜的黄油 Sweet Butter
    洛谷P2235 [HNOI2002]Kathy函数
    「BZOJ1010」[HNOI2008] 玩具装箱toy(斜率优化)
    BZOJ 1974 [Sdoi2010] auction 代码拍卖会(数位dp)
  • 原文地址:https://www.cnblogs.com/xusweeter/p/6155210.html
Copyright © 2011-2022 走看看