我知道如何在终端中显示和隐藏隐藏文件 - 但是有没有办法在显示隐藏文件时隐藏某些文件,如 .DS_STORE?让某些文件超级隐藏,可以这么说吗?
4 回答
chflags
与隐藏选项一起使用
即:chflags hidden fileToHide
从 Finde 隐藏文件
并chflags nohidden fileToHide
显示文件
请记住手册页中的警告:
只有有限数量的实用程序可以识别 chflags。其中一些工具包括 ls(1)、cp(1)、find(1)、install(1)、dump(8) 和 restore(8)。特别是当前不支持 chflags 的工具是 pax(1) 实用程序。
这意味着虽然您不会在 Finder 或打开/保存对话框中看到它,但终端仍然会看到它,并且可能还会看到其他不尊重 BSD 标志的程序。
为了跟进@ibz 的回答,别名可以正常工作,但您可能希望制作一个带有参数的shell 脚本以获得更多的灵活性。
#!/bin/bash
/bin/ls $@ | grep -v .DS_Store
在 ~/bin 中创建上述内容并将其命名为lv
chmod 755 ,并记住将 ~/bin 添加到 .bash_profile 中的路径中
export PATH=~/bin:$PATH
您也可以命名它ls
,只要您将 ~/bin 首先放在 PATH 中并在脚本中使用 /bin/ls 的完整路径,这样您就不会得到递归解释。每当您想使用 realls
时,您都需要指定完整路径。
要跟进@tvanfosson 的答案,脚本可以正常工作,但您可以通过在 .bashrc 中定义一个函数来使其更简单。:)
function lv { ls $@ | grep -v .DS_Store; }
在你的 .bashrc 中做这样的事情
alias lv="ls -al | grep -v .DS_Store"
现在使用 lv 代替 ls 来查看所有文件(包括隐藏文件),但不包括 .DS_Store。