Apa arti perbedaan warna dalam ls
perintah Ubuntu ? Misalnya, ketika saya mengetik ls
perintah di salah satu folder saya, saya mendapatkan salah satu file berwarna hijau muda, yang lain (yang merupakan folder) berwarna biru dengan highlight hijau.
Apa arti warna-warna itu, dan ada manual tentang semua warna?
command-line
colors
ls
Rafid
sumber
sumber
eval
naskah menampilkan warna representasi output untuk setiap jenis brilian ... terima kasih!eval
skrip yang lebih mudah dibaca ada di sini: github.com/gkotian/gautam_linux/blob/master/scripts/colours.shAnda dapat mengetahui warna apa yang
ls
digunakan dengan melihat$LS_COLORS
variabel:Selain itu, file diwarnai oleh atribut:
aac, au, flac, pertengahan, midi, mka, mp3, mpc, ogg, ra, wav, axa, oga, spx, xspf.
tar, tgz, arj, taz, lzh, lzma, tlz, txz, zip, z, Z, dz, gz, lz, xz, bz2, bz, tbz, tbz2, tz, deb, rpm, jar, rar, ace, kebun binatang, cpio, 7z, rz.
jpg, jpeg, gif, bmp, pbm, pgm, ppm, tga, xbm, xpm, tif, tiff, png, svg, svgz, mng, pcx, mov, mpg, mpeg, m2v, mkv, ogm, mp4, m4v, mp4v, vob, qt, nuv, wmv, asf, rm, rmvb, flc, avi, fli, flv, gl, dl, xcf, xwd, yuv, cgm, emf, axv, anx, ogv, ogx.
Semua informasi ini terkandung dalam output dari
dircolors --print-database
, tetapi formatnya agak tidak dapat dibaca.Berikut penjelasan teknis tentang apa yang terjadi:
Contoh:
Kode warna terdiri dari tiga bagian:
Bagian pertama sebelum titik koma mewakili gaya teks.
Bagian kedua dan ketiga adalah warna dan warna latar:
Setiap bagian dapat dihilangkan, dengan asumsi mulai dari sebelah kiri. yaitu "01" berarti huruf tebal, "01; 31" berarti huruf tebal dan merah. Dan Anda akan mendapatkan terminal Anda untuk mencetak dalam warna dengan lolos dari instruksi dengan
\33[
dan diakhiri denganm
. 33, atau 1B dalam heksadesimal, adalah tanda ASCII "ESCAPE" (karakter khusus dalam rangkaian karakter ASCII). Contoh:Mencetak "Hello World" dengan warna merah terang.
Perintah
ls
dengan argumen--color=auto
(pada Ubuntu,ls
adalah alias untukls --color=auto
) memeriksa semua nama file dan mencoba terlebih dahulu untuk mencocokkan jenis yang berbeda, seperti Executable, Pipe dan sebagainya. Ia kemudian mencoba mencocokkan ekspresi reguler seperti * .wav dan mencetak nama file yang dihasilkan, terlampir dalam instruksi pengubah warna ini untuk bash.sumber
Jika Anda mengetik
dircolors
(echo $LS_COLORS
juga berfungsi) dari baris perintah, Anda akan mendapatkan daftar kode dan warna untuk banyak tipe file dalam 1 baris.dircolors --print-database
menunjukkan kepada mereka 1 baris sekaligus. Berikut adalah daftar singkat (saya mencoba memasukkan yang paling penting). Di bagian bawah ada penjelasan tentang apa kode yang berbeda di akhir setiap baris mewakili:00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
Jika Anda ingin bermain-main dengan ini di sini adalah contoh tentang cara mengatur warna untuk file:
Ini akan mengatur
*.ogg
dan.mp3
kebold magenta
. Dan jika Anda memasukkannya ke dalam.bashrc
file Anda itu akan menjadi permanen.sumber
pdf
file, prosesnya adalah menggunakanexport
? Apakah mungkin untuk hanya menambahkan satu ekstensi dalamLS_COLORS
variabel default ?Ini memperluas jawaban Karthick87 .
Dengan pengaturan standar
ls -l
)Script untuk menunjukkan warna
Output dengan pengaturan default:
Keluaran dengan pengaturan saya (dircolors khusus dan tema terminal Terpolarisasi khusus):
Saya mendapatkan deskripsi dari
dircolors -p
danman dir_colors
, dan mengisi kekosongan dengan penelitian saya sendiri.Warna dan deskripsinya sama dari 14,04 hingga 17,10.
sumber
rs
berartiRESET
,mh
berartiMULTIHARDLINK
,ca
berartiCAPABILITY
dll?dircolors -p
.dircolors -p
tidak mengatakan rs adalah RESET 0 # reset ke warna "normal" .Tidak ada jawaban di sini yang menyertakan 256 opsi warna dalam versi terbaru Ubuntu. Saya kekurangan warna (beberapa warna membuat saya kesulitan dekat satu sama lain) sehingga direktori biru default pada hitam sangat sulit bagi saya untuk membaca. Berikut ini adalah penelitian saya untuk mengubahnya.
Ketik
dircolors -p |less
untuk melihat kode warna Anda saat ini.Default .bashrc harus sudah dikonfigurasi tidak hanya untuk mengambil keuntungan dari kode warna sistem, tetapi juga satu di ~ / .dircolors jadi buang output dircolors ke .dircolor sehingga Anda bisa mulai dengan menggunakan perintah ini.
dircolors -p > ~/.dircolors
Alternatif: mengambil sangat mirip 256 dircolors warna dari solarized seebi ini proyek.
Raih skrip colortest ini dan jalankan dengan perintah
colortest -w
sehingga Anda bisa melihat semua warna sekaligus. Pilih warna. Saya suka jeruk # 208. Saya ingin itu menjadi warna teks jadi menggunakan info ini pada kode warna yang diperluas, saya bisa menerapkannya.Jadi Anda punya warna, sekarang apa. Pertama kita harus membuat string.
Angka pertama akan menjadi kode atribut, kemungkinan besar 00, tetapi jika Anda ingin berkedip, lanjutkan dengan 05:
Selanjutnya pilih tambahkan
;38;5;
kode atribut itu untuk menunjukkan warna teks Anda untuk mendapatkan 00; 38; 5; dan kemudian menambahkan warna Anda. Saya memilih 208, jadi saya dapat00;38;5;208
.Jika Anda ingin juga meletakkan latar belakang di atasnya, pilih warna lain (misalkan 56) dengan skrip colortest dan tambahkan
;48;5;
latar belakang dan 56 untuk warna untuk mendapatkan total string00;38;5;208;48;5;56
.Jadi sekarang Anda memilikinya, apa yang Anda lakukan dengannya?
vim ~/.dircolors
dan temukan bagian yang ingin Anda ubah (untuk saya yaitu DIR) ke string yang kami tentukan di atas "00; 38; 5; 208".Ini tidak akan segera berlaku, Anda harus memuat konfigurasi. Gunakan
dircolors ~/.dircolors
untuk mendapatkan kode untuk mengatur variabel LS_COLORS Anda. Anda bisa menempelkannya ke sesi terminal Anda atau menutup terminal dan membukanya kembali. Anda juga bisa menyalurkannya ke file dan menjalankannya sebagai skrip shell.Anda dapat melakukan prosedur yang sama dengan 16 warna. Anda tidak memerlukan barang-barang khusus; 38; 5 atau; 48; 5 Cukup lempar angka ke dalam string dan nikmati kesederhanaannya.
Terima kasih kepada Dan dan seebi untuk catatan dan kode mereka tentang ini.
sumber