Lệnh dircolors trong Linux

Giới thiệu

Trong lab này, bạn sẽ học cách sử dụng lệnh dircolors trong Linux để tùy chỉnh bảng màu cho danh sách thư mục và tệp trong terminal. Lệnh dircolors đọc một tệp cấu hình chỉ định cài đặt màu cho các loại tệp và loại thư mục khác nhau, thường nằm tại ~/.dircolors hoặc /etc/DIR_COLORS. Bạn sẽ bắt đầu bằng cách hiểu mục đích của lệnh dircolors, sau đó học cách tùy chỉnh màu thư mục và tệp, và cuối cùng là quản lý các tệp cấu hình dircolors.

Tìm hiểu Mục đích của Lệnh dircolors

Trong bước này, bạn sẽ tìm hiểu về mục đích của lệnh dircolors trong Linux. Lệnh dircolors được sử dụng để tùy chỉnh bảng màu cho danh sách thư mục và tệp trong terminal.

Lệnh dircolors đọc một tệp cấu hình chỉ định cài đặt màu cho các loại tệp và loại thư mục khác nhau. Tệp cấu hình này thường nằm tại ~/.dircolors hoặc /etc/DIR_COLORS.

Hãy bắt đầu bằng cách kiểm tra cài đặt màu hiện tại trên hệ thống của bạn:

dircolors --print-database

Ví dụ đầu ra:

## Configuration file for dircolors, a utility to help you set the
## LS_COLORS environment variable used by GNU ls with the --color option.
## Copyright (C) 1996-2022 Free Software Foundation, Inc.
## Copying and distribution of this file, with or without modification,
## are permitted provided the copyright notice and this notice are preserved.
## The keywords COLOR, OPTIONS, and EIGHTBIT (honored by the
## slackware version of dircolors) are recognized but ignored.

## Below, there should be one TERM entry for each termtype that is colorizable
TERM linux
TERM su
TERM xterm
TERM xterm-color
TERM xterm-debian
TERM rxvt
TERM screen
TERM screen-256color
TERM tmux
TERM tmux-256color
TERM vt100
TERM cons25
TERM fbterm
TERM bay
TERM cygwin
TERM dtterm
TERM dvtm
TERM Eterm
TERM eterm-color
TERM foot
TERM gnome
TERM hurd
TERM jfbterm
TERM kitty
TERM konsole
TERM kterm
TERM lxterminal
TERM st
TERM terminator
TERM tmux-256color
TERM vte
TERM vte-256color
TERM xfce4-terminal
TERM alacritty
TERM alacritty-direct
TERM urxvt
TERM urxvt-256color
TERM screen-256color-bce

## Below are the color init strings for the basic file types. A color init
## string consists of one or more of the following numeric codes:
## Attribute codes:
## 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
## Text color codes:
## 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
## Background color codes:
## 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
NORMAL 00 ## global default, although everything should be something.
FILE 00 ## normal file
DIR 01;34 ## directory
LINK 01;36 ## symbolic link
FIFO 33 ## pipe
SOCK 01;35 ## socket
DOOR 01;35 ## door
BLK 01;33 ## block device driver
CHR 01;33 ## character device driver
ORPHAN 01;05;37;41 ## orphaned symlinks
MISSING 01;05;37;41 ## ... and the files they point to
EXEC 01;32 ## executable file

Đầu ra hiển thị cài đặt màu hiện tại cho các loại tệp và loại thư mục khác nhau. Bạn có thể tùy chỉnh các cài đặt này bằng cách sửa đổi tệp cấu hình ~/.dircolors.

Trong bước tiếp theo, bạn sẽ học cách tùy chỉnh màu thư mục và tệp bằng lệnh dircolors.

Tùy chỉnh Màu Thư mục và Tệp

Trong bước này, bạn sẽ học cách tùy chỉnh màu cho thư mục và tệp bằng lệnh dircolors.

Đầu tiên, hãy tạo một tệp cấu hình .dircolors tùy chỉnh trong thư mục ~/project của bạn:

nano ~/.dircolors

Thêm nội dung sau vào tệp:

## Custom dircolors configuration
NORMAL 00
FILE 00
DIR 01;32
LINK 01;36
EXEC 01;33

Cấu hình này đặt các cài đặt màu sau:

  • Tệp thông thường: màu mặc định (00)
  • Thư mục: màu xanh lá cây đậm (01;32)
  • Liên kết tượng trưng: màu xanh lơ đậm (01;36)
  • Tệp thực thi: màu vàng đậm (01;33)

Lưu và thoát tệp.

Bây giờ, hãy áp dụng cài đặt màu mới:

eval $(dircolors ~/.dircolors)

Bây giờ bạn sẽ thấy màu thư mục và tệp thay đổi trong terminal của bạn.

Để thay đổi có hiệu lực vĩnh viễn, bạn có thể thêm lệnh eval $(dircolors ~/.dircolors) vào tệp ~/.bashrc hoặc ~/.zshrc của bạn, tùy thuộc vào shell bạn đang sử dụng.

Hãy xác minh các thay đổi:

ls -l ~/project

Ví dụ đầu ra:

total 0
drwxr-xr-x 2 labex labex 4096 Apr 18 12:34 [1;32mdirectory[0m
-rw-r--r-- 1 labex labex    0 Apr 18 12:34 [0mfile.txt[0m
lrwxrwxrwx 1 labex labex    5 Apr 18 12:34 [1;36msymlink[0m -> file.txt
-rwxr-xr-x 1 labex labex    0 Apr 18 12:34 [1;33mexecutable[0m

Như bạn có thể thấy, thư mục, liên kết tượng trưng và tệp thực thi hiện được hiển thị bằng màu tùy chỉnh mà bạn đã đặt trong tệp .dircolors.

Quản lý Tệp Cấu hình dircolors

Trong bước cuối cùng này, bạn sẽ học cách quản lý các tệp cấu hình dircolors.

Lệnh dircolors đọc các tệp cấu hình để xác định cài đặt màu cho danh sách thư mục và tệp. Tệp cấu hình mặc định nằm tại /etc/DIR_COLORS, nhưng bạn cũng có thể sử dụng tệp cấu hình tùy chỉnh trong thư mục chính của mình (~/.dircolors).

Hãy khám phá các cách khác nhau để quản lý các tệp cấu hình dircolors:

  1. Xem tệp cấu hình trên toàn hệ thống:
cat /etc/DIR_COLORS

Tệp này chứa các cài đặt màu mặc định cho hệ thống.

  1. Tạo tệp cấu hình tùy chỉnh:
nano ~/.dircolors

Bạn có thể tạo một tệp cấu hình tùy chỉnh trong thư mục chính của mình (~/.dircolors) và ghi đè các cài đặt trên toàn hệ thống.

  1. Áp dụng cấu hình tùy chỉnh:
eval $(dircolors ~/.dircolors)

Sau khi tạo tệp cấu hình tùy chỉnh, bạn cần áp dụng các thay đổi bằng lệnh eval.

  1. Làm cho cấu hình tùy chỉnh có hiệu lực vĩnh viễn:
echo 'eval $(dircolors ~/.dircolors)' >> ~/.bashrc

Để làm cho cấu hình tùy chỉnh có hiệu lực vĩnh viễn, bạn có thể thêm lệnh eval vào tệp khởi động shell của bạn (ví dụ: ~/.bashrc hoặc ~/.zshrc).

Bây giờ, hãy xác minh rằng cấu hình tùy chỉnh đang được sử dụng:

ls -l ~/project

Màu thư mục và tệp sẽ phản ánh các cài đặt tùy chỉnh mà bạn đã xác định trong tệp ~/.dircolors.

Tóm tắt

Trong lab này, bạn sẽ tìm hiểu về mục đích của lệnh dircolors trong Linux, được sử dụng để tùy chỉnh bảng màu cho danh sách thư mục và tệp trong terminal. Bạn cũng sẽ học cách tùy chỉnh màu thư mục và tệp, cũng như quản lý các tệp cấu hình dircolors. Lab bao gồm tìm hiểu mục đích của lệnh dircolors, tùy chỉnh màu thư mục và tệp, và quản lý các tệp cấu hình dircolors.

400+ câu lệnh phổ biến trong Linux