“mkdir -p”中的 -p 标志起什么作用?

“mkdir -p”中的 -p 标志起什么作用?

-p旗帜在 中起什么作用mkdir -p

答案1

-p标志将创建嵌套目录,但前提是它们尚不存在。

例如,假设您有一个/foo具有写权限的目录。

mkdir -p /foo/bar/baz  # creates bar and baz within bar under existing /foo

这也是幂等操作,因为如果再次运行相同的命令,则不会出现错误,但不会创建任何内容。

答案2

-p标志允许与嵌套文件夹一起创建父文件夹。

例如:

mkdir directory/nested_directory 

它将返回以下错误:mkdir: cannot create directory ‘directory/nested_directory’: No such file or directory

但如果你使用-p如下命令:

mkdir -p directory/nested_directory

它将成功创建目录及其嵌套的 nested_directory 文件夹。

答案3

它实际上做了两件不同的事情。

  1. 如果存在则无错误
    • 印刷没有错误喜欢mkdir: cannot create directory ‘<dir>’: File exists
  2. 根据需要创建父目录
    • 您可以创建嵌套类似的目录mkdir -p dir1/dir2/dir3
    • 包含目录(例如:dir1dir2)不会受到文件模式选项的影响(-m

相关内容