dircolors:_extの規則(.extの代わりに)

dircolors:_extの規則(.extの代わりに)

UNIXでは、多くのファイル拡張子の前にドットは含まれていませんbashrcbash.rcssh_configssh.config

_configまた、dircolorルールを追加したいと思います。しかし、次の行を追加すると:

_config 01;31

エラーが発生します。dircolors: `/etc/dircolors':126: unrecognized keyword _config

_extdircolorsに拡張機能を追加できますか?

答え1

を使用してこれを行うことができます*_config 01;31

からman 5 dir_colors

*extension color-sequence
    Specifies the color used for any file that ends in extension.

.extension color-sequence
    Same as *.extension. Specifies the color used for any file that ends
    in .extension. Note that the period is included in the extension, which
    makes it impossible to specify an extension not starting with a period,
    such as ~ for emacs backup files. This form should be considered obsolete.

答え2

@Mattが修正したとおりに機能しますdir_colors。これを行うには、いくつかの場所のいずれかに同様の行を追加する必要があります。

  • /etc/DIR_COLORS
  • $HOME/.dircolors

マニュアルページから抜粋

found in a system default shell initialization file, like /etc/profile or 
/etc/csh.cshrc.  (See  also  dircolors(1).)   Usually, the file used here is 
/etc/DIR_COLORS and can be overridden by a .dir_colors file in one's home 
directory.

Bashをシェルとして使用すると仮定すると、これらのファイルは通常、およびにパッチが適用された$HOME/.bashrcファイルから生成されます。$HOME/.bash_profile

$ ls -l /etc/profile.d/|grep colorls
-rw-r--r--. 1 root root 1133 Nov  3  2010 colorls.csh
-rw-r--r--. 1 root root 1143 Nov  3  2010 colorls.sh

コピーを話すために行を追加する場合$HOME/.dircolors

_config 01;31

その後、次のコマンドを使用して環境を更新できます。

$ source /etc/profile.d/colorls.sh

その後、環境に変更が含まれていることを確認できます。

$ env|grep -o '*_config=01;31'
*_config=01;31

最後に、変更が機能しているかどうかをテストできます。

$ touch afile_config
ls -l afile_config

              lsによるss出力

関連情報