导致覆盖模式 0555 的原因

导致覆盖模式 0555 的原因

在学习如何编写脚本并仅通过终端工作时,我遇到了有关用以下.jpg消息覆盖的问题:

mv:尝试覆盖 foo.jpg,覆盖模式 0555 (r-xr-xr-r)?

我很好奇:

  1. 什么原因导致出现此错误信息?
  2. 为什么不对每一幅图像都显示该消息,而只对部分图像显示该消息?
  3. 我该如何纠正这个问题?

编辑: 还想知道它们的r-xr-xr-r含义以及如何使用它们。

答案1

您在“文件权限”方面遇到了问题。每个文件都附带一组权限,允许用户读取、写入或执行该文件。

有些用户可以执行所有三项操作 - 读取、写入和执行。但有些则不能。

0555 表示您正在移动的文件尚未为任何用户设置完整的权限集。如果已全部设置为每个人都可以执行所有操作,则数字将是 0777。

这些数字是如何工作的?它们代表可以为您、“组”和所有其他人设置的三位,以便他们访问文件。在二进制算术中,第一个设置的位是 1,下一个是 2,下一个是 4。因此,如果文件对所有人都是可读、可写和可执行的,则为 1+2+4 = 7。

您得到的是 0555,所以您有 1+0+4。因此您的第二位不是为您或组或任何人设置的。因此没有人有权限写入(或移动)该文件。

打开终端并输入“chmod 755 foo.jpg”,然后重试。如果您拥有该文件,这将授予您对该文件的完全权限。如果不起作用,请输入

chown yourname foo.jpg

您应该阅读一些有关 UNIX/LINUX 类型系统的文件权限的资料。这可以使系统更安全,免受病毒和恶意软件等侵害。

相关内容