Πώς να αλλάξετε τα χρώματα των καταλόγων και των αρχείων στην εντολή ls
Αν έχετε τρέξει το ls
εντολή στο Bash, θα παρατηρήσετε ότι οι κατάλογοι και τα αρχεία που βλέπετε είναι χρωματισμένα ανάλογα με τον τύπο τους. Μπορείτε να προσαρμόσετε το δικό σας σχήμα χρωμάτων για να επιλέξετε διαφορετικά χρώματα κειμένου, χρώματα φόντου και μορφοποίηση όπως τολμηρά και υπογραμμισμένα.
Πώς λειτουργεί αυτό
Το χρωματικό σχήμα αποθηκεύεται στη μεταβλητή LS_COLORS. Για να δείτε την τρέχουσα σχεδίαση χρωμάτων, μπορείτε να πείτε στο Bash να εκτυπώσει τα περιεχόμενα της μεταβλητής:
echo $ LS_COLORS
Θα δείτε μια μακρά λίστα τύπων αρχείων και κωδικών αριθμών. Θα σας εξηγήσουμε πώς μπορείτε να δημιουργήσετε έναν κατάλογο όπως εσείς ο ίδιος.
Πριν να παίξετε με αυτό, σας συνιστούμε να αποθηκεύσετε το τρέχον περιεχόμενο της μεταβλητής LS_COLORS σε μια άλλη μεταβλητή. Αυτό θα σας επιτρέψει να επαναφέρετε γρήγορα τις προεπιλεγμένες ρυθμίσεις χωρίς να αποσυνδεθείτε από το κέλυφος και να επιστρέψετε ή να κλείσετε και να ανοίξετε ξανά το παράθυρο του τερματικού. Για να αποθηκεύσετε το τρέχον περιεχόμενο της μεταβλητής LS_COLORS σε μια νέα μεταβλητή που ονομάζεται ORIGINAL, εκτελέστε:
ORIGINAL = $ LS_COLORS
Ανά πάσα στιγμή, μπορείτε να εκτελέσετε την ακόλουθη εντολή για να αναιρέσετε τις αλλαγές σας και να επαναφέρετε τα προεπιλεγμένα χρώματα:
LS_COLORS = $ ORIGINAL
Οι αλλαγές σας είναι πάντα προσωρινές έως ότου επεξεργαστείτε ένα αρχείο για να τις καταστήσετε νέες. Μπορείτε πάντα να αποσυνδεθείτε και να συνδεθείτε ξανά ή να κλείσετε και να ανοίξετε ξανά ένα παράθυρο τερματικού για να επαναφέρετε τα χρώματα στην προεπιλεγμένη ρύθμιση. Ωστόσο, αυτό το καθιστά εύκολο να το κάνετε με μία και μόνο γρήγορη εντολή.
Πώς να ορίσετε προσαρμοσμένα χρώματα
Η μεταβλητή LS_COLORS περιέχει μια λίστα τύπων αρχείων μαζί με τους αντίστοιχους κωδικούς χρωμάτων. Η προεπιλεγμένη λίστα είναι μεγάλη επειδή ορίζει διαφορετικά χρώματα για έναν αριθμό διαφορετικών τύπων αρχείων.
Ας ξεκινήσουμε ένα βασικό παράδειγμα για να δείξουμε πώς λειτουργεί αυτό. Ας υποθέσουμε ότι θέλουμε να αλλάξουμε το χρώμα των καταλόγων από το προεπιλεγμένο έντονο μπλε στο έντονο κόκκινο. Μπορούμε να εκτελέσουμε την ακόλουθη εντολή για να το κάνουμε:
LS_COLORS = "di = 1, 31"
ο di = 1 · 31
bit λέει ls
καταλόγους (di
) είναι (=
) τολμηρός (1.
) το κόκκινο (31
).
Ωστόσο, αυτή είναι μια πολύ απλή μεταβλητή LS_COLORS που ορίζει τους καταλόγους ως ένα χρώμα και αφήνει κάθε άλλο τύπο αρχείου ως προεπιλεγμένο χρώμα. Ας υποθέσουμε ότι θέλουμε να δημιουργήσουμε αρχεία με επέκταση αρχείου .desktop και υπογραμμισμένο κυανό χρώμα. Μπορούμε να εκτελέσουμε την ακόλουθη εντολή για να το κάνουμε:
LS_COLORS = "di = 1: 31: *. Επιφάνεια εργασίας = 4; 36"
Αυτό λέει ls
καταλόγους (di
) είναι (=
) τολμηρός (1.
) το κόκκινο (31
) και (:
) κάθε αρχείο που λήγει στο .desktop (*.επιφάνεια εργασίας
) είναι (=
) υπογράμμισε (4;
) κυανό (36
).
Αυτή είναι η διαδικασία για τη συγκέντρωση της λίστας τύπων αρχείων και χρωμάτων. Καθορίστε όσες θέλετε στη φόρμα filetype = χρώμα, χωρίζοντας το καθένα με ένα τελεία (:).
Για να συγκεντρώσετε τη δική σας λίστα, θα πρέπει απλώς να γνωρίζετε τη λίστα των κωδικών χρωμάτων και των κωδικών τύπων αρχείων. Αυτό χρησιμοποιεί τους ίδιους αριθμητικούς κωδικούς χρώματος που χρησιμοποιείτε όταν αλλάζετε το χρώμα στη γραμμή εντολών Bash.
Εδώ είναι ο κατάλογος των κωδικών χρώματος για το κείμενο του προσκηνίου:
- Μαύρο: 30
- Μπλε: 34
- Κυανό: 36
- Πράσινο: 32
- Μωβ: 35
- Κόκκινο: 31
- Λευκό: 37
- Κίτρινο: 33
Για παράδειγμα, επειδή το κίτρινο κείμενο είναι κωδικός χρώματος 33, θα χρησιμοποιούσατε di = 33
να κάνουν τους καταλόγους κίτρινο.
Ακολουθεί η λίστα των χαρακτηριστικών χρωμάτων κειμένου:
- Κανονικό κείμενο: 0
- Έντονο ή ελαφρύ κείμενο: 1 (Εξαρτάται από τον εξομοιωτή τερματικού.)
- Dim Text: 2
- Υπογραμμισμένο κείμενο: 4
- Κείμενο που αναβοσβήνει: 5 (Αυτό δεν λειτουργεί στα περισσότερα εξομοιωτές τερματικών.)
- Αντιστροφή Κειμένου: 7 (Αυτό αναστρέφει τα χρώματα του προσκηνίου και του φόντου, έτσι θα δείτε μαύρο κείμενο σε λευκό φόντο, εάν το τρέχον κείμενο είναι λευκό κείμενο σε μαύρο φόντο.)
- Κρυμμένο κείμενο: 8
Όταν καθορίζετε ένα χαρακτηριστικό ή περισσότερους από έναν κωδικούς χρώματος, διαχωρίστε τη λίστα των κωδικών με ένα σημάδι (?). Δεν χρειάζεται να καθορίσετε 0 για κανονικό κείμενο, καθώς χρησιμοποιείται κανονικό κείμενο όταν δεν καθορίζετε εδώ ένα χαρακτηριστικό.
Για παράδειγμα, επειδή το έντονο κείμενο είναι χρωματικός κωδικός 1 και το κίτρινο κείμενο είναι ο κωδικός χρώματος 33, θα χρησιμοποιούσατε di = 1 · 33
να κάνουν τους καταλόγους τολμηρό κίτρινο. Μπορείτε επίσης να ορίσετε περισσότερα από ένα χαρακτηριστικά. Για παράδειγμα, θα μπορούσατε να χρησιμοποιήσετε di = 1, 4, 33
για να κάνουν τους κατάλογους τολμηρούς, υπογραμμισμένους κίτρινους.
Εδώ είναι ο κατάλογος των κωδικών χρώματος φόντου:
- Μαύρο φόντο: 40
- Μπλε φόντο: 44
- Κυανό υπόβαθρο: 46
- Πράσινο υπόβαθρο: 42
- Μωβ φόντο: 45
- Κόκκινο φόντο: 41
- Λευκό υπόβαθρο: 47
- Κίτρινο φόντο: 43
Για παράδειγμα, επειδή ένα μπλε φόντο είναι ο κωδικός χρώματος 44, θα χρησιμοποιούσατε di = 44
να χρησιμοποιήσετε ένα μπλε φόντο για καταλόγους. Μπορείτε επίσης να συνδυάσετε έναν κωδικό χρώματος φόντου, έναν κωδικό χρώματος προσκηνίου και όσα χαρακτηριστικά θέλετε. Για παράδειγμα, δι = 1, 4, 33, 44
θα σας έδινε τολμηρό, υπογραμμισμένο κίτρινο κείμενο σε μπλε φόντο.
Ακολουθεί η λίστα των κωδικών τύπων αρχείων:
- Κατάλογος: di
- Αρχείο: fi
- Συμβολική σύνδεση: ln
- Ονομασμένος σωλήνας (FIFO): pi
- Υποδοχή: έτσι
- Αποκλεισμός συσκευής: bd
- Συσκευή χαρακτήρων: cd
- Ορφανός συμβολικός σύνδεσμος (δείχνει ένα αρχείο που δεν υπάρχει πλέον): ή
- Το αρχείο που λείπει (ένα αρχείο που λείπει από έναν ορφανό συμβολικό σύνδεσμο): mi
- Αρχείο εκτελέσιμου (έχει το δικαίωμα "x"): ex
- * .extension: Κάθε αρχείο που τελειώνει με μια επέκταση που καθορίζετε. Για παράδειγμα, χρησιμοποιήστε * .txt για αρχεία που τελειώνουν σε .txt, * .mp3 για αρχεία που τελειώνουν σε .mp3, * .desktop για αρχεία που τελειώνουν στο .desktop ή οτιδήποτε άλλο θέλετε. Μπορείτε να ορίσετε όσες διαφορετικές επεκτάσεις αρχείων θέλετε.
Καθορίστε πολλούς διαφορετικούς τύπους κωδικών τύπων αρχείων με όσα διαφορετικά χρώματα θέλετε, χωρισμένα με τον χαρακτήρα:. Επαναλάβετε αυτήν τη διαδικασία για να συναρμολογήσετε τη μεταβλητή LS_COLORS.
Για παράδειγμα, ας υποθέσουμε ότι θέλετε να χρησιμοποιήσετε έντονο μοβ κείμενο για καταλόγους, υπογραμμισμένο κόκκινο κείμενο για εκτελέσιμα αρχεία και έντονο πράσινο κείμενο σε κόκκινο φόντο για αρχεία .mp3. Συνδυάζοντας τους κωδικούς τύπων αρχείων και τους κωδικούς χρωμάτων από τις παραπάνω λίστες, θα λάβετε:
LS_COLORS = "di = 1 · 35: ex = 4 · 31: *. Mp3 = 1 · 32 · 41"
Πώς να ορίσετε τα νέα σας προεπιλεγμένα χρώματα
Τώρα έχετε μια προσαρμοσμένη μεταβλητή LS_COLORS που λειτουργεί στην τρέχουσα συνεδρία Bash. Ωστόσο, ίσως θέλετε να το κάνετε μόνιμο, ώστε να χρησιμοποιείται αυτόματα κάθε φορά που ξεκινάτε μια νέα συνεδρία Bash χωρίς να χρειάζεται να το θυμάστε αυτό.
Μπορείτε να ορίσετε την προσαρμοσμένη μεταβλητή LS_COLORS - και οποιαδήποτε άλλη μεταβλητή Bash θέλετε - προσθέτοντάς την στο αρχείο .bashrc του λογαριασμού χρήστη. Αυτό το αρχείο βρίσκεται στο ~ / .bashrc. Έτσι, εάν το όνομα χρήστη σας είναι bob, θα το βρείτε στο /home/bob/.bashrc. Υπάρχουν και άλλοι τρόποι για να ορίσετε μεταβλητές περιβάλλοντος, αλλά αυτό είναι απλό.
Αρχικά, ανοίξτε αυτό το αρχείο στον επεξεργαστή κειμένου που προτιμάτε. Για παράδειγμα, θα χρησιμοποιήσουμε το nano, αλλά μπορείτε να χρησιμοποιήσετε vi, emacs ή οτιδήποτε άλλο θέλετε.
nano ~ / .bashrc
Προσθέστε την προσαρμοσμένη μεταβλητή LS_COLORS σε μια νέα γραμμή στο τέλος του αρχείου, όπως π.χ.:
LS_COLORS = "di = 1 · 35: ex = 4 · 31: *. Mp3 = 1 · 32 · 41"
Αποθηκεύστε το αρχείο και εξόδου. Στο nano, πατήστε Ctrl + O και στη συνέχεια πατήστε Enter για αποθήκευση και, στη συνέχεια, πατήστε Ctrl + X για έξοδο.
Κάθε φορά που ξεκινάτε μια νέα συνεδρία Bash, ο Bash θα διαβάσει το αρχείο .bashrc και θα ορίσει αυτόματα τη μεταβλητή LS_COLORS. Για να αλλάξετε τα χρώματα σας στο μέλλον, επιστρέψτε στο αρχείο .bashrc και επεξεργαστείτε τη γραμμή LS_COLORS.
Μπορείτε επίσης να διαγράψετε μόνο το LS_COLORS =
γραμμή που προσθέσατε στο αρχείο .bashrc για να χρησιμοποιήσετε ξανά τα προεπιλεγμένα χρώματα. Αν δεν ρυθμίσετε την τιμή LS_COLORS, το Bash θα χρησιμοποιήσει τα προεπιλεγμένα χρώματα.