Có thể có một cái gì đó khác đang diễn ra. ls
không nên sử dụng màu sắc trừ khi nó nghĩ rằng nó được kết nối với một cái gì đó tương tác. Nó không nên tô màu mọi thứ khi bạn chuyển sang chương trình khác.
Một bí danh nói chung là một ý tưởng tồi bởi vì bạn không bao giờ có thể thoát khỏi tùy chọn đó và bạn đã quen với các cài đặt cá nhân mà bạn có thể không thể mang theo bên mình đến một số máy khác mà bạn phải làm việc. Nếu bạn cần tắt nó để chuyển nó sang một cái gì đó khác, hãy sử dụng công tắc trong đường ống đó. Nhưng, màu sắc không nên có trong một đường ống.
Để ls
xem, nếu bạn hỗ trợ LS_COLORS
biến môi trường. Các trapd00r / LS_COLORS show cho bạn cách THT hoạt động. dircolors cho phép bạn điều chỉnh màu sắc một cách tinh tế và theo từng loại tệp. Nếu bạn không cài đặt LS_COLORS
nhưng bật màu, ls
sẽ thực hiện một loạt các lệnh gọi hệ thống để tìm ra các loại tệp và thuộc tính để nó có thể tìm ra những gì cần tô màu mọi thứ. Những người đứng sau Sherlock nhận thấy rằng thiết lập LS_COLORS
có thể tránh được tất cả những điều đó và giúp cải thiện tốc độ 40 lần . Đọc chi tiết tin đồn của họ để xem những gì họ tìm thấy.
Tôi làm cho tất cả các loại tệp sử dụng màu mặc định:
$ export LS_COLORS='bd=0:ca=0:cd=0:di=0:do=0:ex=0:pi=0:fi=0:ln=0:mh=0:no=0:or=0:ow=0:sg=0:su=0:so=0:st=0:tw=0:'
Đây là tệp LS_COLORS mà tôi đã cung cấp cho dircolors:
BLK 0
CAPABILITY 0
CHR 0
DIR 0
DOOR 0
EXEC 0
FIFO 0
FILE 0
LINK 0
MULTIHARDLINK 0
NORMAL 0
ORPHAN 0
OTHER_WRITABLE 0
SETGID 0
SETUID 0
SOCK 0
STICKY 0
STICKY_OTHER_WRITABLE 0
Đối với grep
, xem nếu bạn hỗ trợ GREP_COLORS
hoặc GREP_OPTIONS
.
ls
vàgrep
khi đường ống, bạn không cần phải làm gì cả vì--color=auto
đã tắt màu khi đầu ra của nó là một đường ống, hoặc trên thực tế là bất cứ thứ gì ngoại trừ một tty; đó là "tự động" nghĩa là gì. Tương tự FreeBSDls -G
hoặc 'CLICOLOR' bị 'vô hiệu hóa nếu đầu ra không được hướng đến một thiết bị đầu cuối trừ khi ... CLICOLOR_FORCE ...'.