详细闲扯Linux Bash命令查询历史事件操作功能
时间:2010-11-16 来源:mydear
在向大家详细介绍Linux Bash命令之前,首先让大家了解下Bash命令,然后全面介绍Linux Bash命令,希望对大家有用。可以在命令行上编辑历史事件列表中的事件。表10-3列出了查询历史事件列表的各种操作。
表10-3Linux Bash命令查询历史事件操作 查询历史事件操作 功能
Ctrl+n或向下光标键 移至历史事件列表中当前事件的下一历史事件
Ctrl+p或向上光标键 移至历史事件列表中当前事件的前一历史事件
Esc < 移至历史事件列表表首
Esc > 移至历史事件列表表尾
!event_num 用历史事件号来定位一个历史事件
!characters 用历史事件的字符前缀来查询一个历史事件
!?pattern 用“模式”来查询历史事件列表中的事件
!-event_num 通过偏移量来定位历史事件
配置history:HISTFILE及HISTSIZE
系统保存的历史事件数被保存在一个特定的系统变量中,这个变量就是HISTSIZE。这个变量的缺省值通常被设置为500。这个值可以被修改。例如: $ HISTSIZE=10 将HISTSIZE的值重新设置为10。
历史事件被保存在一个文件中,文件名由变量HISTFILE指定。通常这个文件的缺省名是.bash_history。通过给变量HISTFILE赋值,可以指定新的文件名。
$ echo $HISTFILE
/home/lisa/.bash_history
$ HISTFILE=”/home/lisa/newhist”
$ echo $HISTFILE
/home/lisa/newhist
以上操作先显示变量HISTFILE的值,然后赋予它新的值“/home/lisa/newhist”,以后所有的历史事件将被保存在newhist文件中。别名还有一个使工作变得轻松的方法是使用命令别名。命令别名通常是其他命令的缩写,用来减少键盘输入。
命令格式为: alias [alias-name=’original-command’]
其中,alias-name是用户给Linux Bash命令取的别名,original-command是原来的Bash命令和参数。需要注意的是,由于Linux Bash命令是以空格或者回车来识别原来的命令的,所以如果不使用引号就可能导致Linux Bash命令只截取第一个字,从而出现错误。如果alias命令后面不使用任何参数,则显示当前正在使用的被别名化的Linux Bash命令及其别名。为命令取的别名在该次登录期间始终有效。如果用户需要别名在每次登录时都有效,那么就将alias命令写到初始化脚本文件中。
如果经常要键入如下的Linux Bash命令,最好为它建立一个别名来减少工作量。
$ cd /usr/X11/lib/X11
假如为这个长命令建立一个名为goconfig的别名,在Linux Bash命令提示符下键入如下命令:
$ alias goconfig=’cd /usr/X11/lib/X11’
现在,除非您退出Bash,键入goconfig将和原来的长命令有同样的作用。如果想取消别名,可以使用下面的命令:
$ unalias goconfig
这是一些很多人认为有用的别名,可以把它们写入初始化脚本文件中来提高工作效率:
alias ll=’ls –l’
alias log=’logout’
alias ls=’ls –F’
如果您是一名DOS用户并且习惯了DOS命令,可以用下面的别名定义使Linux Bash命令表现得象DOS一样:
alias dir=’ls’
alias copy=’cp’
alias rename=’mv’
alias md=’mkdir’
alias rd=’rmdir’
注意:在定义别名时,等号两边不能有空格,否则shell不能决定您需要做什么。仅在Linux Bash命令中包含空格或特殊字符时才需要引号。 如果键入不带任何参数的alias命令,将显示所有已定义的别名。