在 Windows 7 Cygwin 中使用 mv 时权限被拒绝

在 Windows 7 Cygwin 中使用 mv 时权限被拒绝

我在 Windows 7 上的 Windows 域登录环境中安装了 Cygwin。我可以毫无问题地运行大多数典型命令,但我无论如何都无法使用“mv”命令来移动或重命名文件,无论是文件还是目录。

我可以毫无问题地复制和创建文件。

┌─[12:27:57]─[mbutl2@MYHOSTNAME]
└──> tmp $ >> pwd
/tmp
┌─[12:27:58]─[mbutl2@MYHOSTNAME]
└──> tmp $ >> touch test.txt
┌─[12:28:02]─[mbutl2@MYHOSTNAME]
└──> tmp $ >> mv test.txt hello
-bash: /usr/bin/mv: Permission denied

我已经尝试运行 Cygwin 终端行政人员问题是一样的。

我愿意尝试其他解决方法,例如尝试使用另一个 exe 移动文件并将 mv 命令重定向到它。移动文件在 Windows 命令提示符下有效。

更新:看来我的笔记本电脑上可能存在安全限制,阻止通过其名称或启发式方法访问/复制/执行“mv.exe”程序。仍然愿意接受如上所述替代 mv 命令的解决方法。

更新2: 在 Windows 命令行中以及在 Windows 中打开 mv.exe 时的屏幕截图。

Windows 命令提示符

在此处输入图片描述

更新 3:命令输出file

┌─[12:36:09]─[mbutl2@MYHOSTNAME]
└──> ~ $ >> file /usr/bin/mv
/usr/bin/mv: writable, executable, regular file, no read permission
┌─[12:36:15]─[mbutl2@MYHOSTNAME]
└──> ~ $ >> chmod 777 /usr/bin/mv
chmod: changing permissions of `/usr/bin/mv': Permission denied
┌─[✗]─[12:36:29]─[mbutl2@MYHOSTNAME]
└──> ~ $ >> mv
-bash: /usr/bin/mv: Permission denied
┌─[✗]─[12:36:35]─[mbutl2@MYHOSTNAME]
└──> ~ $ >>

ldd还报告权限被拒绝。

答案1

  • 查看该文件是否已被Windows阻止。

    检查properties文件的,可能会出现一条提示,提示“This file came from another computer and might be blocked to help protect this computer要检查并解除文件阻止,请按照以下步骤操作:右键单击被阻止的文件,然后单击Properties。在常规选项卡中,Unblock如果该选项可用,请单击。

  • 检查您的防病毒软件是否阻止了该文件。

    您可以通过暂时禁用文件,然后尝试打开文件来检查防病毒软件是否阻止了该文件。


更新:

  1. 右键单击文件或文件夹,然后单击Properties
  2. 单击该Security选项卡。
  3. 在组或用户名下单击您的姓名以查看您拥有的权限。
  4. 单击“编辑”,然后选中所需权限的复选框,然后单击“确定”。

结果:

在此处输入图片描述


更新 2

尝试这个:

  • 右键单击,选择Properties
  • 单击该Security选项卡。
  • 点击Advanced
  • 单击该Owner选项卡。
  • 将所有者更改为您自己。
  • 点击Edit
  • 查看Replace owner on subcontainers and objects
  • 点击OK

答案2

解决方法是重新下载 Cygwin 的 mv.exe 实用程序,将其另存为其他名称,例如 mvvv.exe(在实际下载之前,因为我无权重命名 mv.exe)。然后,我设置了一个符号链接,将 mv 指向 mvvv.exe,以便可以正常使用它。

答案3

如果您的磁盘上的 mv.exe 出现问题,我会尝试:

  • 卸载 Cygwin
  • 校验
  • 确认 mv.exe 及其整个文件夹已被删除
  • 重新安装 Cygwin

[编辑]

你说你的防病毒软件是 McAfee,在我看来它是所有防病毒产品中最有问题的产品之一。

我建议禁用 McAfee 中的实时保护,看看问题是否消失。如果问题消失,我个人的建议是卸载 McAfee 并安装其他侵入性较小的防病毒产品。

相关内容