如何在 OS X 中创建隐藏文件或文件夹?

如何在 OS X 中创建隐藏文件或文件夹?

我需要在 OS X 中创建超级隐藏文件夹。

在 Windows 中,可以创建超级隐藏文件夹,例如使用

attrib +s +h Hidden

“隐藏”文件夹将被隐藏。

OS X 中是否有任何命令可以创建隐藏文件夹?

答案1

以点为前缀

与所有 Unix/Linux 系统一样,以点开头的文件通常隐藏在桌面管理器(即 Finder)和通过 shell ( ls) 完成的“常规”文件夹列表中。但是,使用 列出文件夹内容ls -a会显示这些文件。

例如,正常列表:

charon:portal werner$ ls -l
total 56
-rw-r--r--@  1 werner  staff   920 Aug 17 12:58 Gemfile

…并使用“全部”选项:

charon:portal werner$ ls -la
total 96
drwxr-xr-x  25 werner  staff    850 Sep 14 16:08 .
drwxr-xr-x@  9 werner  staff    306 Jun 15 14:57 ..
-rw-r--r--@  1 werner  staff  12292 Sep 20 15:46 .DS_Store
drwxr-xr-x  15 werner  staff    510 Sep 28 22:24 .git
-rw-r--r--   1 werner  staff     51 Aug 17 13:38 .gitignore
-rw-r--r--@  1 werner  staff    920 Aug 17 12:58 Gemfile

OS X 中的 Finder 还可以通过输入以下内容显示被点前缀隐藏的文件和文件夹:

defaults write com.apple.finder AppleShowAllFiles TRUE
killall Finder

显然,这可以通过交换TRUE来实现逆转。FALSE


更改“隐藏”标志

您可以使用以下命令更改文件或文件夹的“隐藏”标志:

chflags hidden some-file
chflags nohidden some-file

如上所述,使用标志隐藏文件显然只会将其隐藏在 Finder 本身中。您仍然可以使用 查看该文件ls。如果您想查看哪些文件是真正隐藏的,可以使用 检查这些标志ls -lO

charon:~ werner$ ls -lO
total 0
drwxr-xr-x  11 werner  staff  -       374 May 13 16:43 Binaries
drwx------+  8 werner  staff  -       272 Sep 30 09:48 Desktop
drwx------+ 10 werner  staff  -       340 Sep 25 21:38 Documents
drwx---r-x+ 11 werner  staff  -       374 Sep 30 15:46 Downloads
drwx------@ 18 werner  staff  -       612 Sep 30 14:02 Dropbox
drwx------+ 53 werner  staff  -      1802 Sep 29 20:04 Library
drwx------+  6 werner  staff  -       204 Sep 25 21:38 Movies
drwx------+  8 werner  staff  -       272 Sep 25 21:38 Music
drwx------@ 12 werner  staff  hidden  408 Sep 26 10:31 Pictures
drwxr-xr-x+  6 werner  staff  -       204 Sep 25 21:38 Public
drwxr-xr-x@  5 werner  staff  hidden  170 Sep 25 21:38 Sites

这将使所有从 Finder 中隐藏的文件都显示“隐藏”。


当然,您仍然可以打开其中任何一个文件。

  • 通过终端输入

    open some-file
    
  • 在 Finder 中,转到前往 » 前往文件夹…,并输入完整路径。

没有“真正”的方法可以永久隐藏文件,甚至无法将其隐藏在 shell 中。至少对于无法访问 shell 的用户来说,这些文件是不可见的。


对其他用户隐藏文件夹

您可以对系统上的其他用户隐藏整个文件夹。通过键入以下内容,将其权限设置为您自己的完全访问权限并删除其他人的权限:

chmod 700 some-folder

该文件夹将不可见,其他用户无法读取,但这不是一个非常实用的事情。

答案2

hidden您可以通过添加标志来隐藏 OS X 中的任何文件夹或文件。

chflags hidden /path/to/folder/

并再次展示它

chflags nohidden /path/to/folder/

答案3

我不确定它们是否有与 Windows 系统文件属性对应的属性(+S 代表)

更多详情请阅读:http://www.westwind.com/reference/os-x/invisibles.html

“在 Mac OS X 中,有三种不同的方法可以使文件或目录在 Finder 中不可见:可以设置“不可见”属性(如在较旧的 Mac OS 系统中),其名称可以以“。”开头(如在其他 unix 系统中),或者其名称可以列在 /.hidden 文件中。上面列出的许多文件和目录实际上由于多种原因而不可见(例如,/bin 列在 /.hidden 中,并且具有其不可见属性)。

请注意,OS X 仅尊重其启动卷上的 .hidden 文件,因此如果您从另一个磁盘启动,几个通常隐藏的文件将突然可见。此外,由于 Mac OS 9(及更早版本)仅识别不可见标志,因此当您启动到 Mac OS 9 时,更多这些文件(主要是 /.vol、/mach、/mach.sym,有时还有 .DS_Store)将可见。

答案4

补充一下@slhck的回答,你可以用隐写术工具将文件夹隐藏在另一个文件中,然后使用此处提到的方法隐藏/加密该文件。即使某些文件管理器/浏览器能够找到隐藏文件,隐藏文件夹也不会显示。

这里这是关于隐写术工具的超级用户问题。

相关内容