在其父目录不存在时先创建父目录的命令
题主你好,
从你的问题来看, 应该考查的是mkdir命令的-p参数. 下面通过一个例子为题主详细的说一下:
假设在根目录下有一个子目录A,即 /A,
现在我想新建层级为/A/B/C这样的一个目录C, 但问题来了, 如果我直接使用命令:
mkdir /A/B/C
会报错, 提示不存在目录B, 这个报错没问题, 因为事实上A目录下是空的(也就是说当mkdir命令后直接接路径的话, 执行过程是: "逐级检测目录是否存在, 如果某一祖先级目录不存在,则报错"). 此时我们就要借助mkdir命令的-p参数, 这个参数的作用是如果祖先级目录(题主问题中写的是父级目录, 其实不止父级)不存在则会自动为你创建, 因此将上面的命令改为:
mkdir -p /A/B/C
上面命令加了-p参数的执行过程是, 先检测根目录下有没有目录A,有则继续向下看, 没有则新建目录A, 当A目录存在了, 再看A目录下有没有目录B,有则继续向下看, 没有则新建目录B, 当B目录也存在了, 再看目录C是否存在, 存在则退出, 不存在则新建目录C后退出. 也就是说-p参数将mkdir命令的执行逻辑改为: "逐级检测目录是否存在,有则继续向下处理,没有则新建"
-----
希望可以帮到题主, 欢迎追问.