Mkdir 结合“-p”标志
Mkdir combined with "-p" flag
我正在学习一个教程,在该教程中我必须创建一个目录,但还要传递 -p
标志。我尝试了 运行,得到了 syntax failure
。于是想弄清楚-p
做了什么,发现这个缩写是privileged的缩写。并发现
Script runs as "suid" (caution!)
开始查看这意味着什么,发现它意味着设置用户标识并阅读它
– When a command or script with SUID bit set is run, its effective UID becomes that of the owner of the file, rather than of the user who is running it. Source
不过,我还是不太明白。 我将目录设置为具有该 权限的目的是什么 我为什么要小心? 另外,我试过看这里但我看不到'找不到任何说明(使用我使用的不同搜索关键字)。另外,没有必要......但是,为什么我做 mkdir -p src/entities
会给我一个语法错误?我正在使用 Windows(但我也有一个用于 Anaconda 的 bash 包)。
看起来您正在学习类似 Unix 的教程,但是 运行 cmd.exe
中 Windows 上的命令。
如使用说明所述:
C:\>mkdir /?
Creates a directory.
MKDIR [drive:]path
MD [drive:]path
If Command Extensions are enabled MKDIR changes as follows:
MKDIR creates any intermediate directories in the path, if needed.
For example, assume \a does not exist then:
mkdir \a\b\c\d
is the same as:
mkdir \a
chdir \a
mkdir b
chdir b
mkdir c
chdir c
mkdir d
which is what you would have to type if extensions were disabled.
Windows 命令不使用 -
作为选项(特别是 cmd
内置的 mkdir
命令不理解 -p
).
关于“特权”的部分是针对 shell 选项 -p
,如 bash -p
。与mkdir -p
无关,在man mkdir
:
中有说明
-p
, --parents
no error if existing, make parent directories as needed
但同样,这仅适用于 Unix mkdir
,不适用于 Windows / cmd
。
如果父目录不存在,“-p”会创建它们。
例如:
如果“第一个”目录不存在,则使用“-p”。
mkdir -p first/second # "first" parent directory is created
如果“第一个”目录不存在,则不使用“-p”。
mkdir first/second # "first" parent directory is not created
mkdir: cannot create directory ‘first/second’: No such file or directory
我正在学习一个教程,在该教程中我必须创建一个目录,但还要传递 -p
标志。我尝试了 运行,得到了 syntax failure
。于是想弄清楚-p
做了什么,发现这个缩写是privileged的缩写。并发现
Script runs as "suid" (caution!)
开始查看这意味着什么,发现它意味着设置用户标识并阅读它
– When a command or script with SUID bit set is run, its effective UID becomes that of the owner of the file, rather than of the user who is running it. Source
不过,我还是不太明白。 我将目录设置为具有该 权限的目的是什么 我为什么要小心? 另外,我试过看这里但我看不到'找不到任何说明(使用我使用的不同搜索关键字)。另外,没有必要......但是,为什么我做 mkdir -p src/entities
会给我一个语法错误?我正在使用 Windows(但我也有一个用于 Anaconda 的 bash 包)。
看起来您正在学习类似 Unix 的教程,但是 运行 cmd.exe
中 Windows 上的命令。
如使用说明所述:
C:\>mkdir /?
Creates a directory.
MKDIR [drive:]path
MD [drive:]path
If Command Extensions are enabled MKDIR changes as follows:
MKDIR creates any intermediate directories in the path, if needed.
For example, assume \a does not exist then:
mkdir \a\b\c\d
is the same as:
mkdir \a
chdir \a
mkdir b
chdir b
mkdir c
chdir c
mkdir d
which is what you would have to type if extensions were disabled.
Windows 命令不使用 -
作为选项(特别是 cmd
内置的 mkdir
命令不理解 -p
).
关于“特权”的部分是针对 shell 选项 -p
,如 bash -p
。与mkdir -p
无关,在man mkdir
:
-p
,--parents
no error if existing, make parent directories as needed
但同样,这仅适用于 Unix mkdir
,不适用于 Windows / cmd
。
如果父目录不存在,“-p”会创建它们。
例如:
如果“第一个”目录不存在,则使用“-p”。
mkdir -p first/second # "first" parent directory is created
如果“第一个”目录不存在,则不使用“-p”。
mkdir first/second # "first" parent directory is not created
mkdir: cannot create directory ‘first/second’: No such file or directory