四、命令补全——(TAB键的使用)
包括两个发面的内容:
1.构成命令字符串的补全;
参考PATH变量中的路径,对命令进行补全;
如果,给出的字符串在PATH变量对应的路径中是唯一的,则直接补全命令;
如果,给出的字符串在PATH变量对应的路径中是不是唯一的,则bash给出提示;
2.命令中参数所对应的字符串补全
根据给出的路径进行补全:
如果,给出的字符串在给出的路径中是唯一的,则直接补全命令;
如果,给出的字符串在给出的路径中是不是唯一的,则bash给出提示;
五、命令行展开
1.~展开:
~:bash会自动将其展开为当前登录用户的家目录;
~STRING:bash会将其自动展开为以“STRING”为用户名的用户的家目录;
~+:调用bash的内置变量“PWD”的值;
~-:调用bash的内置变量“OLDPWD”的值;
2.{}展开:
在{}中,可以填充一个以“,”(英文输入法中的“,”)分隔的路径列表,bash会将其展开为多个独立路径;
两种应用
[root@localhost ~]# mkdir -pv /china/{hb,hn,qd,bj}/{1,2,3}/class18
mkdir: 已创建目录 "/china"
mkdir: 已创建目录 "/china/hb"
mkdir: 已创建目录 "/china/hb/1"
mkdir: 已创建目录 "/china/hb/1/class18"
mkdir: 已创建目录 "/china/hb/2"
mkdir: 已创建目录 "/china/hb/2/class18"
mkdir: 已创建目录 "/china/hb/3"
mkdir: 已创建目录 "/china/hb/3/class18"
mkdir: 已创建目录 "/china/hn"
mkdir: 已创建目录 "/china/hn/1"
mkdir: 已创建目录 "/china/hn/1/class18"
mkdir: 已创建目录 "/china/hn/2"
mkdir: 已创建目录 "/china/hn/2/class18"
mkdir: 已创建目录 "/china/hn/3"
mkdir: 已创建目录 "/china/hn/3/class18"
mkdir: 已创建目录 "/china/qd"
mkdir: 已创建目录 "/china/qd/1"
mkdir: 已创建目录 "/china/qd/1/class18"
mkdir: 已创建目录 "/china/qd/2"
mkdir: 已创建目录 "/china/qd/2/class18"
mkdir: 已创建目录 "/china/qd/3"
mkdir: 已创建目录 "/china/qd/3/class18"
mkdir: 已创建目录 "/china/bj"
mkdir: 已创建目录 "/china/bj/1"
mkdir: 已创建目录 "/china/bj/1/class18"
mkdir: 已创建目录 "/china/bj/2"
mkdir: 已创建目录 "/china/bj/2/class18"
mkdir: 已创建目录 "/china/bj/3"
mkdir: 已创建目录 "/china/bj/3/class18"
常用作同时创建多个目录
[sola@localhost ~]$ ls
c.txt 下载 公共的 图片 文档 桌面 模板 视频 音乐
[sola@localhost ~]$ cp c.txt{,.bak}
[sola@localhost ~]$ ls
c.txt c.txt.bak 下载 公共的 图片 文档 桌面 模板 视频 音乐
六、命令的执行结果
在bash中,命令的执行结果有两种:
1.执行命令的输出结果:
根据用户需求获取到的命令执行的正常输出结果;
命令引用或命令替换:
``(波浪线键使用英文输入法)相当于$()
``:反向单引号,反引号
示例:
[root@localhost ~]# ls
123 abc anaconda-ks.cfg a.txt b.txt initial-setup-ks.cfg 公共 模 板 视频 图片 文档 下载 音乐 桌面
[root@localhost ~]# touch a.txt-$(date +%F-%H-%M-%S)
[root@localhost ~]# ls
123 abc anaconda-ks.cfg a.txt a.txt-2017-10-26-14-40-46 b.txt initial-setup-ks.cfg 公共 模板 视频 图片 文档 下载 音乐 桌面
[root@localhost ~]# touch a.txt-`date +%F-%H-%M-%S`
[root@localhost ~]# ls
123 abc anaconda-ks.cfg a.txt a.txt-2017-10-26-14-40-46 a.txt- 2017-10-26-14-41-48 b.txt initial-setup-ks.cfg 公共 模板 视频 图片 文档 下载 音乐 桌面
此操作常用于文件的备份时标记备份时间
2.执行命令的状态返回值:
与此前的一个命令是否成功执行相关的返回内容;
Bash使用一个特殊的内置变量来保存其内容:$?
$?实际上保存的是一个数值,其取值范围:0~255
其中 :
0:表示命令执行成功;
1~255:表示命令执行失败
1,2,127:bash中内置的命令执行失败的状态返回值;
1:表示一些小问题
2:表示严重的问题
127:表示命令本事出现问题;
其与数字(3-126,128-255):用户可以自定义的失败状态返回值;