我在Windows 10中使用GitBash。我想在/c/Users/User.Name/Documents
中创建一个文件夹(正斜杠与GitBash中的一样。在Windows资源管理器中,它们将是C:UsersUser.NameDocuments
(。
如果将cd
转换为/c/Users/User.Name/Documents
并键入mkdir=test
,则会以mkdir: cannot create directory 'test': No such file or directory
失败。
Documents
文件夹的权限为drwxr-xr-x
。我是文件夹所有者:whoamI = User.Name
,这也是我试图在其中创建子目录的Documents
文件夹的所有者名称(通过运行ls -lh while in /c/Users/User.Name
可以看到(。如果将cd ..
转换为/c/Users/User.Name
和mkdir=test
,则该命令起作用。我是的所有者,在/c/Users/User.Name
和/c/Users/User.Name/Documents
中具有相同的权限。路径/c/Users/User.Name/Documents
是实际路径,我不想通过符号链接访问。
我可以使用Windows资源管理器在/c/users/User.Name/Documents
中手动创建"test
"文件夹,在这种情况下,当我将cd
Documents
时,我可以看到它。如果我尝试用rm -r test
删除它,那么它用rm: cannot remove 'test': Permission denied
失败。文件夹的权限是drwxr-xr-x
,它是我自己的。
我猜我没有正确理解所有权/权限。有人能建议如何解决这个问题吗?我在这里发现了一个类似的问题,他们建议更改文件夹权限,但据我所知,我拥有完全权限并拥有该文件夹:mkdir-doesnt-work-when-im-in-my-documents-but-does-work-when-in-c。
drwxr-xr-x
的权限或多或少地解释了发生了什么。只有所有者才能在该目录中写入,在第一组权限中用w
表示。
要在那里创建一个目录,您可以使用chmod
来更改权限。766将允许每个人读写。这里对Linux权限有很好的描述。
然而,任何chmod
命令都可能失败,因为gitbash终端认为root是documents目录的所有者。要证明这一点,请在上面文档的目录中运行ls -al
以查看所有者。如果root是所有者,则可能需要在mkdir
或chmod
命令之前添加sudo
。或者,您可以更改所有者,这是通过chown
命令完成的,但在Windows中可能会产生意外的后果。