[tty] 'ls': farbigesVerzeichnis/; directory im Prompt?

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
minze
Beiträge: 15
Registriert: 01.04.2006 18:33:50

[tty] 'ls': farbigesVerzeichnis/; directory im Prompt?

Beitrag von minze » 04.07.2007 13:00:46

Hallo,

1) wie kann man (global für alle und wie userbezogen) einstellen, dass auf dem tty (non-X-terminal oder KDE-Konsole) beim Aufruf von ls (mit oder ohne Optionen) die gezeigten Verzeichnisse in Farbe (blau) und mit einem Slash am Ende erscheinen und so auf den ersten Blick als Verzeichnisse zu erkennen sind?

Folgende - nicht von mir durchgeführte - Voreinstellungen sind bereits auf dem DebianEtch gemacht die ich aber gerne nachvollziehen und ggf. ändern würde (was in welche configs eintragen?):

~$ echo $LS_COLORS -> no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01; ...
~# echo $LS_COLORS gibt nichts aus obwohl root und(!) user Farbverzeichnisse bekommen dafür nur root auch zusätzlich den Slash am ende des Verzeichnisses, wie kommt das?
Sind für den user mit dircolors die Farben gesetzt aber nicht für root? Aber wie kann dann root mit ls trotzdem blaue Verzeichnisse anzeigen (das ganze Farbspektrum aus dircolors für die jeweiligen Dateitypen möchte ich nicht, da mir die ls-Ausgabe zu bunt wird, deswegen nur die Verzeichnisse in blau)?

Klar, dass man bei 'ls -l' am d das directory erkennt, aber ich möchte dennoch das Ergebnis von ls ohne -l in Farbe und mit Slash.

2) Wie kann ich den Prompt so einstellen, dass er mir immer das Verzeichnis anzeigt, in dem ich mich aktuell befinde?

Danke schon mal.

Ciao

jhr-online
Beiträge: 2186
Registriert: 18.09.2005 15:52:02
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Beitrag von jhr-online » 04.07.2007 13:16:15

Du kannst systemweite Einstellungen der Bash in der /etc/bash.bashrc setzen, genauso wie in denen für einzelne Benutzer in /home/benutzer/.bashrc. Wie du ls farbig bekommst, weißt du ja, wenn ich dich richtig verstehe.
Der Prompt wird in den gleichen Dateien geregelt, sollte aber standardmäßig das Verzeichnnis mit anzeigen. Du kannst aber Feineinstellungen ändern in der Zeile, die mit "PS1=" anfängt.

jhr
Desktop: Intel Core2Quad Q8300 2.5GHz, 256GB SSD + 1 TB HDD, 8 GB RAM, Debian Sid, Kernel 3.13

minze
Beiträge: 15
Registriert: 01.04.2006 18:33:50

Beitrag von minze » 04.07.2007 15:17:46

jhr-online hat geschrieben:Du kannst systemweite Einstellungen der Bash in der /etc/bash.bashrc setzen, genauso wie in denen für einzelne Benutzer in /home/benutzer/.bashrc. Wie du ls farbig bekommst, weißt du ja, wenn ich dich richtig verstehe.
Ich verstehe immer noch nicht, warum echo $LS_COLORS vom obigen Beispiel (aus meinem ersten Beitrag) zwei verschiedene Ergebnisse bringt.

Ich weiss, wie man alle(!) Farben mit dircolors nach folgender Anleitung ändert: http://www.linux-user.de/ausgabe/2004/0 ... index.html

Ich weiss aber nicht wie man die Farben so ändert, wie ich im ersten Beitrag geschrieben habe: Nur die Verzeichnisse in blau und mit Slash am Ende. Habe versucht die Farbe auf blau bei Verzeichnissen zu ändern, indem ich analog zu der Anleitung in die /etc/bash.bashrc Folgendes am Ende hizugefügt habe:
LS_COLORS='no=00:fi=00:di=01;34:';
export LS_COLORS
Hat jetzt aber nur dazu geführt, dass alles mit ls nur noch schwarz angezeigt wird:-(
Vor dieser Aktion hat es aber blaue Verzeichnisse angezeigt. Es kann also auch nicht am evtll. Konflikt mit der ~/.bashrc liegen.
Der Prompt wird in den gleichen Dateien geregelt, sollte aber standardmäßig das Verzeichnnis mit anzeigen. Du kannst aber Feineinstellungen ändern in der Zeile, die mit "PS1=" anfängt.
In der /etc/bash.bashrc steht ua:
# set a fancy prompt (non-color)
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
In der /root/ .bashrc, die statt der bash.bashrc beim root greift steht:
PS1='\[`precmd`\]\[\033[01;31m\]\u@\h:\w# \[\033[0m\]'
Ich brauche also diese letzte Zeile in die bash.bashrc kopieren, damit es global für root gilt?

Wie erreiche ich, dass jeder normal-user (bereits bestehender und neu angelegter) einen grünen Prompt und den vollen Verzeichnispfad des aktuellen Verzeichnisses am Prompt bekommt?

jhr-online
Beiträge: 2186
Registriert: 18.09.2005 15:52:02
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Beitrag von jhr-online » 04.07.2007 17:18:05

minze hat geschrieben:Ich weiss aber nicht wie man die Farben so ändert, wie ich im ersten Beitrag geschrieben habe
Das weiß ich auch nicht aus dem Stegreif.
minze hat geschrieben:Ich brauche also diese letzte Zeile in die bash.bashrc kopieren, damit es global für root gilt?
Na, was denn jetzt? Global oder nur für Root?
Root hat wie jeder User seine eigene .bashrc. Da kannst du seine Einstellungen setzen - genauso wie bei jedem User :).
minze hat geschrieben:Wie erreiche ich, dass jeder normal-user (bereits bestehender und neu angelegter) einen grünen Prompt und den vollen Verzeichnispfad des aktuellen Verzeichnisses am Prompt bekommt?
Die neu angelegten User beziehen ihre .bashrc aus /etc/bash.bashrc, wenn ich mich recht erinnere. Die müssten also die Änderungen von da mitnehmen. Bereits erstellte User musst du von Hand ändern (oder global ändern und ihnen die .bashrc wegnehmen; das könnte auch gehen)...

jhr
Desktop: Intel Core2Quad Q8300 2.5GHz, 256GB SSD + 1 TB HDD, 8 GB RAM, Debian Sid, Kernel 3.13

fuzzy
Beiträge: 1021
Registriert: 04.10.2003 12:15:52

Beitrag von fuzzy » 04.07.2007 17:41:27

Hallo minze,

Kurztipp: Farbiges Bash-Prompt
http://www.pro-linux.de/news/2002/0083.html

und für ein "/" hinter Verzeichnissen

Code: Alles auswählen

ls -F
ich habe das als alias für "ls" und "ll" mit eingebaut.

Gruß fuzzy

Antworten