一篇对大家学习,理解linux很有用的文章
前缀来查询一个历史事件
!?pattern
用“模式”来查询历史事件列表中的事件
!-event_num
通过偏移量来定位历史事件
2. 配置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是用户给命令取的别名,original-command是原来的命令和参数。需要注意的是,由于Bash是以空格或者回车来识别原来的命令的,所以如果不使用引号就可能导致Bash只截取第一个字,从而出现错误。如果alias命令后面不使用任何参数,则显示当前正在使用的被别名化的命令及其别名。为命令取的别名在该次登录期间始终有效。如果用户需要别名在每次登录时都有效,那么就将alias命令写到初始化脚本文件中。
[例]如果经常要键入如下的命令,最好为它建立一个别名来减少工作量。
$ cd /usr/X11/lib/X11
假如为这个长命令建立一个名为goconfig的别名,在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表现得象DOS一样:
alias dir=’ls’
alias copy=’cp’
alias rename=’mv’
alias md=’mkdir’
alias rd=’rmdir’
注意:在定义别名时,等号两边不能有空格,否则shell不能决定您需要做什么。仅在命令中包含空格或特殊字符时才需要引号。
如果键入不带任何参数的alias命令,将显示所有已定义的别名。
提示符
Bash有两级提示符。第一级提示符是经常见到的Bash在等待命令输入时的情况。第一级提示符的默认值是$符号。如果用户不喜欢这个符号,或者愿意自己定义提示符,只需修改PS1变量的值。例如将其改为:
PS1=”Enter a command:”
第二级提示符是当Bash为执行某条命令需要用户输入更多信息时显示的。第二级提示符默认为>。如果需要自己定义该提示符,只需改变PS2变量的值。例如将其改为:
PS2=”More information:”
上面的两个例子都是设定提示符为静态字符串的情况。其实用户也可以使用一些事先已经定义好的特殊字符。这些特殊字符将使提示符中包含当前时间之类的信息。表10-4列出了最常用的一些特殊字符及其含义。
表10-4 bash提示符常用特殊字符
特殊字符
说 明
!
显示该命令的历史编号
#
显示shell激活后,当前命令的历史编号
$
显示一个$符号,如果当前用户是root则显示#符号
显示一个反斜杠
d
显示当前日期
h
显示运行该shell的计算机主机名
n
打印一个换行符,这将导致提示符跨行
s
显示正在运行的Shell的名称
t
显示当前时间
u
显示当前用户的用户名
W
显示当前工作目录基准名
w
显示当前工作目录
这些特殊字符可以组合起来,为用户提供一些提示符,提供很有用的信息。下面来看几个实际例子:
PS1=”t”
将使提示符变成如下所示:
02:16:15
而 PS1=t
将使提示符变成如下所示:
t
若PS1=”t\”
将使提示符变成如下所示:
02:16:30
该例就是使用两个特殊字符的组合得到的。
控制shell的运行方式
Bash有一些特殊变量,能控制shell以不同的方式工作。例如,变量noclobber能防止在重定向输出时意外地覆盖一个文件。通过set命令可以设置noclobber变量的有效或无效。set命令有两个参数:一个是指定变量开(on)或关(off)的选项,一个是特殊变量的变量名。要使某一特殊变量开(有效),用
- SN2005学习系统 数字语音室解决方案(05-19)
- 骆驼精讲单片机系列:单片机学习,单片机案例分析集锦(05-16)
- 一文读懂人工智能、机器学习、深度学习有啥渊源(01-21)
- 对比深度学习十大框架:TensorFlow 并非最好?(09-21)
- 云中的机器学习:FPGA上的深度神经网络(06-04)
- 斯坦福机器学习公开课笔记13A——混合高斯模型、混合贝叶斯模型(04-19)