表示するファイルの制御


10

私は最近、ファイル名の前にドットを付けることでバックアップファイルを非表示にするように、emacs構成を変更しました。これは私を考えさせました-非表示にするファイルに任意のグロブのリストを使用するようにBash内の動作を変更する簡単な方法はありますか?bashとlsのmanページをすばやくスキャンしても何も表示されませんでした。


lsつまり、たとえば、で始まるignore-すべてのファイル、またはで終わるすべてのファイルを無視します.bakか?
ケビン

はい、できればワイルドカードパターンマッチング、ignore-*。bakなども実行できます
Tim Brigham

回答:


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

あります--ignore=PATTERNによって上書きされない-a-Aオプション。


答えてくれてありがとう。1つだけ質問があります。なぜls --hide=*1 a*何も隠さないのに、3つすべてをリストしているのa-1 a-2 a-3ですか?私はそれが非表示になることを期待していましたa-1か?
sdaau 2014年

1
a*シェルによって展開及び含まれていますa-1。非表示オプションは、引数として明示的に指定されたファイルを無視しません。
ケビン

0

これが私のエイリアスですls

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

これによりbackup.c~、およびのようなファイルが非表示になります#autosave.h#。(そして、私は色が好きなので、色も好きなので、そうします。)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.