Windows Mkdir与“联合”-p";旗帜
我正在学习一个教程,其中我必须创建一个目录,但也要传递Windows Mkdir与“联合”-p";旗帜,windows,shell,cmd,mkdir,Windows,Shell,Cmd,Mkdir,我正在学习一个教程,其中我必须创建一个目录,但也要传递-p标志。我试着运行它,结果发现语法失败。所以我想弄清楚-p做了什么,发现这个缩写是。发现 脚本以“suid”的形式运行(注意!) 开始研究这意味着什么,发现这意味着设置用户标识并阅读 –当运行具有SUID位的命令或脚本时,其有效UID将成为文件所有者的UID,而不是运行该文件的用户的UID 不过,我还是不太明白我设置目录以获得该权限的目的是什么?为什么要小心?此外,我尝试在此处查找,但找不到任何说明(使用了不同的搜索关键字)。而且,没有必要
-p
标志。我试着运行它,结果发现语法失败
。所以我想弄清楚-p
做了什么,发现这个缩写是。发现
脚本以“suid”的形式运行(注意!)
开始研究这意味着什么,发现这意味着设置用户标识并阅读
–当运行具有SUID位的命令或脚本时,其有效UID将成为文件所有者的UID,而不是运行该文件的用户的UID
不过,我还是不太明白我设置目录以获得该权限的目的是什么?为什么要小心?此外,我尝试在此处查找,但找不到任何说明(使用了不同的搜索关键字)。而且,没有必要。。但是,为什么执行
mkdir-psrc/entities
会导致语法错误?我正在使用Windows(但我也有一个用于Anaconda的bash软件包)。看起来您在学习Unix ish教程,但在Windows上运行命令时使用的是cmd.exe
如使用说明所述:
C:\>mkdir/?
创建一个目录。
MKDIR[drive:]路径
MD[drive:]路径
如果启用了命令扩展,MKDIR的更改如下:
如果需要,MKDIR将在路径中创建任何中间目录。
例如,假设\a不存在,则:
mkdir\a\b\c\d
同:
mkdir\a
chdir\a
mkdir b
chdir b
mkdir c
chdir c
mkdir d
如果扩展被禁用,您将必须键入这些内容。
Windows命令不使用-
作为选项(尤其是cmd
中内置的mkdir
命令不理解-p
)
关于“特权”的部分用于shell选项
-p
,如bash-p
中所述。它与mkdir-p
无关,如下所述:
-p
,-父母
无错误(如果存在),根据需要创建父目录
但同样,这只适用于Unixmkdir
,而不适用于Windows/cmd
“-p”创建不存在的父目录
mkdir -p first/second # "first" parent directory is created
mkdir first/second # "first" parent directory is not created
mkdir: cannot create directory ‘first/second’: No such file or directory
例如:
如果“first”目录不存在,则使用“-p”
mkdir -p first/second # "first" parent directory is created
mkdir first/second # "first" parent directory is not created
mkdir: cannot create directory ‘first/second’: No such file or directory
如果“first”目录不存在,则不使用“-p”
mkdir -p first/second # "first" parent directory is created
mkdir first/second # "first" parent directory is not created
mkdir: cannot create directory ‘first/second’: No such file or directory
据我所知,
-p
意味着在需要时创建父目录。例如,mkdir-p src/entites
createsrc
如果不存在。您得到的错误消息是什么?@dlmeetei啊,这很有意义。是的,还没有src
目录。所以我当时的研究是完全错误的。错误消息是语法错误
,因此我只是单独创建了目录。我只是很不确定-p
是什么意思。我猜我没有将我的环境设置为使用-p
那么?不确定Windows,我说的是Unix的-p
,也许,环境问题您是在Windows上工作还是在Unix/Linux上工作?请注意,标记指向Windows。请澄清并相应更新标签。非常感谢。