我找不到任何关于这种行为改变的参考
$ mkdir --version
mkdir (GNU coreutils) 9.0
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by David MacKenzie.
所有文件夹都不存在。
$ mkdir asdfg/qwerty
mkdir: created directory 'asdfg'
mkdir: created directory 'asdfg/qwerty'
但是,对于 mkdir (GNU coreutils) 8.25,行为符合预期。
➜ ~ mkdir asdfg/qwerty
mkdir: cannot create directory ‘asdfg/qwerty’: No such file or directory
答案1
我从源代码编译了最新的 coreutils,我仍然需要使用-p
与父母一起创建目录:
$ src/mkdir --version
mkdir (GNU coreutils) 9.0.11-13af8
$ src/mkdir a/b
src/mkdir: cannot create directory ‘a/b’: No such file or directory
因此,您要么有一个别名mkdir -p
(也可能有一个-v
用于详细输出的别名,因为mkdir -p
不会打印有关创建目录的信息),要么您的发行版对 coreutils 进行了修补。