Selain mewarnai file berdasarkan jenisnya (pirus untuk file audio, merah terang untuk Arsip dan file terkompresi, dan ungu untuk gambar dan video), ls
juga mewarnai file dan direktori berdasarkan atributnya:
- Teks hitam dengan latar belakang hijau menunjukkan bahwa direktori dapat ditulis oleh orang lain selain dari pengguna dan grup pemilik, dan memiliki set bit sticky (
o+w, +t
).
- Teks biru dengan latar belakang hijau menunjukkan bahwa direktori dapat ditulis oleh orang lain selain dari pengguna dan grup pemilik, dan tidak memiliki set bit sticky (
o+w, -t
).
Stephano Palazzo di at Ask Ubuntu telah membuat gambar yang sangat instruktif ini atas berbagai warna atribut:
Seperti yang ditunjukkan terdon , pengaturan warna dapat dimodifikasi melalui dircolors
. Daftar pengaturan pewarnaan yang berbeda dapat diakses dircolors --print-database
.
Setiap garis keluaran, seperti BLK 40;33;01
, berbentuk:
[TARGET] [TEXT_STYLE];[FOREGROUND_COLOR];[BACKGROUND_COLOR]
TARGET
menunjukkan target untuk aturan pewarnaan
TEXT_STYLE
menunjukkan gaya teks:
00
= tidak ada
01
= berani
04
= garis bawah
05
= berkedip
07
= mundur,
08
= disembunyikan
FOREGROUND_COLOR
menunjukkan warna latar depan:
30
= hitam
31
= merah
32
= hijau
33
= kuning
34
= biru,
35
= magenta
36
= cyan
37
= putih
BACKGROUND_COLOR
menunjukkan warna latar belakang:
40
= hitam
41
= merah
42
= hijau
43
= kuning
44
= biru,
45
= magenta
46
= cyan
47
= putih
Kolom mungkin dihilangkan mulai dari kanan, jadi misalnya .tar 01;31
berarti tebal dan merah.
XTerm dan kebanyakan emulator terminal modern lainnya mendukung 256 warna.
Kode warna latar depan XTerm 256-warna berbentuk:
38;5;[FOREGROUND_COLOR]
Kode warna latar belakang XTerm 256 warna adalah dalam bentuk:
48;5;[BACKGROUND_COLOR]
di mana keduanya FOREGROUND_COLOR
dan BACKGROUND_COLOR
merupakan angka kisaran 0-255. Daftar lengkap kode warna untuk 16 dan 256 mode warna ditunjukkan pada gambar di bawah ini:
38;5;
memulai kode warna latar depan xterm 256-warna .48;5;
memulai kode warna latar belakang xterm 256 warna. Cyan dalam output dircolors saya38;5;51
tidak36
meskipun hasilnya sama.Warna
ls
dapat mewakili izin, default untuk beberapa sistem adalah untuk menunjukkan direktori di mana setiap orang memiliki izin menulis dengan latar belakang hijau:Anda dapat mengubah warna dengan mengedit
$LS_COLORS
variabel menggunakandircolors
(dariman ls
):Sintaksnya memang agak mengganggu di sini tetapi Anda dapat mengubah warna ini dengan membuat file dengan warna yang Anda inginkan dan menyimpannya sebagai
~/.dircolors
:Perintah itu akan mencetak default ke
~/.dircolors
. Anda kemudian perlu mengedit file itu dan mengubah baris ini:Misalnya, untuk menjadikannya teks hitam dengan latar belakang merah (lihat di sini untuk daftar kode warna):
Anda tidak perlu memiliki semua default, Anda juga dapat membuat file dengan satu baris, mendefinisikan ulang hanya yang ingin Anda ubah. Bagaimanapun, setelah Anda membuat file, muat dengan:
Dan ini dia beraksi:
Agar itu terjadi secara otomatis, tambahkan
eval
perintah di atas ke~/.bashrc
file Anda .sumber
eval "$(dircolors ~/dircolors)";
bukannya lebih langsung seperti itudircolors ~/dircolors
?Walaupun semua jawaban teknis itu benar, saya akan menganggapnya sebagai sedikit peringatan informal, bahwa Anda memberikan sedikit hak untuk dengan murah hati atau menyalin silang + silang ... (paling sering kita semua melakukannya, untuk membuat semuanya bekerja pada awalnya, eh ?)
"De-greener" yang baik untuk kembali ke hak yang paling Anda inginkan, adalah pernyataan ini:
Paling mengerti apa fungsinya, jika Anda memahami tujuan huruf besar + X "eksekusi khusus", yaitu lihat Wikipedia
sumber
Saya punya pertanyaan yang sama, jawaban terdon itu bagus tapi saya pikir ada kebingungan antara dirname dan dircolors?
Bagaimanapun, setelah beberapa penelitian lebih lanjut saya dapat mengubah warna, jadi saya membagikan solusi saya di sini. Ini mungkin berguna untuk seseorang suatu hari nanti!
Jadi, 3 langkah sederhana:
Pertama, seperti kata terdon, salin warna default ke file
Kemudian modifikasi file ini. Anda dapat menemukan beberapa nilai untuk warna di dalamnya, tetapi saya menemukan lebih banyak di sini :)
Dan akhirnya, tambahkan baris berikut ke
~/.bashrc
file Anda untuk warna yang akan dimuat secara otomatis ketika Anda membuka terminal:Voilà :)
sumber
~/.zshrc
aku harus ikutif [[ -f ~/.dircolors ]] ; then eval $(dircolors -b ~/.dircolors) elif [[ -f /etc/DIR_COLORS ]] ; then eval $(dircolors -b /etc/DIR_COLORS) fi
. Maaf, break line sangat burukUntuk memperbaiki masalah dengan cepat, (buat file yang dapat ditulis lainnya menjadi kuning di nobg):
Ganti
33
dengan34
biru pada nobg. Bahkan lebih sederhana, untuk membuatnya nofg di nobg:Untuk membuat perubahan Anda permanen, tambahkan ke. Profil Anda:
Untuk melihat aturan terkait non-ekstensi LS_COLORS:
sed
menempatkan setiap aturan pada satu baris dangrep
menghapus aturan dimulai dengan*.'.
Untuk menjelajahi
ls
warna pada terminal Anda, pertimbangkan untuk menggunakanKemudian
Sebagaimana dinyatakan dalam jawaban lain (yaitu Thomas Nyman),
38;5;
adalah awalan untuk foreground x-term 256-warna, dan48;5;
untuk latar belakang x-term 256-warna. 256-warna tidak didukung oleh semua terminal.Lihat juga - Apa arti perbedaan warna dalam ls? - di AskUbuntu.
sumber
Nah ini berarti bahwa folder ini memiliki izin jika Anda menjalankan ini:
itu akan menghapus bgcolor :)
sumber
Untuk memperbaikinya, coba parameter arus di atas LS_COLORS
Sebagai contoh:
Sekarang Anda menambahkan opsi ow
sumber
Anda dapat mengubah nada hijau di Putty untuk membuat teks dapat dibaca.
Buka Putty dan pergi ke Window \ Colors, pilih "ANSI Green", set ke hijau gelap (R: 0 G: 70 B: 0).
sumber