web-dev-qa-db-ja.com

lsのように、ディレクトリをファイル/ディレクトリの色にするにはどうすればよいですか?

Ubuntu 18.04を実行していますが、習慣としてlsではなくdirを入力することに慣れています。 lsを使用すると、予想どおり、ファイルとディレクトリのディレクトリの内容が異なる色で一覧表示されますが、dirと入力すると、色なしで同じものが表示されます。 dirでlsが使用する色を使用するか、可能な手段でそれ自体をエミュレートしようとしています。これらの試みは失敗しました:

  • dircolors
  • .bashrcでディレクトリをlsにエイリアスする
  • Dirコマンド/エイリアスの場所を見つけようとしています(見つけられず、その場所を探し回る運もありませんでした)
  • 私の.bashrcに「dir --color = always」と「dir --color = auto」を入れると、1回は動作しますが、その後の呼び出しは動作しません
1
aklingam

次の行をdir --colorに追加することにより、dirを.bashrcにエイリアスできます。

alias dir="dir --color"

dir --color=alwaysだけを追加してもエイリアスは作成されませんが、新しいログインシェルを開始するときにコマンドが実行されます。

.bashrcファイルを変更した後、端末を再起動する必要もあります。

source ~/.bashrc

注:dir --color=alwaysdir --colorは同等です。 color paramの省略時のデフォルト値は、alwaysです。

2
Dan

こんにちは、Ask Ubuntuへようこそ!

man dirは以下を指します:

--color[=WHEN]
              colorize the output; WHEN can be 'always' (default if omitted), 'auto', or 'never'; more info below

したがって、あなたは正しく考えたようにフラグ--colorを探しています。

事実、commanddir --color.bashrcに入れるべきではありませんが、新しいエイリアスを作成する必要があります。

alias dir='dir --color'

また、私のシステムでは、dir色はlsとまったく同じです。

1
Mr Shunz

Lsの色サポートを有効にし、別のエイリアスのハンドルを追加するには、デフォルトの色として手動を追加できます。

if [ -x /usr/bin/dircolors ]; then

    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    alias dir='dir --color=auto'

fi

お役に立てれば。