Mac 怎么显示隐藏文件
想在 Mac 上显示隐藏文件,打开一个访达窗口按 Command + Shift + .(句号)就行,隐藏的项目会变成半透明显示出来,再按一次又藏回去,这个快捷键在访达和大多数打开、存储对话框里都能用,它只改变你看到的东西,不动文件本身。下面再讲一直显示的设置、终端的看法、怎么进 ~/Library,以及哪些隐藏项目可以碰。
三种看的办法
| 想要 | 做法 | 持续多久 |
|---|---|---|
| 在访达里临时看一眼 | Command + Shift + . |
直到再按一次 |
| 让访达一直显示 | 下面的 defaults 命令 |
直到删掉这个设置 |
| 列出名字和标记 | 终端里的 ls -a 或 ls -lO |
只有这一条命令 |
一直显示的设置需要重启访达,它的窗口会关掉再打开:
defaults write com.apple.finder AppleShowAllFiles -bool true
killall Finder
想恢复默认:
defaults delete com.apple.finder AppleShowAllFiles
killall Finder
大多数人用快捷键就够了,一直显示的话,每个文件夹里都会多出 .DS_Store 和 .localized,也更容易拖错或者删错东西。
文件为什么会被隐藏
macOS 隐藏一个项目有两种原因,一种是名字以句号开头,比如 .zshrc,这是 Unix 留下的老规矩,另一种是带了 hidden 标记,~/Library 的名字很普通却看不到,靠的就是这个。终端里 ls -a 两种都能列出来,ls -lO 还会把标记打印出来:
ls -a ~
ls -lO ~ | grep hidden
这个标记也可以自己改,下面这条去掉 ~/Library 的标记,它就会一直显示在个人文件夹里:
chflags nohidden ~/Library
对一个路径执行 chflags hidden 又能把它藏起来,不过它只是不在访达里显示,算不上隐私保护,ls -a 和任何有权限的 App 照样读得到。
怎么进 ~/Library 和其他隐藏文件夹
只想打开某一个文件夹,不用把所有东西都显示出来。在访达里按住 Option 打开「前往」菜单,列表里就会出现「资源库」,其他路径按 Command + Shift + G 打开「前往文件夹」直接输入,比如 ~/.config 或者 /private/var/log。~/Library 下面每个文件夹放什么,可以看 Mac 资源库文件夹里都是什么。
这些隐藏项目都是什么
| 项目 | 是什么 | 能不能删 |
|---|---|---|
.DS_Store |
访达记录的这个文件夹的显示设置 | 可以,访达会写一份新的,这个文件夹的图标位置和视图设置会丢 |
.localized |
一个空标记,让文件夹显示翻译后的名字 | 留着,几乎不占空间 |
~/.Trash |
废纸篓里的东西 | 从访达里清倒废纸篓 |
.zshrc、.zprofile、.gitconfig |
shell 和工具的设置 | 不要删,除非你清楚里面写了什么 |
.ssh、.gnupg |
私钥和已知主机 | 不要删,丢了私钥可能就登不上服务器了 |
~/.npm、~/.cache、~/.cargo、~/.gradle |
开发工具的缓存和依赖包 | 通常可以,优先用工具自己的清理命令 |
/private、/usr、/bin |
操作系统的一部分 | 不要删 |
隐藏文件夹占了好几 GB 的话,大概率是上面那几个开发工具的目录。想看个人文件夹里最大的项目,隐藏的也算在内:
du -hd 1 ~ 2>/dev/null | sort -h | tail -20
跑这条命令时 macOS 可能会问终端能不能读取桌面、文稿等受保护的文件夹,拒绝的话只是这些数字会偏小。
不要这样做
- 不要因为看不懂名字就删掉点开头的文件夹,
.ssh和 App 的配置目录看起来和缓存没什么两样。 - 不要为了省空间跑命令删光全盘的
.DS_Store,它们本来就很小,访达很快又会写回来。 - 如果和不太熟悉电脑的人共用这台 Mac,不要一直开着显示隐藏文件,系统文件被拖走了都不一定能发现。
- 不要指望
chflags hidden能保护隐私内容。
Mole 能帮什么
Mole 的「分析」本身就会列出隐藏项目,不用按快捷键,很大的 ~/.docker 或 ~/.gradle 就排在普通文件夹旁边,大多数点开头的文件夹在列表里图标会暗一些,把鼠标放到一行或者一个方块上,认识的文件夹会有一句话说明里面是什么。要不要移到废纸篓由你从右键菜单决定,访达的「放回原处」可以撤销。磁盘最顶层的几个 Apple 索引文件夹,比如 .Spotlight-V100 和 .fseventsd,不会列在最顶层,~/Library 本身这类目录树的头部,「分析」不让移走,/private 这样的系统区域则根本不列。
常见问题
为什么按 Command + Shift + . 没反应?
先点一下访达窗口,让访达成为当前 App,并且用主键盘上的句号键,所在文件夹本来就没有隐藏项目时也不会有变化,有些 App 用自己画的文件对话框,这个快捷键在里面不起作用。
怎么把隐藏文件再藏回去?
再按一次 Command + Shift + .,如果用的是 defaults 命令,就跑上面的删除命令,再跑 killall Finder。
显示隐藏文件会让 Mac 变慢吗?
不会,它只改变访达在列表里画哪些项目,没有文件被移动或者修改。
隐藏文件可以删吗?
有的可以,有的不行,所以光看名字不够,先弄清楚是谁在用它,优先用那个工具自己的清理命令,要删也先移到废纸篓,不是直接删除,出了问题还能放回去。
打开或存储对话框里怎么显示隐藏文件?
对话框打开时按 Command + Shift + .,隐藏项目会半透明地出现在列表里,可以直接选。