web-dev-qa-db-ja.com

`ls`で色をオフにする方法は?

通常、lsgrepなどからのカラー出力があるのはいいことですが、それを望まない場合(結果を別のコマンドにパイプしているスクリプトなど)、それをオフにできるスイッチはありますか? ls -Gは、それがデフォルトではない場合にオンにします(someBSD派生バージョンのlsを使用)。ただし、ls +Gはオフにしません。他に何かありますか?

51
iconoclast

lsのカラー出力は、通常、最近のほとんどのディストリビューションでエイリアスを通じて有効になっています。

$ alias ls
alias ls='ls --color=auto'

エイリアスの前にバックスラッシュを付けることで、いつでも一時的にエイリアスを無効にすることができます。

$ \ls

上記を実行すると、この1回の呼び出しのためだけにエイリアスが短絡します。エイリアスを無効にしたいときにいつでも使用できます。

74
slm

GNU lsを使用すると、ls --color=neverを指定してカラー出力を明示的に無効にすることができます(alias ls='ls --color=auto'がある場合でも、ls --color=neverls --color=auto --color=neverに展開され、後のオプションが優先されます。)

28
200_success

(DOSの場合と同様に)単に使用することもできます。

dir

結果は色なしで表示されます。-lのように、lsに同じ引数を追加できます。

3
esilence

多くのLinuxディストリビューションでは、これはユーザーのデフォルトでオンになっています.bashrc

編集~/.bashrcと次のような行を削除します。

alias ls='ls --color=auto'

今後このマシンで生成されるすべての新しいアカウントでこの機能を無効にする場合は、次の行から同じ行を削除してください:

/etc/skel/.bashrc 
2
James Aanderson

Centos7では、これは/etc/profile.d/colorls.sh ...このスクリプトの最後の3行は次のとおりです。

alias ll='ls -l --color=auto' 2>/dev/null
alias l.='ls -d .* --color=auto' 2>/dev/null
alias ls='ls --color=auto' 2>/dev/null

あなたが欲望と許可を持っている場合...不要な行をコメントアウトするとうまくいくはずです。

2
James Gawron
alias ls=ls

または

unalias ls

これにより、カラーリングが永久に無効になります。

2
Slyx

コマンドを使用する

unalias ls

これにより、セッション中に標準lsを使用するように強制されます

1
bobk

何か他のことが起こっている可能性があります。 lsは、インタラクティブなものに接続されていると思わない限り、色を使用しないでください。別のプログラムにパイプしたときに、色付けされるべきではありません。

エイリアスは一般に悪い考えです。そのオプションを取り除くことはできず、作業しなければならない他のマシンに持ち込めない個人設定に慣れるからです。それをオフにして他の何かにパイプする必要がある場合は、そのパイプのスイッチを使用します。しかし、色はパイプの中にあるべきではありません。

lsについては、LS_COLORS環境変数をサポートしているかどうかを確認してください。 trapd00r/LS_COLORS は、それがどのように機能するかを示します。 dircolors を使用すると、色を細かく、ファイルタイプごとに調整できます。 LS_COLORSを設定せずにカラーリングをオンにしている場合、lsは一連のシステムコールを実行して、ファイルタイプと属性を把握し、何にカラーを適用するかを判断します。 Sherlockの背後にいる人々は、LS_COLORSを設定することですべてを回避でき、 速度が40倍向上 を実現できることを発見しました。彼らの残酷な詳細を読んで、彼らが見つけたものを見てください。

すべてのファイルタイプでデフォルトの色を使用するようにします。

$ export LS_COLORS='bd=0:ca=0:cd=0:di=0:do=0:ex=0:pi=0:fi=0:ln=0:mh=0:no=0:or=0:ow=0:sg=0:su=0:so=0:st=0:tw=0:'

これが私がdircolorsに提供したLS_COLORSファイルです。

BLK                   0
CAPABILITY            0
CHR                   0
DIR                   0
DOOR                  0
EXEC                  0
FIFO                  0
FILE                  0
LINK                  0
MULTIHARDLINK         0
NORMAL                0
Orphan                0
OTHER_WRITABLE        0
SETGID                0
SETUID                0
SOCK                  0
STICKY                0
STICKY_OTHER_WRITABLE 0

grepについては、GREP_COLORSまたはGREP_OPTIONSがサポートされているかどうかを確認してください。

0
brian d foy

色をオフにするには: unalias ls

色をオンにするには:エイリアスls = 'ls --color = auto'

色を一時的に無効にするには:\ls -ltr

0
Ravichandran K