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

Ben*_*son 4 macos

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

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

attrib +s +h Hidden
Run Code Online (Sandbox Code Playgroud)

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

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

slh*_*hck 13

以点为前缀

与所有 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
Run Code Online (Sandbox Code Playgroud)

......并使用“全部”选项:

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
Run Code Online (Sandbox Code Playgroud)

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

defaults write com.apple.finder AppleShowAllFiles TRUE
killall Finder
Run Code Online (Sandbox Code Playgroud)

显然,这可以通过交换TRUE为来逆转FALSE


更改“隐藏”标志

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

chflags hidden some-file
chflags nohidden some-file
Run Code Online (Sandbox Code Playgroud)

如上所述,隐藏带有标志的文件显然只会对 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
Run Code Online (Sandbox Code Playgroud)

这将在 Finder 隐藏的所有文件上显示“隐藏”。


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

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


对其他用户隐藏文件夹

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

chmod 700 some-folder
Run Code Online (Sandbox Code Playgroud)

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


小智 6

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

chflags hidden /path/to/folder/
Run Code Online (Sandbox Code Playgroud)

并再次展示

chflags nohidden /path/to/folder/
Run Code Online (Sandbox Code Playgroud)


All*_*man 0

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

在这里阅读更多信息:http://www.westwind.com/reference/os-x/invisibles.html

“在 Mac OS X 中,可以通过三种不同的方式使文件或目录在查找器中不可见:它可以设置“不可见”属性(与旧版 Mac OS 系统中一样),其名称可以以“.”开头(与其他 UNIX 系统一样),或者它的名称可以列在 /.hidden 文件中。上面列出的许多文件和目录实际上由于多种原因是不可见的(例如 /bin 列在 /.hidden 中,并且具有其不可见属性集)。

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