Laman » bagaimana untuk » Bagaimana Mengubah Warna Direktori dan Fail dalam Perintah ls

    Bagaimana Mengubah Warna Direktori dan Fail dalam Perintah ls

    Jika anda telah menjalankannya ls arahan di Bash, anda akan perasan bahawa direktori dan fail yang anda lihat diwarnakan mengikut jenisnya. Anda boleh menyesuaikan skema warna anda sendiri untuk memilih warna teks yang berbeza, warna latar belakang, dan memformat seperti berani dan garis bawah.

    Bagaimana ini berfungsi

    Skema warna disimpan dalam pembolehubah LS_COLORS. Untuk melihat skema warna semasa anda, anda boleh memberitahu Bash untuk mencetak kandungan pemboleh ubah:

    echo $ LS_COLORS

    Anda akan melihat senarai panjang jenis fail dan kod nombor. Kami akan menerangkan cara membuat senarai seperti ini sendiri.

    Sebelum bermain dengan ini, kami mengesyorkan menyimpan kandungan semasa pembolehubah LS_COLORS kepada pemboleh ubah yang lain. Ini akan membolehkan anda dengan cepat memulihkan tetapan lalai tanpa keluar dari shell dan menandatangani kembali, atau menutup dan membuka semula tetingkap terminal. Untuk menyimpan kandungan semasa pembolehubah LS_COLORS kepada pembolehubah baharu bernama ORIGINAL, jalankan:

    ORIGINAL = $ LS_COLORS

    Pada bila-bila masa, anda boleh menjalankan arahan berikut untuk membatalkan perubahan anda dan memulihkan warna lalai:

    LS_COLORS = $ ORIGINAL

    Perubahan anda sentiasa sementara sehingga anda mengedit fail untuk menjadikannya lalai baru anda. Anda sentiasa boleh melog masuk dan menandatangani semula atau menutup dan membuka semula tetingkap terminal untuk memulihkan warna ke tetapan lalai mereka. Walau bagaimanapun, ini memudahkan untuk melakukannya dengan satu arahan yang cepat.

    Cara Tetapkan Warna Tersuai

    Pemboleh ubah LS_COLORS mengandungi senarai jenis fail bersama dengan kod warna yang berkaitan. Senarai lalai adalah panjang kerana ia menentukan warna yang berbeza untuk beberapa jenis fail yang berbeza.

    Mari kita mulakan contoh asas untuk menunjukkan bagaimana ini berfungsi. Katakan kita mahu menukar warna direktori dari biru berani lalai ke merah berani. Kita boleh menjalankan arahan berikut untuk berbuat demikian:

    LS_COLORS = "di = 1; 31"

    The di = 1; 31 sedikit memberitahu ls direktori itu (di) adalah (=) berani (1;) merah (31).

    Walau bagaimanapun, ini hanya pembolehubah LS_COLORS yang sangat mudah yang mentakrifkan direktori sebagai satu warna dan meninggalkan setiap jenis fail lain sebagai warna lalai. Katakan kita mahu membuat fail dengan sambungan fail desktop. Warna cyan yang digariskan juga. Kita boleh menjalankan arahan berikut untuk berbuat demikian:

    LS_COLORS = "di = 1: 31: *. Desktop = 4; 36"

    Ini memberitahu ls direktori itu (di) adalah (=) berani (1;) merah (31) dan (:) mana-mana fail yang berakhir di .desktop (* .desktop) adalah (=) digariskan (4;) cyan (36).

    Ini adalah proses untuk menyusun senarai jenis dan warna fail anda. Tentukan seberapa banyak yang anda suka dalam bentuk filetype = warna, memisahkan masing-masing dengan huruf besar (:).

    Untuk mengumpulkan senarai anda sendiri, anda hanya perlu mengetahui senarai kod warna dan kod jenis fail. Ini menggunakan kod warna berangka yang sama yang anda gunakan semasa menukar warna dalam prompt Bash anda.

    Inilah senarai kod warna untuk teks latar depan:

    • Hitam: 30
    • Biru: 34
    • Cyan: 36
    • Hijau: 32
    • Ungu: 35
    • Merah: 31
    • Putih: 37
    • Kuning: 33

    Sebagai contoh, kerana teks kuning adalah kod warna 33, anda akan menggunakannya di = 33 untuk membuat direktori kuning.

    Inilah senarai atribut warna teks:

    • Teks Biasa: 0
    • Teks Bold atau Cahaya: 1 (Ia bergantung kepada emulator terminal.)
    • Teks Dim: 2
    • Teks yang digariskan: 4
    • Berkedip Teks: 5 (Ini tidak berfungsi dalam kebanyakan emulator terminal.)
    • Teks Terbalik: 7 (Ini mengubah latar depan dan warna latar belakang, jadi anda akan melihat teks hitam pada latar belakang putih jika teks semasa adalah teks putih pada latar belakang hitam.)
    • Teks Tersembunyi: 8

    Apabila menyatakan atribut atau lebih daripada satu kod warna, masukkan senarai kod dengan huruf koma (); Anda tidak perlu menentukan 0 untuk teks biasa, seperti teks biasa digunakan apabila anda tidak menentukan atribut di sini.

    Sebagai contoh, kerana teks berani ialah kod warna 1 dan teks berwarna kuning adalah kod warna 33, anda akan gunakan di = 1; 33 untuk membuat direktori kuning berani. Anda juga boleh menentukan lebih daripada satu atribut. Sebagai contoh, anda boleh menggunakannya di = 1; 4; 33 untuk membuat direktori berani, digariskan kuning.

    Inilah senarai kod 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

    Sebagai contoh, kerana latar belakang biru adalah kod warna 44, anda akan menggunakannya di = 44 untuk menggunakan latar belakang biru untuk direktori. Anda juga boleh menggabungkan kod warna latar belakang, kod warna latar depan, dan banyak atribut yang anda suka. Sebagai contoh, di = 1; 4; 33; 44 akan memberikan teks berwarna kuning yang berani, digariskan pada latar belakang biru.

    Inilah senarai kod jenis fail:

    • Direktori: di
    • Fail: fi
    • Pautan Simbolik: ln
    • Dinamakan Paip (FIFO): pi
    • Socket: jadi
    • Blok Peranti: bd
    • Peranti Watak: cd
    • Pautan Simbolik Orphan (menunjuk pada fail yang tidak lagi wujud): atau
    • Fail yang hilang (fail yang dimiliki pautan anak simbol yatim piatu): mi
    • Fail Eksekusi (mempunyai kebenaran "x"): ex
    • * .extension: Sebarang fail yang berakhir dengan lanjutan yang anda tentukan. Sebagai contoh, gunakan * .txt untuk fail yang berakhir di .txt, * .mp3 untuk fail yang berakhir dengan .mp3, * .desktop untuk fail yang berakhir dalam .desktop, atau apa sahaja yang anda suka. Anda boleh menentukan seberapa banyak sambungan fail berbeza yang anda suka.

    Tentukan seberapa banyak jenis kod fail jenis dengan banyak warna yang anda suka, dipisahkan oleh: aksara. Ulangi proses ini untuk memasang pemboleh ubah LS_COLORS anda.

    Sebagai contoh, katakan anda ingin menggunakan teks berani ungu untuk direktori, teks merah bergaris bawah untuk fail boleh laku, dan teks berani hijau pada latar belakang merah untuk fail .mp3. Meletakkan bersama-sama kod jenis kod dan kod warna dari senarai di atas, anda akan dapat:

    LS_COLORS = "di = 1; 35: ex = 4; 31: *. Mp3 = 1; 32; 41"

    Cara Tetapkan Warna Default Baru Anda

    Anda kini mempunyai pemboleh ubah LS_COLORS tersuai yang berfungsi dalam sesi Bash semasa. Walau bagaimanapun, anda mungkin mahu menjadikannya kekal supaya ia digunakan secara automatik setiap kali anda memulakan sesi Bash baru tanpa perlu mengingatnya.

    Anda boleh menetapkan pemboleh ubah LS_COLORS tersuai anda-dan mana-mana pemboleh ubah Bash yang anda suka-dengan menambahkannya ke fail .bashrc akaun pengguna anda. Fail ini terletak di ~ / .bashrc. Jadi, jika nama pengguna anda bob, anda akan dapati di /home/bob/.bashrc. Ada cara lain untuk menetapkan pembolehubah persekitaran juga, tetapi ini adalah yang mudah.

    Pertama, buka fail ini dalam editor teks pilihan anda. Kami akan menggunakan nano di sini sebagai contoh, tetapi anda boleh menggunakan vi, emacs, atau apa sahaja yang anda suka.

    nano ~ / .bashrc

    Tambah pemboleh ubah LS_COLORS tersuai anda ke baris baru pada akhir fail, seperti:

    LS_COLORS = "di = 1; 35: ex = 4; 31: *. Mp3 = 1; 32; 41"

    Simpan fail dan keluar. Dalam nano, tekan Ctrl + O dan kemudian tekan Enter untuk menyimpan, kemudian tekan Ctrl + X untuk keluar.

    Setiap kali anda memulakan sesi Bash baru, Bash akan membaca fail .bashrc dan menetapkan pembolehubah LS_COLORS anda secara automatik. Untuk menukar warna anda pada masa akan datang, kembali ke fail .bashrc anda dan edit baris LS_COLORS.

    Anda juga boleh memadam sahaja LS_COLORS = baris yang anda tambah ke fail .bashrc anda untuk menggunakan warna lalai sekali lagi. Jika anda tidak menetapkan nilai LS_COLORS, Bash akan menggunakan warna lalai.