默认情况下,OS X中隐藏了许多系统目录(例如〜/ Library)(即它们未出现在Finder中):
我知道我可以通过GUI执行此操作,但是我想将脚本添加到我的dotfile中,以针对某些系统目录自动执行此操作。
是否可以从命令行删除文件/目录的隐藏标志?
默认情况下,OS X中隐藏了许多系统目录(例如〜/ Library)(即它们未出现在Finder中):
我知道我可以通过GUI执行此操作,但是我想将脚本添加到我的dotfile中,以针对某些系统目录自动执行此操作。
是否可以从命令行删除文件/目录的隐藏标志?
Answers:
.
以显示:
defaults write com.apple.finder AppleShowAllFiles YES; killall Finder
隐藏:
defaults write com.apple.finder AppleShowAllFiles NO; killall Finder
编辑:按照RikerW的建议,要将这些长字符串缩短为一些较短的字符串,请在~/.bash_profile
您喜欢的文本编辑器中添加以下行:
alias showall='defaults write com.apple.finder AppleShowAllFiles YES; killall Finder'
alias hideall='defaults write com.apple.finder AppleShowAllFiles NO; killall Finder'
请注意,您将必须source ~/.bash_profile
使用新的别名来更新Shell。
以显示:
sudo chflags nohidden /path/to/file
隐藏:
sudo chflags hidden /path/to/file
请记住,这将完全删除该hidden
标志。
chflags
如果您是文件的所有者,则可以使用;如果您不是文件的所有者,则sudo
需要使用。
.bash_profile
通常是一个好主意。我有showall
并hideall
设置为隐藏/显示点文件。
chflags nohidden
行不通的案例,但是行之有效的是xattr -c /path/to/file
。隐藏文件的是Finder信息扩展属性。
sudo
确实有必要。