控制要显示的文件

Tim*_*ham 10 ls

我最近更改了我的 emacs 配置,通过在文件名前添加一个点来隐藏备份文件。这让我开始思考 - 是否有一种现成的方法可以更改 Bash 中的行为,以使用任意 glob 列表来隐藏哪些文件?快速扫描 bash 和 ls 手册页没有发现任何内容。

Kev*_*vin 9

ls有一个--hide=PATTERN选项,它看起来像你想要的那样,并且可以被覆盖以使用-a或来显示它们-A。如果您希望这自动发生,请在您的~/.bashrc(或者,在可能的情况下,已经有别名的情况下,将其添加到该别名中)。

$ touch {a,b,c}-{1,2,3}
$ ls
a-1  a-2  a-3  b-1  b-2  b-3  c-1  c-2  c-3
$ ls --hide=a*
b-1  b-2  b-3  c-1  c-2  c-3
$ ls --hide=*1
a-2  a-3  b-2  b-3  c-2  c-3
$ ls --hide=a*1
a-2  a-3  b-1  b-2  b-3  c-1  c-2  c-3
$ ls --hide=a*1 -A
a-1  a-2  a-3  b-1  b-2  b-3  c-1  c-2  c-3
Run Code Online (Sandbox Code Playgroud)

还有一个--ignore=PATTERN没有被-a-A选项覆盖。