控制显示哪些文件

控制显示哪些文件

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

答案1

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

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

答案2

这是我的别名ls

alias ls="ls --color=auto --hide='*~' --hide='#*#'"

这隐藏了backup.c~和 之类的文件#autosave.h#。 (而且,尽管我固执己见,但我喜欢颜色,所以它也这样做。)

相关内容