it-swarm-vi.com

CLICOLOR và LS_COLORS trong bash

Tôi có thiết lập sau trong .bashrc để tô màu danh sách.

[.__.] xuất CLICOLOR = 1 [.__.] xuất LS_COLORS = 'no = 00: fi = 00: di = 00; 34: ln = 01; 36: pi = 40; 33: so = 01; 35: do = 01; 35: bd = 40; 33; 01: cd = 40; 33; 01: hoặc = 40; 31; 01: ex = 01; 32: *. tar = 01; 31: *. tgz = 01; 31: *. Arj = 01; 31: *. Taz = 01; 31: *. Lzh = 01; 31: *. Zip = 01; 31: *. Z = 01; 31: *. Z = 01; 31: * .gz = 01; 31: *. bz2 = 01; 31: *. deb = 01; 31: *. rpm = 01; 31: *. jar = 01; 31: *. jpg = 01; 35: *. jpeg = 01; 35: *. gif = 01; 35: *. bmp = 01; 35: *. pbm = 01; 35: *. pgm = 01; 35: *. ppm = 01; 35: *. tga = 01; 35: *. Xbm = 01; 35: *. Xpm = 01; 35: *. Tif = 01; 35: *. Tiff = 01; 35: *. Png = 01; 35: *. Mov = 01; 35: *. Mpg = 01; 35: *. Mpeg = 01; 35: *. Avi = 01; 35: *. Fli = 01; 35: *. Gl = 01; 35: *. Dl = 01; 35: * .xcf = 01; 35: *. xwd = 01; 35: *. ogg = 01; 35: *. mp3 = 01; 35: *. wav = 01; 35: '; [.__.]

Trang web này hiển thị mã cho màu sắc và tôi muốn thay đổi màu thư mục thành 'màu sáng'. Nhưng làm di như sau không ảnh hưởng đến nó.

di = 04; 94

Điều thú vị là ngay cả sau khi tôi nhận xét LS_COLORS, tôi có thể thấy đầu ra màu miễn là tôi có CLICOLOR = 1.

  • Tôi nên làm gì để tạo màu thư mục thành Light blue (94)?
  • Nó là gì cho CLICOLOR và LS_COLORS? Tại sao tô màu hoạt động mà không có LS_COLORS?
51
prosseek

Có một số cách triển khai màu khác nhau cho ls và bạn đã kết hợp một số trong số chúng.

  • Bật FreeBSDMac OS X , ls hiển thị màu nếu biến môi trường CLICOLOR được đặt hoặc nếu -G được truyền vào dòng lệnh. Màu sắc thực tế được định cấu hình thông qua biến môi trường LSCOLORS (mặc định tích hợp được sử dụng nếu biến này không được đặt). Để hiển thị các thư mục có màu xanh nhạt, sử dụng

    export LSCOLORS=Exfxcxdxbxegedabagacad
    
  • Với GNU ls , ví dụ: trên Linux, ls hiển thị màu nếu --color được truyền vào dòng lệnh. Màu sắc thực tế được định cấu hình thông qua LS_COLORS biến môi trường, có thể được đặt bằng lệnh dircolors (mặc định tích hợp được sử dụng nếu biến này không được đặt).

Nó là gì cho CLICOLOR và LS_COLORS? Tại sao tô màu hoạt động mà không có LS_COLORS?

CLICOLOR sẽ bật hoặc tắt màu. LS_COLORS là không bắt buộc và sẽ cho phép bạn tùy chỉnh màu sắc.

Lưu ý rằng trên một số hệ điều hành (như MacOSX và FreeBSD), giá trị được đặt tên LSCOLORS, không phải LS_COLORS.

Tôi tránh cài đặt màu bằng LS_COLORS, vì sau đó tôi cần áp dụng cùng một bảng màu cho hàng trăm máy tính khác nhau và 10 Un * xes khác nhau. Thay vào đó, tôi sửa đổi màu trong chương trình Terminal, hoạt động giống nhau trên hầu hết các máy chủ Unix.

11
Stefan Lasiewski

Nếu bạn muốn một tập lệnh bao bọc cho ls hoạt động trên tất cả các hệ thống, hãy trừu tượng hóa những khác biệt về màu sắc này, v.v. hãy xem: http://www.pixelbeat.org/scripts/l

4
Pádraig Brady