我在 Windows 域登录环境中的 Windows 7 上安装了 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
Run Code Online (Sandbox Code Playgroud)
我已经尝试以管理员身份运行 Cygwin 终端,问题是一样的。
我对解决方法持开放态度,例如尝试使用另一个 exe 来移动文件并将 mv 命令重定向到它。移动文件在 Windows 命令提示符下工作。
更新:看来我的笔记本电脑上可能存在安全限制,阻止通过名称或启发式访问/复制/执行“mv.exe”程序。仍然愿意接受替代上述 mv 命令的变通方法。
更新 2: Windows 命令行中的屏幕截图以及我在 Windows 中打开 mv.exe 时的屏幕截图。


更新 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]
???> ~ $ >>
Run Code Online (Sandbox Code Playgroud)
ldd 还报告权限被拒绝。
查看文件是否已被 Windows 阻止。
检查properties文件的 ,可能会有提示说This file came from another computer and might be blocked to help protect this computer要检查和取消阻止文件,请按照下列步骤操作: 右键单击被阻止的文件,然后单击Properties。在“常规”选项卡中,Unblock如果该选项可用,请单击。
检查您的防病毒软件是否阻止了该文件。
您可以通过暂时禁用某个文件,然后尝试打开该文件来检查您的防病毒软件是否阻止了该文件。
更新:
Properties。Security选项卡。结果:

更新2:
尝试这个:
Properties。Security选项卡。Advanced。Owner选项卡。Edit。Replace owner on subcontainers and objects。OK。解决方法是重新下载 Cygwin 的 mv.exe 实用程序,将其保存为不同的名称,例如 mvvv.exe(在实际下载之前,因为我无权重命名 mv.exe)。然后,我设置了一个符号链接将 mv 指向 mvvv.exe,这样我就可以正常使用它了。
| 归档时间: |
|
| 查看次数: |
31780 次 |
| 最近记录: |