Cara Mengubah Warna Direktori dan File di Perintah ls
Diterbitkan: 2022-01-29 Jika Anda menjalankan perintah ls
di Bash, Anda akan melihat bahwa direktori dan file yang Anda lihat diwarnai menurut jenisnya. Anda dapat menyesuaikan skema warna Anda sendiri untuk memilih warna teks yang berbeda, warna latar belakang, dan pemformatan seperti tebal dan garis bawah.
Bagaimana Ini Bekerja
Skema warna disimpan dalam variabel LS_COLORS. Untuk melihat skema warna Anda saat ini, Anda dapat memberi tahu Bash untuk mencetak konten variabel:
gema $LS_COLORS
Anda akan melihat daftar panjang jenis file dan kode nomor. Kami akan menjelaskan cara membuat daftar seperti ini sendiri.
Sebelum bermain-main dengan ini, kami sarankan untuk menyimpan konten variabel LS_COLORS saat ini ke variabel lain. Ini akan memungkinkan Anda memulihkan pengaturan default dengan cepat tanpa keluar dari shell dan masuk kembali, atau menutup dan membuka kembali jendela terminal. Untuk menyimpan konten variabel LS_COLORS saat ini ke variabel baru bernama ORIGINAL, jalankan:
ASLI=$LS_COLORS
Kapan saja, Anda dapat menjalankan perintah berikut untuk membatalkan perubahan dan mengembalikan warna default:
LS_COLORS=$ASLI
Perubahan Anda selalu bersifat sementara hingga Anda mengedit file untuk menjadikannya default baru. Anda selalu dapat keluar dan masuk kembali atau menutup dan membuka kembali jendela terminal untuk mengembalikan warna ke pengaturan default. Namun, ini membuatnya mudah untuk melakukannya dengan satu perintah cepat.
Cara Mengatur Warna Kustom
Variabel LS_COLORS berisi daftar jenis file bersama dengan kode warna terkait. Daftar default panjang karena menentukan warna yang berbeda untuk sejumlah jenis file yang berbeda.
Mari kita mulai contoh dasar untuk mendemonstrasikan cara kerjanya. Katakanlah kita ingin mengubah warna direktori dari default biru tebal menjadi merah tebal. Kita dapat menjalankan perintah berikut untuk melakukannya:
LS_COLORS="di=1;31"
di=1;31
bit memberitahu ls
bahwa direktori ( di
) adalah ( =
) tebal ( 1;
) merah ( 31
).
Namun, ini hanyalah variabel LS_COLORS yang sangat sederhana yang mendefinisikan direktori sebagai satu warna dan meninggalkan setiap jenis file lainnya sebagai warna default. Katakanlah kita ingin membuat file dengan ekstensi file .desktop dengan warna cyan yang digarisbawahi juga. Kita dapat menjalankan perintah berikut untuk melakukannya:
LS_COLORS="di=1:31:*.desktop=4;36"
Ini memberitahu ls
bahwa direktori ( di
) adalah ( =
) tebal ( 1;
) merah ( 31
) dan ( :
) setiap file yang berakhiran .desktop ( *.desktop
) adalah ( =
) digarisbawahi ( 4;
) cyan ( 36
).
Ini adalah proses untuk menyusun daftar jenis dan warna file Anda. Tentukan sebanyak yang Anda suka dalam bentuk filetype=color, pisahkan masing-masing dengan karakter titik dua (:).
TERKAIT: Cara Menyesuaikan (dan Mewarnai) Bash Prompt Anda
Untuk menyusun daftar Anda sendiri, Anda hanya perlu mengetahui daftar kode warna dan kode jenis file. Ini menggunakan kode warna numerik yang sama yang Anda gunakan saat mengubah warna di prompt Bash Anda.
Berikut daftar kode warna untuk teks latar depan:
- Hitam: 30
- Biru: 34
- Cyan: 36
- Hijau: 32
- Ungu: 35
- Merah: 31
- Putih: 37
- Kuning: 33
Misalnya, karena teks kuning adalah kode warna 33, Anda akan menggunakan di=33
untuk membuat direktori menjadi kuning.
Berikut daftar atribut warna teks:
- Teks Normal: 0
- Teks Tebal atau Ringan: 1 (Tergantung pada emulator terminal.)
- Teks redup: 2
- Teks yang Digarisbawahi: 4
- Teks Berkedip: 5 (Ini tidak berfungsi di sebagian besar emulator terminal.)
- Teks Terbalik: 7 (Ini membalikkan warna latar depan dan latar belakang, jadi Anda akan melihat teks hitam di latar belakang putih jika teks saat ini adalah teks putih di latar belakang hitam.)
- Teks Tersembunyi: 8
Saat menentukan atribut atau lebih dari satu kode warna, pisahkan daftar kode dengan karakter titik koma (;). Anda tidak perlu menentukan 0 untuk teks normal, karena teks normal digunakan saat Anda tidak menentukan atribut di sini.
Misalnya, karena teks tebal adalah kode warna 1 dan teks kuning adalah kode warna 33, Anda akan menggunakan di=1;33
untuk membuat direktori menjadi kuning tebal. Anda juga dapat menentukan lebih dari satu atribut. Misalnya, Anda dapat menggunakan di=1;4;33
untuk membuat direktori tebal, digarisbawahi kuning.
Berikut daftar kode warna latar belakang:
- Latar belakang hitam: 40
- Latar belakang biru: 44
- Latar belakang cyan: 46
- Latar belakang hijau: 42
- Latar belakang ungu: 45
- Latar belakang merah: 41
- Latar belakang putih: 47
- Latar belakang kuning: 43
Misalnya, karena latar belakang biru adalah kode warna 44, Anda akan menggunakan di=44
untuk menggunakan latar belakang biru untuk direktori. Anda juga dapat menggabungkan kode warna latar belakang, kode warna latar depan, dan atribut sebanyak yang Anda suka. Misalnya, di=1;4;33;44
akan memberi Anda teks kuning yang ditebalkan dan digarisbawahi pada latar belakang biru.
Berikut daftar kode jenis file:
- Direktori: di
- File: fi
- Tautan Simbolis: ln
- Pipa Bernama (FIFO): pi
- Soket: jadi
- Blokir Perangkat: bd
- Perangkat Karakter: cd
- Orphan Symbolic Link (menunjuk ke file yang sudah tidak ada lagi): atau
- File Hilang (file hilang yang ditunjuk oleh tautan simbolis yatim piatu): mi
- File yang Dapat Dieksekusi (memiliki izin "x"): ex
- *.extension: File apa pun yang diakhiri dengan ekstensi yang Anda tentukan. Misalnya, gunakan *.txt untuk file yang diakhiri dengan .txt, *.mp3 untuk file yang diakhiri dengan .mp3, *.desktop untuk file yang diakhiri dengan .desktop, atau apa pun yang Anda suka. Anda dapat menentukan ekstensi file yang berbeda sebanyak yang Anda suka.
Tentukan sebanyak mungkin jenis kode jenis file dengan warna berbeda sebanyak yang Anda suka, pisahkan dengan karakter :. Ulangi proses ini untuk merakit variabel LS_COLORS Anda.
Misalnya, katakanlah Anda ingin menggunakan teks ungu tebal untuk direktori, teks merah digarisbawahi untuk file yang dapat dieksekusi, dan teks hijau tebal pada latar belakang merah untuk file .mp3. Menyatukan kode jenis file dan kode warna dari daftar di atas, Anda akan mendapatkan:
LS_COLORS="di=1;35:ex=4;31:*.mp3=1;32;41"
Cara Mengatur Warna Default Baru Anda
Anda sekarang memiliki variabel LS_COLORS khusus yang berfungsi di sesi Bash saat ini. Namun, Anda mungkin ingin menjadikannya permanen sehingga secara otomatis digunakan setiap kali Anda memulai sesi Bash baru tanpa Anda harus mengingatnya.
Anda dapat mengatur variabel LS_COLORS kustom Anda—dan variabel Bash lainnya yang Anda suka—dengan menambahkannya ke file .bashrc akun pengguna Anda. File ini terletak di ~/.bashrc. Jadi, jika nama pengguna Anda bob, Anda akan menemukannya di /home/bob/.bashrc. Ada cara lain untuk mengatur variabel lingkungan juga, tetapi ini sederhana.
Pertama, buka file ini di editor teks pilihan Anda. Kami akan menggunakan nano di sini sebagai contoh, tetapi Anda dapat menggunakan vi, emacs, atau apa pun yang Anda suka.
nano ~/.bashrc
Tambahkan variabel LS_COLORS khusus Anda ke baris baru di akhir file, seperti:
LS_COLORS="di=1;35:ex=4;31:*.mp3=1;32;41"
Simpan file dan keluar. Di nano, tekan Ctrl+O lalu tekan Enter untuk menyimpan, lalu tekan Ctrl+X untuk keluar.
Setiap kali Anda memulai sesi Bash baru, Bash akan membaca file .bashrc dan secara otomatis mengatur variabel LS_COLORS Anda. Untuk mengubah warna Anda di masa mendatang, kembali ke file .bashrc Anda dan edit baris LS_COLORS.
Anda juga dapat menghapus baris LS_COLORS=
yang Anda tambahkan ke file .bashrc Anda untuk menggunakan warna default lagi. Jika Anda tidak menyetel nilai LS_COLORS, Bash akan menggunakan warna default.