在其父目录不存在时先创建父目录的命令

 我来答
百度网友023b1c3
科技发烧友

2020-12-26 · 智能家居/数码/手机/智能家电产品都懂点
知道小有建树答主
回答量:1086
采纳率:84%
帮助的人:287万
展开全部

题主你好,

从你的问题来看, 应该考查的是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命令的执行逻辑改为: "逐级检测目录是否存在,有则继续向下处理,没有则新建"

-----

希望可以帮到题主, 欢迎追问.

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式