ls --color=auto、デフォルトでは --color=always がありますが、なぜそのようなオプションを提供しますか?

ls --color=auto、デフォルトでは --color=always がありますが、なぜそのようなオプションを提供しますか?

からman ls

With --color=auto,
       ls emits color codes only when standard output is connected to a terminal.

ちょうど好奇心。標準出力が端子に接続されていない場合、色を放出するとどのような影響がありますか?

色を出すには追加の計算が必要なので、stdoutが端末に接続されていない場合は必要ありません。いくつかの計算を保存できますか?

答え1

今理解しています。

色を説明するいくつかの追加のテキストが出力color codesされ、通常は端末で使用されます。ls --color=always

ただし、場合は、ls --color=always > test.txt色を説明する追加のテキストが保持され、保存されます。

たとえば、両方のファイルをls --color=always > file1.txt開くと、違いを確認できます。ls --color=auto > file2.txtnano

関連情報