Linux学习之Bash特性

1、命令行补全、路径补全

Tab;按两次Tab可以给出系统所有的命令

命令补全:根据我们所给出的字符串在PATH环境变量中定义的路径进行查找;多于一个按两次Tab可以给出列表,否则直接补全

路径补全;根据我们所给出的起始路径下的文件名进行补全


2、命令别名

alias可以查看系统中定义的别名

alias 别名=命令

删除别名使用unalias 别名

在shell中定义的别名只对当前shell的生命周期生效,别名的有效范围仅为当前shell

如果要执行一个命令本身而非别名时使用 \命令 的方式,例如执行rm本身而非命令别名则使用\rm


3、命令替换

把某条命令中的子命令替换为其执行的结果

$(命令)或`命令`(反引号)

例如创建一个以$HISTSIZE变量值为名的文件 touch $(echo $HISTSIZE)或touch `echo $HISTSIZE`

bash支持的引号

`` 反引号 命令替换

‘‘ 单引号 强引用,不完成变量替换

"" 双引号 弱引用,可以实现变量替换


4、文件名通配

* 匹配任意长度的任意字符

?匹配任意单个字符

[]匹配指定范围的任意单个字符

[abc]匹配a、b、c中的任意一个

[a-z]匹配a-z字母中的任意一个

[A-Z]匹配A-Z字母中的任意一个

[0-9]匹配0-9数字的任意一个

[a-zA-Z]匹配a-z、A-Z中的任意一个

[0-9a-zA-Z]匹配0-9、a-z、A-Z中的任意一个

[[:space:]]第一个括号代表匹配符,[:space:]代表的是一个字符串

[:space:]空白字符

[:punct:]标点符号

[:lower:]小写字符

[:upper:]大写字母

[:alpha:]大小写字母

[:digit:]数字

[:alnum:]数字和大小写字母

可以使用man 7 glob查看此列表

[^]匹配指定范围外的任意单个字符

当然也有很多无法使用通配符进行匹配的,例如;就需要使用正则表达式了


5、命令历史

history 变量HISTSIZE记录使用过的命令,默认值为1000

-n 显示最近使用过的n个命令

-a 添加记录

-r 读取记录,但不会添加内容记录

-w 覆盖现有的history文件

-c 清除记录

!n 执行历史命令的第n条 n为编号

!-n 执行历史命令的倒数第n条

!! 执行上一条命令

!字符串 执行命令历史最近一个以指定字符串开头的命令

!$ 引用前一个命令的最后一个参数

ESC .(按ESC后松开再按.) 同上

Alt+. (ALT和.同时按)不支持模拟终端)同上


6、命令行编辑

光标跳转;

Ctrl + a :跳转到行首

Ctrl + e :跳转到行尾

Ctrl + u :删除光标到行首的内容

Ctrl + k :删除光标到行尾的内容

Ctrl + l :清屏

Ctrl + C :中断操作

Ctrl + D :退出shell

本文出自 “杆儿男” 博客,请务必保留此出处http://wtime.blog.51cto.com/8829658/1530368

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。