首页 > 代码库 > Bash相关指令(续)

Bash相关指令(续)

1.变量测试与内容替换小结:

    1)var=${str-expr},str没有设定,则var等于expr;str=’’,则var=’’;str已设定则var=$str

    2)var=${str:-expr},str没有设定,则var等于expr;str=’’,则var=expr;str已设定则var=$str

    3)var=${str+expr}:str没有设定,则var等于’’;str=’’,则var=expr;str已设定则var=$str

    4)var=${str:+expr}:str没有设定,则var等于’’;str=’’,则var=’’;str已设定则var=$str

    5)var=${str=expr}:str没有设定,则str=expr,var=’’;str=’’,则str=’’,var=’’;str已设定则str不变,var=$str

    6)var=${str:=expr}:str没有设定,则str=expr,var=expr;str=’’,则str=expr,var=expr;str已设定则str不变,var=$str

    7)var=${str?expr}:str没设定,expr输出至stderr;str=’’,var=’’;str已设定,var=$str;

    8)var=${str:?expr}:str没设定,expr输出至stderr;str=’’,expr输出至stderr;str已设定,var=$str;

2.clear:清屏

3.alias  [字符串]:定义指令别名,若不带任何参数,则列出当前环境下所有的指令别名,可以通过“unalias  别名指令”,来删除指令别名。

4.history  [n] [-c] |[-rwa] histfiles:列出历史指令,参数:

    1)n:数字,列出最近的n个指令

    2)-c:将目前的shell中的所有history内容全部消除

    3)-a:将目前新增的history指令新增入histfile中,若没指定histfiles,则预设写入~/.bash_history

    4)-r:将histfiles的内容读到目前这个shell的history记忆中

    5)-w:将目前的history记忆内容写入histfiles中。

    历史指定的读取:当我们以bash登入Linux主机之后,系统主动由家目录的~/.bash_history读取以前曾经下过的指令,该文件记录的指令数由HISTFILESIZE这个变量设定值有关。假如你这次登入主机后,共下达过100次指令,等你注销时,系统会将101-1100这总共1000个指令更新到~/.bash_history中,也就是说,历史命令在注销时,会将最近的HISTFILESIZE个指令记录到~/.bash_history这个档案中。当然可以用history  –w强制将当前指令写入到~/.bash_history文件中。

    相关指令:

    1)!number:执行历史指令中的第number个(从前往后)

    2)!command:由最近的指令向前搜索以command开头的那个指令,并执行

    3)!!:执行上一个指令

    多个用户同时以同一个身份登录系统时,后注销的用的历史记录会覆盖先注销的。

5./etc/issue:该文档存放进站的欢迎信息,该文档的一些特殊字符的意义:

    1)\d:本地日期

    2)\l:显示第几个终端机接口

    3)\m:显示硬件的等级

    4)\n:显示主机的网络名称

    5)\o:显示domain name

    6)\r:操作系统的版本(相当于uname –r)

    7)\t:本地时间

    8)\s操作系统名称

    9)\v:操作系统版本

6.bash的login shell情况(输入用户名,密码)下所读的整体配置文件只有/etc/profile,但是该文件会呼叫出其他的配置文件。

bash在读取完这个文件后,会读取~/.bash_profile,~/.bash_login,~/.profile中的一个,优先级依此降低,即前一个存在,则不会读取下一个。

7.source(或.)  配置文件档名:读入环境配置文件的指令,可以使用户修改配置文件(如:~/.bash)后立即生效,而不必注销,重登陆。

8.bash的non-login shell这种非登录情况下,会读取~/.bashrc配置文件。

9.~/.bash_logout:这个档案记录了当注销bash后,系统会自动进行的操作。

10.stty  [-a]:查阅或设定终端机输入按键的意义。参数:

    1)-a:列出所有的按键与按键内容

    内容中几个重要的代表的意义:

    1)eof:结束输入

    2)erase:向后删除

    3)intr:送出一个中断信号给目前正在run的程序

    4)kill:删除目前指令列上的所有文字

    5)quit:送出一个quit的信号给当前正在运行的程序

    6)start:停止目前屏幕的输出

    7)susp:送出一个terminal  stop信号给正在run的程序

11.set  [-uvCHhmBx]:设定整个指令输入输出的环境,参数:

    1)-u:预设不启用。若启用后,当使用未设定变量时,会显示错误信息

    2)-v:预设不启用,若启用后,在信息被输出前,会显示信息的原始内容

    3)-x:预设不启用,若启用后,在指令被执行前,会显示指令内容(前面有++符号)

    4)-h:预设启用,与历史指令有关

    5)-H:预设启用,与历史指令有关

    6)-m:预设启用,与工作管理有关

    7)-B:预设启用,与中括号[]的作用有关

    8)-C:预设不启用,若使用>等,则若档案存在时,该档案不会被覆盖

    输入echo  $-:显示当前的设定值,若取消某项设定值,则只需将指令中“-”改成“+”。

12.默认情况下,bash的组合按键:

    1)Ctr+C:终止目前的命令

    2)Ctr+D:输入EOF,例如邮件结束的时候

    3)Ctr+M:就是Enter

    4)Ctr+S:暂停屏幕输出

    5)Ctr+Q:恢复屏幕输出

    6)Ctr+U:在提示字符下,将整列命令删除

    7)Ctr+Z:暂停目前的命令


本文出自 “虎哥的博客” 博客,请务必保留此出处http://7613577.blog.51cto.com/7603577/1595678

Bash相关指令(续)