Certains de mes dossiers sont surlignés en vert
Que signifie la surbrillance verte? Comment puis-je supprimer la surbrillance et la rendre semblable à d'autres?
terminal: gnome-terminal .
système: Ubuntu 16.04
La réponse à votre question est cachée dans les réponses à la fois Que signifient les différentes couleurs dans le terminal? et Comment changer la couleur des répertoires avec ls dans la console? =
La surbrillance verte est due au fait que vos répertoires sont inscriptibles par d’autres (o+w
) et non collants.
Cela explique donc pourquoi ils sont surlignés en vert, mais vous demandez également comment les supprimer. Vous dites "faites en sorte que cela ressemble aux autres", ce qui signifie que je suppose que vous voulez parler de répertoires normaux. Ouvrez votre ~/.bashrc
et ajoutez ce qui suit au bas:
export LS_COLORS="$LS_COLORS:ow=1;34:tw=1;34:"
sauvegardez le fichier puis exécutez
source ~/.bashrc
Maintenant, ils auront la même apparence que n'importe quel autre répertoire. Notez cependant que le système pense que ce sont des informations que vous devriez être en mesure de voir. Ainsi, vous ne pourrez plus les voir facilement. Pensez à choisir une couleur d'arrière-plan différente dans la liste ci-dessous . Je pense que le violet n'est pas trop mauvais (ow=1;34;45:
)
Explication:
ow
signifie 'autre, accessible en écriture', tw
est 'collant, accessible en écriture' (l'autre condition ayant un arrière-plan vert). J'ai trouvé ces valeurs en examinant le contenu de $LS_COLORS
sur mon système, en recherchant les valeurs avec une couleur d'arrière-plan de 42 (vert). Le code de couleur a 3 colonnes (les colonnes non utilisées sont laissées):
bold;font-color;bg-color
Cela est dû au fait que vous avez donné l'autorisation write
à une autre personne, ce qui signifie autre que le propriétaire du fichier et non dans le groupe. Vérifiez les autorisations avec ls -l
ou ll
. Supprimez l'autorisation d'écriture de chmod 0755 directory_name
, afin qu'il ressemble à d'autres répertoires.
Nous pouvons l'implémenter avec la méthode os.listdir () de Python. Vous trouverez ci-dessous un exemple de fichier Python: /mnt/home/uname/Documents/reverseVideo.py.
importation os
de stat import *
classe 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)
Alternativement, on pourrait coder la dernière ligne comme ci-dessous :
os.chmod(path,oct(os.stat(path)[ST_MODE])[-3:])
Ensuite, nous pouvons l’appeler dans un shell interactif python3:
>>> sys.path.append("/mnt/home/uname/Documents/")
>>> from reverseVideo import Rvideo
>>> d = Rvideo("/some/directory")
>>> d.other_no_write()