我想创建一个看起来像/dir1/dir2/dir3/dir4
但我不能的新目录。
如果我从父目录和新父目录一一创建目录,一切正常:
\nlm@debian:~$ sudo mkdir -v ./Pictures/Photos1/onbike2023/\nmkdir: cannot create directory \xe2\x80\x98./Pictures/Photos1/onbike2023/\xe2\x80\x99: No such file or directory\nlm@debian:~$ sudo mkdir -v ./Pictures/Photos1/\nmkdir: created directory \'./Pictures/Photos1/\'\nlm@debian:~$ sudo mkdir -v ./Pictures/Photos1/onbike2023/\nmkdir: created directory \'./Pictures/Photos1/onbike2023/\'\nlm@debian:~$ \n
Run Code Online (Sandbox Code Playgroud)\n我究竟做错了什么?
\nmkdir
默认情况下不会创建中间目录。也就是说,如果你想mkdir foo/bar/baz
成功,foo
最好foo/bar
已经存在。
但是,您可以通过更改此行为mkdir -p foo/bar/baz
。如果需要,此选项将导致创建任何中间目录。它还有一个额外的好处,mkdir
即如果错误代码foo/bar/baz
已经存在,则不会导致退出。