在UNIX中,许多文件扩展名前面不包含点,例如bashrc
而不是bash.rc
或ssh_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