hässliche Farbe für Verzeichnisse im Gnomterminal?

10

Geben Sie hier die Bildbeschreibung ein

Einige meiner Ordner sind grün hervorgehoben

Was bedeutet die grüne Hervorhebung? Wie kann ich das Highlight entfernen und sie anderen ähnlich sehen lassen?

Terminal: Gnom-Terminal .

System: Ubuntu 16.04

Ashu_FalcoN
quelle
Entschuldigung - möglicherweise Was bedeuten die verschiedenen Farben im Terminal? ist näher an dem, was Sie fragen:
Insbesondere
Eine einfache Lösung besteht darin, den dirBefehl anstelle von lsoder zu verwenden ls -l. Eine sehr ausführliche Erklärung finden Sie unter askubuntu.com/questions/103913/…. Siehe insbesondere die Antwort von Eliah Kagan.
ThisIsNotAnId
Öffnen Sie dies erneut, da in der anderen Frage nicht erläutert wird, wie die Hervorhebung geändert werden kann. Diese Frage deckt einen Teil davon ab, aber ich bin nicht sicher, ob sie hier zutrifft oder ausreicht, um die Frage zu beantworten.
Seth

Antworten:

18

Die Antwort auf Ihre Frage ist in den Antworten auf beide Fragen verborgen. Was bedeuten die verschiedenen Farben im Terminal? und Wie ändere ich die Farbe für Verzeichnisse mit ls in der Konsole?

Die Ursache für die grüne Hervorhebung liegt darin, dass Ihre Verzeichnisse von other ( o+w) beschreibbar und nicht klebrig sind.

Das erklärt, warum sie grün hervorgehoben sind, aber Sie fragen auch, wie Sie sie entfernen können. Sie sagen "Lass es wie die anderen aussehen", womit ich annehme, dass du normale Verzeichnisse meinst. Öffnen Sie Ihre ~/.bashrcund fügen Sie Folgendes unten hinzu:

export LS_COLORS="$LS_COLORS:ow=1;34:tw=1;34:"

Speichern Sie die Datei und führen Sie sie aus

source ~/.bashrc

Jetzt sehen sie genauso aus wie jedes andere Verzeichnis. Beachten Sie jedoch, dass das System der Ansicht ist, dass dies Informationen sind, die Sie sehen sollten. Auf diese Weise können Sie sie nicht mehr leicht sehen. Wählen Sie hier eine andere Hintergrundfarbe aus der Liste . Ich denke lila ist nicht schlecht ( ow=1;34;45:)

Geben Sie hier die Bildbeschreibung ein

Erläuterung:

owsteht für "andere, beschreibbar", twist "klebrig, beschreibbar" (die andere Bedingung, die einen grünen Hintergrund hat). Ich habe diese Werte gefunden, indem ich den Inhalt $LS_COLORSmeines Systems auf Werte mit einer Hintergrundfarbe von 42 (grün) untersucht habe. Der Farbcode besteht aus 3 Spalten (nicht verwendete Spalten werden weggelassen):

bold;font-color;bg-color
Seth
quelle
Das funktioniert bei mir!
Rangangsiman vor
2

Dies liegt daran, dass Sie writeanderen Berechtigungen erteilt haben , dh nicht dem Dateieigentümer und nicht der Gruppe. Überprüfen Sie die Berechtigungen mit ls -loder ll. Entfernen Sie die Schreibberechtigung von anderen durch chmod 0755 directory_name, damit sie anderen Verzeichnissen ähnelt.

Shivaditya
quelle
1
Nach den Namen der meisten entfernten Verzeichnisse zu urteilen, kann die Schreibberechtigung das Verhalten ändern oder einige Apps beschädigen. Vielleicht möchten Sie davor warnen.
Chaskes
0

Wir können es mit Pythons os.listdir () -Methode implementieren . Unten finden Sie eine Python-Beispieldatei : /mnt/home/uname/Documents/reverseVideo.py.

import os

from stat import *

class Rvideo:

    def __init__(self, path):
        self.pathname = path

    def other_no_write(self):
        td = self.pathname
        for f in os.listdir(td):
            path = os.path.join(td,f)
            mode = os.stat(path).st_mode                       
            if S_ISDIR(mode):
                os.chmod(path, mode & ~S_IWOTH & 0o777)

Alternativ könnte man die letzte Zeile wie Code unten :

os.chmod(path,oct(os.stat(path)[ST_MODE])[-3:])

Dann können wir es in einer interaktiven Python3-Shell aufrufen:

>>> sys.path.append("/mnt/home/uname/Documents/")
>>> from reverseVideo import Rvideo
>>> d = Rvideo("/some/directory")
>>> d.other_no_write()
Leon Chang
quelle