(一)bash的基础特性
- 命令补全
- shell程序在接收到用户执行命令的请求,分析完成之后,最左侧的字符串会被当作命令;
- 命令查找机制:shell首先会在内部命令中匹配查找,如果没有找到,则会在PATH环境变量设置的目录中,自左向右逐个搜索目录下的文件名
- 补全:如果给定的打头字符串可以唯一的标识某命令程序文件,则按“tab”键直接补全;否则需要按两下“tab”键,给出列表
- 路径补全
- 在给定的起始路径下,以对应路径下的打头字串来逐一匹配起始路径下的每个文件。
- 如果能唯一标识,则按“tab”键直接补全;否则需要按两下“tab”键,给出列表
- 命令行展开
- ~:展开为用户的家目录,或指定的用户的家目录
- {}:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径。例如:/tmp/{a,b}相当于/tmp/a,/tmp/b
- 命令的执行状态结果
- bash通过状态返回值来输出此结果
- 成功:0
- 失败:1-255
- 命令执行完成之后,其状态返回值会保存于bash的特殊变量“$?”中。可以用“echo $?”查看。
- 命令的返回值和命令的执行状态返回值不是一回事儿
- bash通过状态返回值来输出此结果
- 引用命令的执行结果:
- $(COMMAND)或者`COMMAND`。例如mkdir $(date +%H-%M-%S)
- 引用
- 强引用:单引号‘‘,其内部的任何字串都直接显示,不做任何替换
- 弱引用:双引号"",其内部的
- 命令引用:反引号``或者$()
(二)目录管理类的命令
- mkdir:创建目录/make directories
- 命令的操作对象为路径的基名,基名之前的路径名必须要存在
- -p:会创建缺失的父目录
- -v:显示创建的详细过程,比如创建了哪些父目录/verbose
- -m MODE:创建目录时直接给定权限,否则则为默认权限
- rmdir:删除空目录/remove empty directories
- 目录不空会报错
- -p:迭代删除空目录
- -v:显示删除过程
问题1:如何创建四个路径:/tmp/x/y1,/tmp/x/y2,/tmp/x/y1/a,/tmp/x/y1/b?
答案:mkdir -pv /tmp/x/{y1/{a,b},y2}
问题2:如何创建四个路径:a_c, a_d, b_c, b_d?
答案:mkdir -v {a,b}_{c,d}
- tree:显示目录的树状结构,例如tree /tmp/x
- -L #:指定要显示的树的深度
时间: 2024-11-24 16:45:08