我有一个需要像这样执行的 Linux 命令,mv "/var/www/html/website/files/1.pdf" "/var/www/html/website/files/complete/2015.pdf"
该命令在我的本地机器上可以完美运行,在我的服务器上也应该可以,因为目录在那里。我认为问题可能是我的服务器上的 apache 或用户配置不正确,我不知道?有人可以尝试引导我走上正确的道路吗?
澄清一下:问题是:我在服务器上收到目录或文件未找到错误,但在本地机器上没有。两者都有完全相同的目录。(从 git repo 中提取)
答案1
如果命令在一台机器上有效,而在另一台机器上无效,显然它们是不同的,不是相同的。如果您在命令中包含完整的错误信息。
错误消息mv "/var/www/html/website/files/1.pdf" "/var/www/html/website/files/complete/2015.pdf"
的生成取决于错误的具体内容。“没有这样的文件或目录”您指出的错误是在源路径和目标路径中的一个或两个不正确时发生的,但错误消息有细微的差别:
mv:无法统计'/var/www/html/website/files/1.pdf':没有这样的文件或目录
发生这种情况时,原始文件不存在,目录路径 /var/www/html/website/files/ 也不存在。由于源不存在,动量命令立即停止处理。如果目标路径也不正确,您现在将看不到与此相关的错误。
mv:无法将“/var/www/html/website/files/1.pdf”移动到“/var/www/html/website/files/complete/2015.pdf”:没有这样的文件或目录
错误仍然是“没有这样的文件或目录”,但源路径已被引用,因此是正确的,而错误在于目标。
如果问题出在你的权限上,mv 会以不同的方式告诉你:
mv:无法统计'/var/www/html/website/files/1.pdf':没有权限