mkdir和mkdir -p之间的区别是什么

时间:2015-05-15 01:45:04

标签: unix command-line

我尝试使用mkdir在我的本地git repo中创建文件夹。它没有用,但是 mkdir -p有效。

为什么呢?

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

3 个答案:

答案 0 :(得分:5)

说你在目录中:

/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

并创建所有三个目录。

答案 1 :(得分:0)

在mkdir的帮助下: -p, - 如果存在则没有错误,根据需要创建父目录

所以你失败了可能只是因为你想在没有-p选项的情况下在一次拍摄中创建父文件夹和子文件夹。

答案 2 :(得分:0)

该标志将在必要时创建父目录。您可能正在尝试使用子目录创建某些内容并因缺少-p标志而失败