บนคอนโซลของฉันสีสำหรับไดเรกทอรีนั้นเป็นสีน้ำเงินซึ่งยากต่อการอ่านบนพื้นหลังสีดำ
ฉันจะเปลี่ยนคำจำกัดความของสีได้ls
อย่างไร
บนคอนโซลของฉันสีสำหรับไดเรกทอรีนั้นเป็นสีน้ำเงินซึ่งยากต่อการอ่านบนพื้นหลังสีดำ
ฉันจะเปลี่ยนคำจำกัดความของสีได้ls
อย่างไร
คำตอบ:
หากต้องการเปลี่ยนสีไดเรกทอรีให้เปิด~/.bashrc
ไฟล์ด้วยเครื่องมือแก้ไข
nano ~/.bashrc
และทำรายการต่อไปนี้ในตอนท้ายของไฟล์:
LS_COLORS=$LS_COLORS:'di=0;35:' ; export LS_COLORS
ตัวเลือกสีที่ดี (ในกรณีนี้0;35
คือสีม่วง) คือ:
Blue = 34
Green = 32
Light Green = 1;32
Cyan = 36
Red = 31
Purple = 35
Brown = 33
Yellow = 1;33
Bold White = 1;37
Light Grey = 0;37
Black = 30
Dark Grey= 1;30
หมายเลขแรกคือสไตล์ (1 = ตัวหนา) ตามด้วยเครื่องหมายอัฒภาคแล้วจำนวนสีจริงสไตล์ที่เป็นไปได้ (เอฟเฟกต์) คือ:
0 = default colour
1 = bold
4 = underlined
5 = flashing text (disabled on some terminals)
7 = reverse field (exchange foreground and background color)
8 = concealed (invisible)
ภูมิหลังที่เป็นไปได้:
40 = black background
41 = red background
42 = green background
43 = orange background
44 = blue background
45 = purple background
46 = cyan background
47 = grey background
100 = dark grey background
101 = light red background
102 = light green background
103 = yellow background
104 = light blue background
105 = light purple background
106 = turquoise background
107 = white background
สีที่เป็นไปได้ทั้งหมด:
31 = red
32 = green
33 = orange
34 = blue
35 = purple
36 = cyan
37 = grey
90 = dark grey
91 = light red
92 = light green
93 = yellow
94 = light blue
95 = light purple
96 = turquoise
97 = white
สิ่งเหล่านี้สามารถรวมกันได้ดังนั้นพารามิเตอร์เช่น:
di=1;4;31;42
ในตัวแปร LS_COLORS ของคุณจะทำให้ไดเรกทอรีปรากฏเป็นตัวอักษรสีแดงขีดเส้นใต้ตัวหนาพร้อมพื้นหลังสีเขียว!
ในการทดสอบสีและสไตล์ทั้งหมดเหล่านี้ในเทอร์มินัลของคุณคุณสามารถใช้หนึ่งใน:
for i in 00{2..8} {0{3,4,9},10}{0..7}
do echo -e "$i \e[0;${i}mSubdermatoglyphic text\e[00m \e[1;${i}mSubdermatoglyphic text\e[00m"
done
for i in 00{2..8} {0{3,4,9},10}{0..7}
do for j in 0 1
do echo -e "$j;$i \e[$j;${i}mSubdermatoglyphic text\e[00m"
done
done
คุณยังสามารถเปลี่ยนไฟล์ประเภทอื่น ๆ ได้เมื่อใช้คำสั่ง ls โดยกำหนดแต่ละชนิดด้วย:
bd = (BLOCK, BLK) Block device (buffered) special file
cd = (CHAR, CHR) Character device (unbuffered) special file
di = (DIR) Directory
do = (DOOR) [Door][1]
ex = (EXEC) Executable file (ie. has 'x' set in permissions)
fi = (FILE) Normal file
ln = (SYMLINK, LINK, LNK) Symbolic link. If you set this to ‘target’ instead of a numerical value, the color is as for the file pointed to.
mi = (MISSING) Non-existent file pointed to by a symbolic link (visible when you type ls -l)
no = (NORMAL, NORM) Normal (non-filename) text. Global default, although everything should be something
or = (ORPHAN) Symbolic link pointing to an orphaned non-existent file
ow = (OTHER_WRITABLE) Directory that is other-writable (o+w) and not sticky
pi = (FIFO, PIPE) Named pipe (fifo file)
sg = (SETGID) File that is setgid (g+s)
so = (SOCK) Socket file
st = (STICKY) Directory with the sticky bit set (+t) and not other-writable
su = (SETUID) File that is setuid (u+s)
tw = (STICKY_OTHER_WRITABLE) Directory that is sticky and other-writable (+t,o+w)
*.extension = Every file using this extension e.g. *.rpm = files with the ending .rpm
รายการที่สมบูรณ์มากขึ้นสามารถใช้ได้ที่Bigsoft - การกำหนดค่า LS_COLORS
ในการแจกแจงบางอย่างคุณอาจต้องการเปลี่ยนสีพื้นหลังสำหรับow
"( OTHER_WRITABLE
) ซึ่งค่าเริ่มต้นไม่สามารถอ่านได้" ตัวอย่างเช่นข้อความสีน้ำเงินที่ไม่ใช่ตัวหนาบนพื้นหลังสีเขียว
คุณสามารถใช้ตัวอย่างเช่นLS_COLORS="$LS_COLORS:di=1;33"
ในตอนท้ายของ.bashrc
ไฟล์ของคุณเพื่อรับข้อความสีส้มตัวหนาที่สามารถอ่านได้บนพื้นหลังสีดำ
หลังจากที่คุณปรับเปลี่ยนไฟล์ของคุณ bashrc source ~/.bashrc
ที่จะนำการเปลี่ยนแปลงที่มีผลในการที่คุณจะต้องรีสตาร์ทเปลือกหรือการทำงานของคุณ
หมายเหตุ: คุณสามารถรวมคำสั่งเพิ่มเติมเข้ากับโคลอนตัวอย่างเช่น
LS_COLORS=$LS_COLORS:'di=1;33:ln=36' ; export LS_COLORS; ls
ที่มา:
.bashrc
- บางสีทำงานได้และไฟล์อื่น ๆ ดูแตกต่างออกไป โฟลเดอร์เป็นสีเขียวแทนสีน้ำเงิน แต่ไฟล์ดูถูกต้อง มันจะเป็นอะไร?
/etc/bash.bashrc
LS_COLORS=$LS_COLORS:'tw=01;35:ow=01;35:' ; export LS_COLORS
ง่ายมาก. เพิ่มสามบรรทัดเหล่านี้ใน ~ / .bashrc
$ vi ~/.bashrc
export LS_OPTIONS='--color=auto'
eval "$(dircolors -b)"
alias ls='ls $LS_OPTIONS'
หากคุณต้องการใช้การเปลี่ยนแปลงในเซสชัน bash ที่รันอยู่ให้รัน:
source ~/.bashrc
source ~/.bashrc
ทุกครั้งที่ลงชื่อเข้าใช้มีวิธีแก้ไขปัญหานี้หรือไม่
echo $SHELL
จากพรอมต์คำสั่ง? /bin/bash
ฉันเดิมพันมันไม่ได้เป็น คุณสามารถค้นหาการใช้งานของคุณ.profile
หรือ.login
เพิ่มsource $HOME/.bashrc
ในตอนท้าย โชคดี.
นี่คือคอลเล็กชันของส่วนขยาย: การจับคู่สีเหมาะสำหรับใช้เป็นตัวแปรสภาพแวดล้อม LS COLORS ของคุณ
นอกจากคำตอบของ Hegazi แล้วคุณสามารถควบคุมสีไดเรคทอรีและสีอื่น ๆ อีกมากมายโดยใช้คำสั่ง dircolors คุณสามารถสร้างไฟล์กำหนดค่าที่มีเอกสารที่ดี
คุณสามารถสร้างไฟล์. coloured ในโฮมไดเร็กตอรี่ของคุณได้ดังนี้:
dircolors -p > ~/.dircolors
จากนั้นในไฟล์ ~ / .bashrc ของคุณเพิ่มบรรทัด
eval "`dircolors -b ~/.dircolors`"
alias ls='ls --color=auto'
สิ่งนี้จะสร้างตัวแปร $ LS_COLORS สำหรับการทุบตี แฟล็ก -c จะตั้งค่าหากเป็น csh นอกจากนี้ยังติดธงคำสั่ง ls เพื่อแสดงสี
แก้ไขค่าของแอตทริบิวต์ DIR ข้างต้นในสีไฟล์ ~ / .dircolor เพื่อเปลี่ยนสีของไดเรกทอรี (หรือประเภทไฟล์อื่น ๆ ที่รวมอยู่สำหรับสีอื่น ๆ ) นอกจากนี้คุณยังสามารถเปลี่ยนสีของไฟล์เฉพาะหรือกำหนดของคุณเอง
--color=auto
ตัวเลือกที่ไม่ทำงานสำหรับฉันโดยใช้ iTerm2 บน Mac ของฉัน -G
ตัวเลือกที่ทำงานได้แม้ว่า ฉันใส่นามแฝงต่อไปนี้ใน~/.profile
ไดเรกทอรีของฉันและตอนนี้มีสีและมีการต่อ/
ท้าย:
alias ls='ls -F -G'
นี่เป็นแนวทางของฉันสำหรับคำสั่ง ls พร้อมตัวเลือกที่ใช้กันทั่วไป:
เพิ่มบรรทัดต่อไปนี้ลงในไฟล์ชื่อ ~ / .alias
alias ll='ls -lhF --color=auto'
alias llt='ls -lht --color=auto'
alias lla='ls -alF --color=auto'
alias la='ls -A --color=auto'
alias l='ls -CF --color=auto'
alias ls="ls --color=auto"
เพิ่มบรรทัดต่อไปนี้ใน ~ / .bashrc
if [ -f ~/.alias ]; then
. ~/.alias
fi
--color=auto
ไปยังls
นามแฝง - นามแฝงอื่น ๆ ที่มีการสืบทอดการตั้งค่า
LS_COLORS=$LS_COLORS:'di=1;44:' ; export LS_COLORS
ซึ่งแสดงไดเรกทอรีเป็นตัวหนาสีขาวบนพื้นหลังสีน้ำเงิน