ls
lệnh trong Bash, bạn sẽ nhận thấy rằng các thư mục và tệp bạn thấy được tô màu theo loại của chúng. Bạn có thể tùy chỉnh bảng màu của riêng mình để chọn các màu văn bản, màu nền và định dạng khác nhau như in đậm và gạch dưới.
Cách hoạt động này
Lược đồ màu được lưu trữ trong biến LS_COLORS. Để xem lược đồ màu hiện tại của bạn, bạn có thể yêu cầu Bash in nội dung của biến:
echo $LS_COLORS
Bạn sẽ thấy danh sách dài các loại tệp và mã số. Chúng tôi sẽ giải thích cách tự tạo danh sách như thế này.
ORIGINAL=$LS_COLORS
LS_COLORS=$ORIGINAL
Thay đổi của bạn luôn là tạm thời cho đến khi bạn chỉnh sửa tệp để đặt chúng làm giá trị mặc định mới. Bạn luôn có thể đăng xuất và đăng nhập lại hoặc đóng và mở lại cửa sổ đầu cuối để khôi phục màu về cài đặt mặc định của chúng. Tuy nhiên, điều này làm cho nó dễ dàng để làm như vậy với một lệnh nhanh chóng duy nhất.
Cách đặt màu tùy chỉnh
Biến LS_COLORS chứa danh sách các loại tệp cùng với các mã màu được liên kết. Danh sách mặc định dài vì nó chỉ định các màu khác nhau cho một số loại tệp khác nhau.
Hãy bắt đầu một ví dụ cơ bản để chứng minh cách thức hoạt động của nó. Giả sử chúng ta muốn thay đổi màu sắc của các thư mục từ màu xanh đậm mặc định sang màu đỏ đậm. Chúng ta có thể chạy lệnh sau để làm như vậy:
LS_COLORS='di=1;31'
Các
di=1;31
bit nói
ls
thư mục đó (
di
) (
=
) Dũng cảm (
1;
) màu đỏ (
31
).
LS_COLORS='di=1:31:*.desktop=4;36'
Điều này cho biết
ls
thư mục đó (
di
) (
=
) Dũng cảm (
1;
) màu đỏ (
31
) và (
:
) bất kỳ tệp nào kết thúc bằng.desktop (
*.desktop
) Là (
=
) gạch chân (
4;
) cyan (
36
).
Để tập hợp danh sách của riêng bạn, bạn chỉ cần biết danh sách mã màu và mã loại tệp. Điều này sử dụng cùng một mã màu số bạn sử dụng khi thay đổi màu trong dấu nhắc Bash của bạn.
Dưới đây là danh sách mã màu cho văn bản nền trước:
- Màu đen: 30
- Xanh lam: 34
- Lục lam: 36
- Xanh lục: 32
- Màu tím: 35
- Đỏ: 31
- Trắng: 37
- Màu vàng: 33
Ví dụ: vì văn bản màu vàng là mã màu 33, bạn nên sử dụng
di=33
để tạo thư mục màu vàng.
- Văn bản bình thường: 0
- Chữ đậm hoặc nhạt: 1 (Tùy thuộc vào trình mô phỏng đầu cuối.)
- Văn bản mờ: 2
- Văn bản được gạch dưới: 4
- Văn bản nhấp nháy: 5 (Điều này không hoạt động trong hầu hết các trình giả lập thiết bị đầu cuối.)
- Văn bản được đảo ngược: 7 (Điều này đảo ngược màu nền trước và màu nền, vì vậy bạn sẽ thấy văn bản màu đen trên nền trắng nếu văn bản hiện tại là văn bản màu trắng trên nền đen.)
- Văn bản ẩn: 8
Khi chỉ định thuộc tính hoặc nhiều mã màu, hãy tách danh sách các mã bằng ký tự dấu chấm phẩy (;). Bạn không cần chỉ định 0 cho văn bản thông thường, vì văn bản thông thường được sử dụng khi bạn không chỉ định thuộc tính tại đây.
Ví dụ: vì văn bản in đậm là mã màu 1 và văn bản màu vàng là mã màu 33, bạn nên sử dụng
di=1;33
để làm cho các thư mục đậm màu vàng. Bạn cũng có thể chỉ định nhiều hơn một thuộc tính. Ví dụ, bạn có thể sử dụng
di=1;4;33
để làm cho các thư mục được in đậm, gạch dưới màu vàng.
- Nền đen: 40
- Nền màu xanh da trời: 44
- Nền Cyan: 46
- Nền màu xanh lá cây: 42
- Nền màu tím: 45
- Nền đỏ: 41
- Nền trắng: 47
- Nền màu vàng: 43
Ví dụ: vì nền màu xanh lam là mã màu 44, bạn nên sử dụng
di=44
để sử dụng nền màu xanh cho các thư mục. Bạn cũng có thể kết hợp mã màu nền, mã màu nền trước và nhiều thuộc tính tùy thích. Ví dụ,
di=1;4;33;44
sẽ cung cấp cho bạn chữ đậm, gạch dưới màu vàng trên nền màu xanh lam.
- Thư mục: di
- Tệp: fi
- Liên kết tượng trưng: ln
- Tên có tên (FIFO): pi
- Ổ cắm: vậy
- Khối thiết bị: bd
- Thiết bị ký tự: cd
- Liên kết tượng trưng Orphan (trỏ đến một tệp không còn tồn tại): hoặc
- Thiếu Tệp (một tệp bị thiếu mà một liên kết biểu tượng mồ côi trỏ đến): mi
- Tệp thực thi (có quyền “x”): ví dụ
- *.extension: Bất kỳ tệp nào kết thúc bằng phần mở rộng bạn chỉ định. Ví dụ: sử dụng *.txt cho các tệp kết thúc bằng.txt, *.mp3 cho các tệp kết thúc bằng.mp3, *.desktop cho các tệp kết thúc bằng.desktop hoặc bất kỳ thứ gì bạn thích. Bạn có thể chỉ định bao nhiêu phần mở rộng tệp khác nhau tùy thích.
Chỉ định càng nhiều loại mã loại tệp khác nhau với nhiều màu khác nhau tùy thích, được phân tách bằng ký tự:. Lặp lại quá trình này để lắp ráp biến LS_COLORS của bạn.
Ví dụ: let‚Äô cho biết bạn muốn sử dụng văn bản màu tím đậm cho các thư mục, văn bản màu đỏ được gạch dưới cho các tệp thi hành và văn bản màu xanh đậm trên nền màu đỏ cho các tệp.mp3. Đặt cùng các mã loại tệp và mã màu từ các danh sách ở trên, bạn sẽ nhận được:
LS_COLORS='di=1;35:ex=4;31:*.mp3=1;32;41'
Cách đặt màu mặc định mới của bạn
Bây giờ bạn có một biến LS_COLORS tùy chỉnh có chức năng trong phiên Bash hiện tại. Tuy nhiên, bạn có thể muốn làm cho nó vĩnh viễn để nó tự động được sử dụng bất cứ khi nào bạn bắt đầu một phiên Bash mới mà không cần phải nhớ điều này.
Bạn có thể đặt biến LS_COLORS tùy chỉnh của mình‚Äî và bất kỳ biến Bash nào khác mà bạn thích - bằng cách thêm nó vào tài khoản người dùng của bạn.bạn tập tin.rcrc. Tệp này nằm ở ~ /.bashrc. Vì vậy, nếu tên người dùng của bạn là bob, bạn sẽ tìm thấy nó tại /home/bob/.bashrc. Có nhiều cách khác để đặt biến môi trường, nhưng đây là một cách đơn giản.
Trước tiên, mở tệp này trong trình soạn thảo văn bản ưa thích của bạn. Chúng tôi sẽ sử dụng nano ở đây làm ví dụ, nhưng bạn có thể sử dụng vi, emacs, hoặc bất cứ điều gì khác mà bạn thích.
nano ~/.bashrc
LS_COLORS='di=1;35:ex=4;31:*.mp3=1;32;41'
Lưu file và thoát. Trong nano, nhấn Ctrl + O và sau đó nhấn Enter để lưu, sau đó nhấn Ctrl + X để thoát.
Bạn cũng có thể xóa
LS_COLORS=
dòng bạn đã thêm vào tệp.bashrc của mình để sử dụng lại các màu mặc định. Nếu bạn không đặt giá trị LS_COLORS, Bash sẽ sử dụng các màu mặc định.