拡張型の特徴的な色を維持しながら、ファイルls --color=auto
がハードリンクのときに下線を引く方法があるかどうか疑問に思います。
たとえば、私がそうした場合
LS_COLORS="*.tgz=01;31:mh=04" ls --color=auto foo.tgz
ファイルは太い赤で表示されますが、そうすると次のようになります。
ln foo.tgz bar.tgz
LS_COLORS="*.tgz=01;31:mh=04" ls --color=auto foo.tgz
これでファイルが白く、下線が引かれているようです。私はそれを太い赤と下線で見たいのですが、もちろん他の拡張と一緒に使用したいです。
ベストアンサー1
みんな修正コマンドを使用すると、ハードリンクされたファイルを太字の赤色で表示できます。
LS_COLORS="*.tgz=01;31:mh=04" ls --color=auto foo.tgz
到着
LS_COLORS="*.tgz=01;31:mh=04;01;31" ls --color=auto foo.tgz
mh=
変数部分はLS_COLORS
ハードリンクファイルを参照します。内側にテーブルもあります。ls
ソースコードドキュメントに見つかりません:
enum indicator_no
{
C_LEFT, C_RIGHT, C_END, C_RESET, C_NORM, C_FILE, C_DIR, C_LINK,
C_FIFO, C_SOCK,
C_BLK, C_CHR, C_MISSING, C_ORPHAN, C_EXEC, C_DOOR, C_SETUID, C_SETGID,
C_STICKY, C_OTHER_WRITABLE, C_STICKY_OTHER_WRITABLE, C_CAP, C_MULTIHARDLINK,
C_CLR_TO_EOL
};
static const char *const indicator_name[]=
{
"lc", "rc", "ec", "rs", "no", "fi", "di", "ln", "pi", "so",
"bd", "cd", "mi", "or", "ex", "do", "su", "sg", "st",
"ow", "tw", "ca", "mh", "cl", NULL
};
04
下線付きのSGRコード(選択されたグラフィック表現)。そして01
うん31
勇敢なそして赤、それぞれ。セクションの変数にこれを追加するmh
他のファイルと同様に、ハードリンクファイルの色を指定できます(または別の番号を選択した場合は異なる)。
ただし、GNUはls
各ファイルに色を付けるために1つのスキームのみを選択します。コロン:
分離方式。ハードリンク(シンボリックリンクやディレクトリを含む)などの特別なカテゴリを確認した後、プログラムはただtgz
これらのカテゴリのいずれも適用されない場合などのサフィックスを見つけます。存在するソースコードつまりコメントです。
/* Check the file's suffix only if still classified as C_FILE. */
プランを選択すると、そのプランを実行し、組み合わせを試みない。