bash功能 命令别名与历史记录

来源:互联网 发布:移动大数据平台 编辑:程序博客网 时间:2024/05/08 10:09

命令别名

在CentOS6.3系统中,我们可以直接使用ll命令来显示文件的详细信息,其实系统中并没有ll命令,它只是被提前定义好的一个别名

而已,别名的好处是可以把本来很长的指令简化缩写,为常用且复杂的命令及选项创建别名可以大大提高日常工作效率。

[root@template ~]# alias
alias cp='cp -i'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

[root@template ~]# alias  h5='head -5'    #定义新的别名
[root@template ~]# unalias  h5                  #取消别名定义


历史记录
History
             n :数字,要列出最近的若干命令列表
       -c :将目前的 shell 中的所有 history 内容全部消除
       -a :将目前新增的 history 指令新增入 histfiles 中,若没有加 histfiles ,则预设写入 ~/.bash_history
        -r :将 histfiles 的内容读到目前这个 shell 的 history 记忆中
        -w :将目前的 history 记忆内容写入 histfiles


History变量:
HISTFILESIZE=4000                      #定义了在.bash_history文件中保存命令的记录总数,
HISTSIZE=4000                            #定义history命令输出的记录总数
HISTTIMEFORMAT='%F%T'          #定义时间显示格式,HISTTIMEFORMAT作为history的时间变量将值传递给history命令


放到/etc/profile文件中
#!/bin/bash
#history
USER_IP=`who  -u  am i  2>  /dev/null  | awk  '{print  $NF}'  | sed  -e  's/[()]//g' `
HISTDIR=/tmp/.history
DATE=`date  +%Y%m%d_%H%M%S`
if   [  -z  $USER_IP  ]
then
USER_IP=`hostname`
fi
if   [ !  -d  $HISTDIR   ]
then
  mkdir  -p   $HISTDIR
  chmod  777  $HISTDIR
fi
if  [  ! -d    $HISTDIR/$LOGNAME ]
then
     mkdir  -p   $HISTDIR/$LOGNAME
    chmod   300  $HISTDIR/$LOGNAME
fi
export  HISTSIZE=4000
export  HISTSFILESIZE=4000
export  HISTTIMEFORMAT='[%Y.%m.%d %H:%M:%S]'
export  HISTFILE="$HISTDIR/$LOGNAME/${USER_IP}.history.$DATE"
chmod   600  $HISTDIR/$LOGNAME/*.history*  2>  /dev/null

0 0