默认情况下,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确实有必要。