CLICOLOR และ LS_COLORS ในทุบตี


48

ฉันมีการตั้งค่าต่อไปนี้ใน. bashrc สำหรับระบายสีรายชื่อ

ส่งออก CLICOLOR = 1
ส่งออก 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: หรือ = 40; 31; 01: อดีต = 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:. * รอบต่อนาที = 01; 31:. * ขวด = 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:. * ดล = 01; 35:. * xcf = 01; 35:. * xwd = 01. 35: * OGG = 01; 35:. *. mp3 = 01; 35: * WAV = 01; 35:. ';

ไซต์นี้แสดงรหัสสำหรับสีและฉันต้องการเปลี่ยนสีไดเรกทอรีเป็น `สีอ่อน ' แต่การทำ di ดังต่อไปนี้จะไม่มีผลกับมัน

ดิ = 04; 94

สิ่งที่น่าสนใจคือแม้หลังจากที่ฉันแสดงความคิดเห็น LS_COLORS แล้วฉันสามารถดูผลลัพธ์ที่มีสีได้ตราบใดที่ฉันมี CLICOLOR = 1

  • ฉันควรทำอย่างไรเพื่อให้สีของไดเรกทอรีเป็นสีฟ้าอ่อน (94)
  • CLICOLOR และ LS_COLORS คืออะไร ทำไมการระบายสีจึงใช้งานได้โดยไม่มี LS_COLORS

คำตอบ:


53

มีการใช้สีที่แตกต่างกันหลายประการสำหรับ ls และคุณได้ทำให้สีบางส่วนเป็นจริง

  • บนFreeBSDและMac OS X , lsสีแสดงให้เห็นว่าถ้าCLICOLORตัวแปรสภาพแวดล้อมมีการตั้งค่าหรือถ้า-Gมีการส่งผ่านในบรรทัดคำสั่ง สีจริงถูกกำหนดค่าผ่านLSCOLORSตัวแปรสภาพแวดล้อม (ใช้ค่าเริ่มต้นในตัวหากไม่ได้ตั้งค่าตัวแปรนี้) เพื่อแสดงไดเรกทอรีในสีฟ้าอ่อนใช้

    export LSCOLORS=Exfxcxdxbxegedabagacad
  • ด้วยGNU lsเช่นบน Linux lsจะแสดงสีถ้า--colorส่งผ่านบนบรรทัดคำสั่ง สีจริงถูกกำหนดค่าผ่านLS_COLORSตัวแปรสภาพแวดล้อมซึ่งสามารถตั้งค่าได้ด้วยdircolorsคำสั่ง (ใช้ค่าเริ่มต้นในตัวหากไม่ได้ตั้งค่าตัวแปรนี้)


5
ขอบคุณสำหรับคำตอบคุณช่วยสอนฉันหน่อยได้ไหมว่า Exfxcxdxbxegedabagacad แปลว่าอะไร?
prosseek

@prosseek: ดูหน้าคนที่ฉันเคยเชื่อมโยง ตัวอย่างเช่นอักขระสองตัวแรกคือส่วนหน้าและพื้นหลังสำหรับไดเรกทอรีeหมายถึงสีน้ำเงินเข้มEหมายถึงสีน้ำเงินอ่อนและxหมายถึงค่าเริ่มต้น fในตำแหน่งที่สามทำให้การเชื่อมโยงสัญลักษณ์สีม่วงแดงและอื่น ๆ
Gilles 'หยุดความชั่วร้าย'

ในบรรทัดเดียวกันนี้ฉันจะtreeแสดงสีได้อย่างไร Tree แสดงสีในเครื่อง Debian ของฉัน แต่ไม่ได้ทำบน Mac ของฉัน ตัวแปรสภาพแวดล้อมมีอยู่สำหรับสีตามที่อธิบายไว้ข้างต้น ดังนั้น Mac สีแสดงของฉันสำหรับการใด ๆlsคำสั่ง treeแต่ไม่ ฉันติดตั้งต้นไม้ด้วยการชง
DanCat

2
@DanCat ฉันไม่รู้ treeและlsเป็นยูทิลิตี้ที่ไม่เกี่ยวข้องไม่มีเหตุผลว่าทำไมการตั้งค่าสำหรับรายการหนึ่งจะใช้กับอีกรายการหนึ่ง คุณควรถามว่าเป็นคำถามแยกต่างหาก
Gilles 'หยุดความชั่วร้าย'

1
สำหรับคนขี้เกียจ (เหมือนผม) นี่เป็น LSCOLORS กำเนิดgeoff.greer.fm/lscolors
udondan

11

CLICOLOR และ LS_COLORS คืออะไร ทำไมการระบายสีจึงใช้งานได้โดยไม่มี LS_COLORS

CLICOLORจะเปิดหรือปิดสี LS_COLORSไม่จำเป็นและจะช่วยให้คุณปรับแต่งสี

โปรดทราบว่าในบางระบบปฏิบัติการ (เช่น MacOSX และ FreeBSD) ค่าจะถูกตั้งชื่อไม่ได้LSCOLORSLS_COLORS

ฉันหลีกเลี่ยงการตั้งค่าสีโดยใช้ LS_COLORS เพราะฉันต้องใช้ชุดสีเดียวกันนั้นกับคอมพิวเตอร์หลายร้อยเครื่องและ Un * xes 10 อัน แต่ฉันปรับเปลี่ยนสีในโปรแกรม Terminal ของฉันซึ่งทำงานเหมือนกันกับโฮสต์ Unix ส่วนใหญ่


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.