首页 > 代码库 > 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相关指令(续)