dircolors:_ext(而不是.ext)的规则

dircolors:_ext(而不是.ext)的规则

在UNIX中,许多文件扩展名前面不包含点,例如bashrc而不是bash.rcssh_config而不是ssh.config

_config我也想添加 dircolor 规则。但是,当我添加以下行时:

_config 01;31

我收到错误:dircolors: `/etc/dircolors':126: unrecognized keyword _config

是否可以_ext为 dircolors 添加扩展名?

答案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.

这些文件通常源自修补到您的$HOME/.bashrc和中的这些文件$HOME/.bash_profile,假设您使用 Bash 作为 shell。

$ 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

相关内容