mkdir与mkdir -p之间有什么区别

我试图使用mkdir在我的本地git仓库中创build文件夹。 它没有工作,但mkdir -p作品。

为什么?

我正在使用Mac OS。 我检查了mkdir -p的定义。 但是我还是不太明白。

说你在目录中:

 /home/Users/john 

而且你想创建3个新的子目录结束:

 /home/Users/john/long/dir/path 

留在“/ home / Users / john”时,会失败:

 mkdir long/dir/path 

你将不得不做三个独立的电话:

 mkdir long mkdir long/dir mkdir long/dir/path 

原因是默认情况下,mkdir只创建一个级别的目录。 通过添加“-p”标志,mkdir将一次完成整个集合。 也就是说,虽然这不起作用:

 mkdir long/dir/path 

这将工作:

 mkdir -p long/dir/path 

并创建所有三个目录。

从mkdir的帮助:-p,–parents没有错误,如果存在,根据需要制作父目录

所以你失败也许只是因为你想在一个没有-p选项的拍摄中创建父文件夹和子文件夹。

该标志将在必要时创建父目录。 你可能试图创建子目录的东西,由于缺少-p标志而失败