bash的基础特性二:

1.mkdir:make directories

mkdir [OPTION]... DIRECTORY...(默认,基名(basename)可以不存在,基名的路径必须存在)
                -p: 自动按需创建父目录;
                -v: verbose,显示详细过程;
                -m MODE:直接给定权限;

2.rmdir:remove empty directories

rmdir [OPTION]... DIRECTORY...

                -p:删除某目录后,如果其父目录为空,则一并删除之;
                -v: 显示过程;

3.bash的基础特性之:命令行展开

{}:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径;
例如:/tmp/{a,b} 相当于 /tmp/a /tmp/b

~]#mkdir -pv /tmp/x/{y1/{a,b},y2}
mkdir: 已创建目录 "/tmp/x"
mkdir: 已创建目录 "/tmp/x/y1"
mkdir: 已创建目录 "/tmp/x/y1/a"
mkdir: 已创建目录 "/tmp/x/y1/b"
mkdir: 已创建目录 "/tmp/x/y2"
~]#mkdir -pv /tmp/{a,b}_{c,d}
mkdir: 已创建目录 "/tmp/a_c"
mkdir: 已创建目录 "/tmp/a_d"
mkdir: 已创建目录 "/tmp/b_c"
mkdir: 已创建目录 "/tmp/b_d"

4.命令补全:

命令查找机制:
                查找内部命令;
                根据PATH环境变量中设定的目录,自左而右逐个搜索目录下的文件名;
                给定的打头字符串如果能惟一标识某命令程序文件,则直接补全;
                不能惟一标识某命令程序文件,再击tab键一次,会给出列表;

5.路径补全:

在给定的起始路径下,以对应路径下的打头字串来逐一匹配起始路径下的每个文件:
                tab:
                    如果能惟一标识,则直接补全;
                    否则,再一次tab,给出列表;

6.tree:

tree [options] [directory]
            -L level:指定要显示的层级;
            -P pattern:List only those files that match the wild-card pattern:基于glob通配机制,仅显示模式匹配的路径;
            -d:仅显示目录; 
            -I patteren:取反机制,不显示模式匹配到的路径;
            -o filename:保存在文件中;、

7.命令的执行状态结果:

命令执行的状态结果:
            bash通过状态返回值来输出此结果:
                成功:0
                失败:1-255
命令执行完成之后,其状态返回值保存于bash的特殊变量$?中;

~]#ls -l anaconda-ks.cfg 
-rw-------. 1 root root 2314 7月   2 07:29 anaconda-ks.cfg
~]#$?
bash: 0: 未找到命令...

8.引用命令的执行结果:

$(COMMAND)  或`COMMAND`

~]#which cat
/usr/bin/cat
~]#ls -l `which cat`
-rwxr-xr-x. 1 root root 54080 4月  11 2018 /usr/bin/cat
~]#date +%F-%H-%M-%S
2018-12-04-14-01-29
~]#mkdir -pv $(date +%F-%H-%M-%S)
mkdir: 已创建目录 "2018-12-04-14-01-48"

9.引用

'  ':强引用;不做变量替换;
" ":弱引用;可实现变量替换;
` `:命令引用,引用命令的执行结果;(实例可以参考第8点)。

~]#echo '$PATH'
$PATH
~]#echo "$PATH"
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

10.快捷键(适用于bash shell命令输入行内)

        Ctrl+a:跳转至命令行行首
        Ctrl+e:跳转至命令行行尾
        Ctrl+u:删除行首至光标所在处之间的所有字符;
        Ctrl+k:删除光标所在处至行尾的所有字符;
        Ctrl+l:清屏,相当于clear

猜你喜欢

转载自blog.csdn.net/weixin_39924535/article/details/84787255