3

我知道如何在终端中显示和隐藏隐藏文件 - 但是有没有办法在显示隐藏文件时隐藏某些文件,如 .DS_STORE?让某些文件超级隐藏,可以这么说吗?

4

4 回答 4

7

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 标志的程序。

于 2009-02-07T10:04:09.030 回答
3

为了跟进@ibz 的回答,别名可以正常工作,但您可能希望制作一个带有参数的shell 脚本以获得更多的灵活性。

#!/bin/bash

/bin/ls $@ | grep -v .DS_Store 

在 ~/bin 中创建上述内容并将其命名为lvchmod 755 ,并记住将 ~/bin 添加到 .bash_profile 中的路径中

export PATH=~/bin:$PATH

您也可以命名它ls,只要您将 ~/bin 首先放在 PATH 中并在脚本中使用 /bin/ls 的完整路径,这样您就不会得到递归解释。每当您想使用 realls时,您都需要指定完整路径。

于 2008-12-26T15:55:10.777 回答
2

要跟进@tvanfosson 的答案,脚本可以正常工作,但您可以通过在 .bashrc 中定义一个函数来使其更简单。:)

function lv { ls $@ | grep -v .DS_Store; }
于 2008-12-26T16:05:48.043 回答
1

在你的 .bashrc 中做这样的事情

alias lv="ls -al | grep -v .DS_Store"

现在使用 lv 代替 ls 来查看所有文件(包括隐藏文件),但不包括 .DS_Store。

于 2008-12-26T15:45:53.213 回答