วิธี colorize การส่งออกของ ls?


22

ฉันใช้ CentOS ในโหมดข้อความ Linux เมื่อฉันรันคำสั่งls /usr/เอาต์พุตจะอ่านยากเกินไป (สีน้ำเงินเข้มบนสีดำ) ฉันจะเปลี่ยนสีของข้อความได้อย่างไร

สกรีนช็อตของเอาต์พุต ls

คำตอบ:


19

หากคุณต้องการเปลี่ยนสีของคุณในคอนโซลนั่นคือนอก Xคุณสามารถระบุสีได้.bashrcตามต้องการ:

if [ "$TERM" = "linux" ]; then
    echo -en "\e]P0222222" #black
    echo -en "\e]P8222222" #darkgrey
    echo -en "\e]P1803232" #darkred
    ....
    fi

ตำแหน่งที่คุณกำหนดสีดำเป็น#222222ดูโพสต์นี้สำหรับรายละเอียด: http://phraktured.net/linux-console-colors.html

หากคุณกำลังทำงานใน Xจากนั้นคุณสามารถปรับแต่งการตั้งค่าของคุณโดยการกำหนดสีของคุณในสิ่งที่.Xresourcesชอบ:

!black
 *color0:  #3D3D3D
 *color8:  #5E5E5E
!red
 *color1:  #8C4665
 *color9:  #BF4D80
 ...

และจากนั้นจัดหาไฟล์นี้เมื่อคุณเริ่ม X โดยปกติจะมาจาก.xinitrc:

xrdb -merge ~/.Xresources

Arch Wiki มีหน้าใน. Xresources ที่อธิบายตัวเลือกทั้งหมด: https://wiki.archlinux.org/index.php/Xresources

การปรับปรุงอื่นที่คุณสามารถทำได้ใน X หรือไม่ก็คือการระบุประเภทของไฟล์ที่แตกต่างกันทั้งหมดที่คุณต้องการสี - และสีที่เกี่ยวข้องใน.dir_colorsไฟล์เช่น:

.xinitrc       01;31 
.Xauthority    01;31
.Xmodmap       00;31
.Xresources    01;33
 ...

ในการเริ่มต้นให้คัดลอก/etc/dir_colorsไปยัง/homeไดเรกทอรีของผู้ใช้และทำการเปลี่ยนแปลงของคุณ จากนั้นมาจากคุณ.bashrcด้วยวิธีนี้จะช่วยให้คุณสามารถควบคุมที่ละเอียดกว่าสีของไฟล์และประเภทไฟล์เมื่อคุณใช้eval $(dircolors -b ~/.dir_colors)ls

คุณสามารถค้นหา.dir_colorsไฟล์ตัวอย่าง(รายละเอียดที่ละเอียดและละเอียดได้อย่างไม่น่าเชื่อ) ที่นี่: https://github.com/trapd00r/LS_COLORS/blob/master/LS_COLORS

ด้วยการรวมกันของทั้งสามวิธีคุณสามารถสร้างการตั้งค่าที่สมเหตุสมผลไม่ว่าคุณจะทำงานในคอนโซลหรือใน X


ฉันขอโทษฉันเป็นผู้เรียนใหม่ของลินุกซ์ ฉันติดตั้งในข้อความ linux ไม่มีคอนโซล ทุกสิ่งกำลังทำงานอยู่ในบรรทัดคำสั่ง ขอบคุณ
runeveryday

2
ใช่: นั่นคือสิ่งที่ฉันหมายถึงเมื่อฉันพูดนอก X - ในคอนโซล TTY (TTY 1-7)
jasonwryan

สวัสดี, ฉันเรียกใช้คำสั่งเป็นกลุ่ม / etc / DIR_COLORS DIR คือ 01; 34 วิธีการเปลี่ยนสีนกเป็ดน้ำ ขอบคุณ
runeveryday

2
คำสีอยู่ที่นี่: tldp.org/HOWTO/Bash-Prompt-HOWTO/x329.htmlสีเขียวคือ00;32แสงและสีเขียวเข้ม / เป็นตัวหนา1;32วิธีเดียวที่จะได้รับน้านคือวิธีใช้ที่ฉันอธิบายไว้ข้างต้นเพื่อกำหนดหนึ่งใน 16 สีเหล่านั้น เป็นเลขฐานสิบหกของน้าน
jasonwryan

ขออภัยถ้านี่เป็นคำถามเริ่มต้น แต่คำตอบของคุณเปลี่ยนสำหรับระบบ Unix ใน OS X หรือไม่?
Charlie Parker

9

/etc/DIR_COLORSไฟล์ที่คุณต้องการคือ ฉันมีปัญหาเดียวกันกับคุณและเปลี่ยนไดเรกทอรีเป็นสีนกเป็ดน้ำ ใช้งานได้ดีกว่ามาก

cp /etc/DIR_COLORS /home/yourusername/.dir_colors

แก้ไข/home/yourusername/.dir_colorsคุณจะเห็นบรรทัดนี้:

DIR 01;34    #directory

เปลี่ยนเป็น:

DIR 01;36    #directory

ซึ่งทำให้สารบบสีเป็นสีน้าน


เมื่อฉันรันคำสั่ง / etc / DIR_COLORS การอนุญาตเอาต์พุตจะถูกปฏิเสธ ฉันเป็นผู้ใช้รูททำไม? วิธีการเปลี่ยนสีเป็นนกเป็ดน้ำ ขอบคุณ
runeveryday

3
@run มันไม่ใช่คำสั่งมันเป็นไฟล์กำหนดค่า เปิดในโปรแกรมแก้ไขข้อความ
Michael Mrozek

DIR คือ 01; 34 วิธีเปลี่ยนสีนกเป็ดน้ำ ขอบคุณ
runeveryday

@MaxMackie นี้ดูเหมือนจะไม่ทำงานสำหรับฉัน (คัดลอกไป~/.dir_colors) 00และมีการเปลี่ยนแปลงทุกอย่างเพื่อ พบว่าฉันต้องเปิดสถานีใหม่ สิ่งนี้ถูกบังคับใช้ / เชื่อมต่อกับเทอร์มินัลปัจจุบันอย่างไร
แบร์นฮาร์ด
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.