unix - mkdir 和 mkdir -p 有什么区别

标签 unix command-line

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

为什么?

顺便说一句,我正在使用 Mac 操作系统。我检查了 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

并创建所有三个目录。

关于unix - mkdir 和 mkdir -p 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30250215/

相关文章:

git - 是否有一个单一的 Git 命令来获取当前标记、分支和提交?

c - 该程序中的 fgets

excel - 在 Mac 上使用终端通过 Excel 打开文件

python-2.7 - 将Python日期转换为Unix时间戳

c++ - "unix"C++ 预处理器宏未使用 -std=c++11 定义

linux - 如何使用通配符名称创建子目录,Linux

python - 避免在终端/cmd 上运行 FFmpeg

linux - 出现点和下划线时用 sed 搜索和替换

javascript - Momentjs 获取当前 GMT unix 时间

c - Sprite 。隐藏已链接 DSO 的导出符号