mkdir失败,尽管目录存在,而且我似乎有写权限

  • 本文关键字:权限 存在 失败 mkdir git-bash mkdir
  • 更新时间 :
  • 英文 :


我在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.Namemkdir=test,则该命令起作用。我是的所有者,在/c/Users/User.Name/c/Users/User.Name/Documents中具有相同的权限。路径/c/Users/User.Name/Documents是实际路径,我不想通过符号链接访问。

我可以使用Windows资源管理器在/c/users/User.Name/Documents中手动创建"test"文件夹,在这种情况下,当我将cdDocuments时,我可以看到它。如果我尝试用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是所有者,则可能需要在mkdirchmod命令之前添加sudo。或者,您可以更改所有者,这是通过chown命令完成的,但在Windows中可能会产生意外的后果。

相关内容

最新更新