如果这个问题看起来愚蠢,我深感抱歉,但我似乎在任何地方都找不到答案。
我需要在学校电脑上重置我的主目录,因此我将重要文件复制到 USB 上,但当我将 USB 内容复制回电脑以确保正确复制时,我注意到在我的一个项目中,当我使用 ls 时,目录会以黄色背景和黑色文本突出显示,而不是通常显示的浅蓝色。这是什么意思?在让他们从我的主目录中删除原始文件之前,我想确保这不是问题。
我在 iTerm2 中使用 oh-my-zsh,使用默认主题,运行 OSX Sierra。我添加了图片,以便您可以看到我所指的内容。出于某种原因,它只在 1 个项目上执行此操作,我似乎无法弄清楚原因。
正常 LS 颜色:
‘突出显示’ 的目录名称:
编辑-添加ls -la
输出、file *
输出和echo $LSCOLORS
输出
ls -la
输出:
echo $LSCOLORS
输出(两者相同):
file *
输出(两者相同):
答案1
这是因为rwxrwxrwx
您副本中的每个目录和每个文件都设置了权限。这可能是因为:
- 您的 USB 上的文件系统不支持 Unix 方式的权限和所有权;
- 或者它是以一种覆盖此的方式安装的;
- 或者您以不保留权限的方式复制了文件和目录(研究
cp -a …
)。
相比于这个问题并在那里发表评论。特别是:
如果您将文件保存在 tarball 中,则可以保留所有 ext4 文件系统元数据。您不会丢失任何东西。
它说的是ext4
(您可能使用了其他文件系统)但情况类似。我认为从原始文件/目录创建的 tarball 是最好的解决方案。
rwxrwxrwx
意味着每个用户都可以修改这些文件和目录,因此在多用户环境中这是一个大问题。此外,ssh
如果某些文件可供其他用户访问,某些程序(例如)可能会拒绝运行。