在UNIX中隐藏文件或目录

  • 本文关键字:隐藏文件 UNIX unix
  • 更新时间 :
  • 英文 :


我是UNIX新手。我想在文件夹上创建一些权限。我在一个目录中创建了一个文件,现在我想为所有用户隐藏它。我做不到。请帮忙。

Unix上没有hidden属性。但按照惯例,所有以点.开头的文件或目录都被认为是隐藏的。比如.gitconfig。Shells和ls尊重这一约定,因此

cat *

不打印"点文件"和

ls

不列出"点文件"。

"隐藏"是什么意思?如果希望用户无法看到文件的内容,请执行chmod -r file。如果他们列出了目录,他们仍然可以看到文件的任何链接。(请记住,可能有不同名称的文件链接,但由于用户没有读取权限,通过其中任何一个链接访问文件都将失败。)如果您希望链接(也称为"文件名")在某人列出目录时不出现,请删除对该目录的读取权限。由于您的问题表明您希望在目录(有时被错误地称为"文件夹")上创建权限,因此您可能想要后者。但是,删除目录上的读取权限并不会使文件的内容不可访问,如果有人知道目录中文件的名称,他们就可以访问该文件。简而言之,如果你有一个名为"/p/a/t/h/foo"的文件,并且你想确保除根用户外,没有用户可以看到名称foofoo的内容,你可以这样做:

chmod -r /p/a/t/h       # Make the directory unreadable
chmod -r /p/a/t/h/foo   # Make the file unreadable

请注意,删除目录上的读取权限会使目录中的所有文件名都不可读,但这是使用传统访问权限可以获得的最佳粒度。如有必要,将您感兴趣的文件放在其自己的子目录中,以获得更好的控制。

只需添加一个"。"到文件名的开头几乎没有任何作用。按照惯例(最初是一个bug),ls不会显示以.开头的文件名,但这些文件以ls -a列出,因此这可能不是您想要的。

最新更新