โฮมเพจ » ทำอย่างไร » วิธีการเปลี่ยนสีของไดเรกทอรีและไฟล์ในคำสั่ง ls

    วิธีการเปลี่ยนสีของไดเรกทอรีและไฟล์ในคำสั่ง ls

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

    วิธีนี้ใช้ได้ผล

    ชุดรูปแบบสีจะถูกเก็บไว้ในตัวแปร LS_COLORS หากต้องการดูชุดรูปแบบสีปัจจุบันของคุณคุณสามารถบอกให้ Bash พิมพ์เนื้อหาของตัวแปรได้:

    echo $ LS_COLORS

    คุณจะเห็นรายการประเภทไฟล์และรหัสตัวเลขแบบยาว เราจะอธิบายวิธีสร้างรายการแบบนี้ด้วยตัวคุณเอง.

    ก่อนที่จะเล่นกับสิ่งนี้เราขอแนะนำให้บันทึกเนื้อหาปัจจุบันของตัวแปร LS_COLORS เป็นตัวแปรอื่น สิ่งนี้จะช่วยให้คุณกู้คืนการตั้งค่าเริ่มต้นได้อย่างรวดเร็วโดยไม่ต้องออกจากเชลล์และลงชื่อเข้าใช้อีกครั้งหรือปิดและเปิดหน้าต่างเทอร์มินัลใหม่ หากต้องการบันทึกเนื้อหาปัจจุบันของตัวแปร LS_COLORS ไปยังตัวแปรใหม่ที่ชื่อว่า ORIGINAL ให้รัน:

    ORIGINAL = $ LS_COLORS

    คุณสามารถเรียกใช้คำสั่งต่อไปนี้เมื่อใดก็ได้เพื่อเลิกทำการเปลี่ยนแปลงและเรียกคืนสีเริ่มต้น:

    LS_COLORS = $ ORIGINAL

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

    วิธีการตั้งค่าสีที่กำหนดเอง

    ตัวแปร LS_COLORS มีรายการประเภทไฟล์พร้อมกับรหัสสีที่เกี่ยวข้อง รายการเริ่มต้นมีความยาวเนื่องจากมันระบุสีที่แตกต่างกันสำหรับไฟล์ประเภทต่างๆ.

    ลองเริ่มตัวอย่างพื้นฐานเพื่อสาธิตวิธีการทำงาน สมมติว่าเราต้องการเปลี่ยนสีของไดเรกทอรีจากสีน้ำเงินตัวหนาเริ่มต้นเป็นตัวหนาสีแดง เราสามารถเรียกใช้คำสั่งต่อไปนี้เพื่อทำ:

    LS_COLORS = "ดิ = 1; 31"

    ดิ = 1; 31 บิตบอก LS ไดเรกทอรีนั้นdi) คือ (=) ตัวหนา (1;) สีแดง (วันที่ 31).

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

    LS_COLORS = "ดิ = 1: 31:. * สก์ท็อป = 4; 36"

    สิ่งนี้จะบอก LS ไดเรกทอรีนั้นdi) คือ (=) ตัวหนา (1;) สีแดง (วันที่ 31) และ (:) ไฟล์ใด ๆ ที่ลงท้ายด้วย. desktop (*.เดสก์ทอป) คือ (=) ขีดเส้นใต้ (4;) สีฟ้า (36).

    นี่เป็นกระบวนการรวบรวมรายการประเภทและสีของไฟล์ของคุณ ระบุมากเท่าที่คุณต้องการในรูปแบบ filetype = color โดยแยกแต่ละรายการด้วยอักขระโคลอน (:).

    ในการรวบรวมรายการของคุณเองคุณเพียงแค่ต้องรู้รายการรหัสสีและรหัสประเภทไฟล์ ใช้รหัสสีตัวเลขเดียวกันกับที่คุณใช้เมื่อเปลี่ยนสีในพรอมต์ Bash ของคุณ.

    นี่คือรายการของรหัสสีสำหรับข้อความเบื้องหน้า:

    • ดำ: 30
    • น้ำเงิน: 34
    • สีฟ้า: 36
    • เขียว: 32
    • ม่วง: 35
    • แดง: 31
    • ขาว: 37
    • สีเหลือง: 33

    ตัวอย่างเช่นเนื่องจากข้อความสีเหลืองคือรหัสสี 33 คุณจะต้องใช้ ดิ = 33 เพื่อให้ไดเรกทอรีเหลือง.

    นี่คือรายการของคุณลักษณะสีข้อความ:

    • ข้อความปกติ: 0
    • ข้อความตัวหนาหรือแสง: 1 (ขึ้นอยู่กับเทอร์มินัลอีมูเลเตอร์)
    • ข้อความติ่มซำ: 2
    • ข้อความที่ขีดเส้นใต้: 4
    • ข้อความกะพริบ: 5 (สิ่งนี้ไม่ทำงานในโปรแกรมจำลองเทอร์มินัลส่วนใหญ่)
    • ข้อความที่ตรงกันข้าม: 7 (สิ่งนี้จะสลับสีพื้นหน้าและพื้นหลังดังนั้นคุณจะเห็นข้อความสีดำบนพื้นหลังสีขาวหากข้อความปัจจุบันเป็นข้อความสีขาวบนพื้นหลังสีดำ)
    • ข้อความที่ซ่อนอยู่: 8

    เมื่อระบุแอททริบิวต์หรือมากกว่าหนึ่งรหัสสีให้คั่นรายการรหัสด้วยอักขระเซมิโคลอน (;) คุณไม่จำเป็นต้องระบุ 0 สำหรับข้อความปกติเนื่องจากจะใช้ข้อความปกติเมื่อคุณไม่ได้ระบุแอตทริบิวต์ที่นี่.

    ตัวอย่างเช่นเนื่องจากตัวหนาเป็นรหัสสี 1 และตัวอักษรสีเหลืองคือรหัสสี 33 คุณจึงควรใช้ ดิ = 1; 33 เพื่อให้ไดเรกทอรีเป็นตัวหนาสีเหลือง คุณสามารถระบุมากกว่าหนึ่งแอตทริบิวต์ ตัวอย่างเช่นคุณสามารถใช้ ดิ = 1; 4; 33 เพื่อทำให้ไดเรกทอรีเป็นตัวหนาสีเหลืองที่ขีดเส้นใต้.

    นี่คือรายการรหัสสีพื้นหลัง:

    • พื้นหลังสีดำ: 40
    • พื้นหลังสีน้ำเงิน: 44
    • พื้นหลังสีน้ำเงิน: 46
    • พื้นหลังสีเขียว: 42
    • พื้นหลังสีม่วง: 45
    • พื้นหลังสีแดง: 41
    • พื้นหลังสีขาว: 47
    • พื้นหลังสีเหลือง: 43

    ตัวอย่างเช่นเนื่องจากพื้นหลังสีน้ำเงินเป็นรหัสสี 44 คุณจึงต้องใช้ ดิ = 44 เพื่อใช้พื้นหลังสีน้ำเงินสำหรับไดเรกทอรี คุณยังสามารถรวมรหัสสีพื้นหลังรหัสสีพื้นหน้าและคุณลักษณะได้มากเท่าที่คุณต้องการ ตัวอย่างเช่น, ดิ = 1; 4; 33; 44 จะให้ตัวหนาสีเหลืองขีดเส้นใต้บนพื้นหลังสีน้ำเงิน.

    นี่คือรายการของรหัสประเภทไฟล์:

    • ไดเรกทอรี: di
    • ไฟล์: fi
    • ลิงก์สัญลักษณ์: ln
    • ไปป์ที่มีชื่อ (FIFO): pi
    • ซ็อกเก็ต: ดังนั้น
    • อุปกรณ์บล็อก: bd
    • อุปกรณ์ตัวละคร: ซีดี
    • ลิงก์สัญลักษณ์เด็กกำพร้า (ชี้ไปที่ไฟล์ที่ไม่มีอยู่แล้ว): หรือ
    • ไฟล์หายไป (ไฟล์หายไปที่ลิงก์สัญลักษณ์กำพร้าชี้ไป): mi
    • ไฟล์ที่ปฏิบัติการได้ (มีสิทธิ์“ x”): เช่น
    • * .extension: ไฟล์ใด ๆ ที่ลงท้ายด้วยนามสกุลที่คุณระบุ ตัวอย่างเช่นใช้ * .txt สำหรับไฟล์ที่ลงท้ายด้วย. txt, * .mp3 สำหรับไฟล์ที่ลงท้ายด้วย. mp3, * .desktop สำหรับไฟล์ที่ลงท้ายด้วย. desktop หรืออะไรก็ได้ที่คุณต้องการ คุณสามารถระบุนามสกุลไฟล์ได้มากเท่าที่คุณต้องการ.

    ระบุรหัสประเภทไฟล์ที่มีสีต่างกันมากเท่าที่คุณต้องการโดยคั่นด้วยอักขระ: ทำซ้ำกระบวนการนี้เพื่อรวบรวมตัวแปร LS_COLORS ของคุณ.

    ตัวอย่างเช่นสมมติว่าคุณต้องการใช้ตัวอักษรสีม่วงตัวหนาสำหรับไดเรกทอรีขีดเส้นใต้สีแดงสำหรับไฟล์ที่ปฏิบัติการได้และตัวอักษรสีเขียวตัวหนาบนพื้นหลังสีแดงสำหรับไฟล์. mp3 เมื่อรวบรวมรหัสประเภทไฟล์และรหัสสีจากรายการด้านบนคุณจะได้รับ:

    LS_COLORS = "ดิ = 1; 35: อดีต = 4; 31: *. mp3 = 1; 32; 41"

    วิธีการตั้งค่าสีเริ่มต้นใหม่ของคุณ

    ตอนนี้คุณมีตัวแปร LS_COLORS ที่กำหนดเองซึ่งทำงานในเซสชัน Bash ปัจจุบัน อย่างไรก็ตามคุณอาจต้องการทำให้มันถาวรดังนั้นจึงถูกใช้โดยอัตโนมัติทุกครั้งที่คุณเริ่มเซสชัน Bash ใหม่โดยที่คุณไม่ต้องจำสิ่งนี้.

    คุณสามารถตั้งค่าตัวแปร LS_COLORS ที่คุณกำหนดเองและตัวแปร Bash อื่น ๆ ที่คุณต้องการโดยเพิ่มลงในไฟล์. bashrc ของบัญชีผู้ใช้ของคุณ ไฟล์นี้อยู่ที่ ~ / .bashrc ดังนั้นหากชื่อผู้ใช้ของคุณคือ bob คุณจะพบได้ที่ /home/bob/.bashrc มีวิธีอื่นในการตั้งค่าตัวแปรสภาพแวดล้อมเช่นกัน แต่นี่เป็นวิธีง่ายๆ.

    ก่อนอื่นให้เปิดไฟล์นี้ในโปรแกรมแก้ไขข้อความที่คุณต้องการ เราจะใช้นาโนที่นี่เป็นตัวอย่าง แต่คุณสามารถใช้ vi, emacs หรืออะไรก็ได้ที่คุณชอบ.

    นาโน ~ / .bashrc

    เพิ่มตัวแปร LS_COLORS ที่คุณกำหนดเองไปยังบรรทัดใหม่ที่ท้ายไฟล์เช่น:

    LS_COLORS = "ดิ = 1; 35: อดีต = 4; 31: *. mp3 = 1; 32; 41"

    บันทึกไฟล์และออก ใน nano กด Ctrl + O แล้วกด Enter เพื่อบันทึกจากนั้นกด Ctrl + X เพื่อออก.

    เมื่อใดก็ตามที่คุณเริ่มเซสชัน Bash ใหม่ Bash จะอ่านไฟล์. bashrc และตั้งค่าตัวแปร LS_COLORS ของคุณโดยอัตโนมัติ หากต้องการเปลี่ยนสีในอนาคตให้กลับไปที่ไฟล์. bashrc ของคุณและแก้ไขบรรทัด LS_COLORS.

    นอกจากนี้คุณยังสามารถลบ LS_COLORS = บรรทัดที่คุณเพิ่มลงในไฟล์. bashrc ของคุณเพื่อใช้สีเริ่มต้นอีกครั้ง หากคุณไม่ได้ตั้งค่า LS_COLORS Bash จะใช้สีเริ่มต้น.