BEZEICHNUNG¶
wcd - Wherever Change Directory
chdir für DOS und Unix
ÜBERSICHT¶
wcd [Optionen] [Verzeichnis]
BESCHREIBUNG¶
Übersicht¶
Wcd ist ein Befehlszeilenprogramm zum schnellen Verzeichniswechsel. Es spart
Zeit bei Tastatureingaben. Sie brauchen nur den Teil eines Verzeichnisnamens
einzugeben, und wcd wechselt dorthin. Im Falle mehrerer Treffer verfügt
wcd über eine Methode zur Schnellauswahl und ermöglicht die
Definition von Aliasen und das Verbannen von Verzeichnissen. Außerdem
beinhaltet wcd einen interaktiven Verzeichnisbaumbrowser im Vollbildmodus mit
schneller Suche.
Wcd wurde nach dem Vorbild des Norton Change Directory (NCD) entworfen. NCD
erschien zuerst 1987 in
The Norton Utilities, Release 4 für DOS,
veröffentlicht von Peter Norton.
Wcd wurde auf verschiedene Befehlszeileninterpreter portiert: DOS (command.com),
Windows (cmd.exe und PowerShell), OS/2 (cmd.exe) sowie Unix-Shells wie Bourne-
(sh), Bourne-Again- (bash), Korn- (ksh), Z- (zsh) und die C- (csh) Shell und
weitere auf verschiedenen Betriebssystemen ausführbare Shells.
Wcd unterstützt 8-Bit-Zeichensätze auf allen Systemen und
verfügt über optionale Unterstützung für Unicode.
Weitere Informationen hierzu finden Sie im Abschnitt LOKALISIERUNG.
Im Abschnitt INSTALLATION finden Sie Anweisungen, wie Sie wcd an Ihre
persönlichen Wünsche anpassen können.
Grundlegende Verwendung¶
Per Vorgabe (wenn keine Platzhalter verwendet werden) sucht wcd nach einem
Verzeichnis, dessen Name mit dem eingegebenen Namen beginnt.
Beispielsweise wechselt dieser Befehl in das Verzeichnis
"/home/user/Desktop" des aktuellen Benutzers:
wcd Desk
Bei mehreren möglichen Übereinstimungen zeigt wcd eine Liste aller
Möglichkeiten an. Der Benutzer kann dann mit einigen
Tastenkürzeln seine Auswahl treffen (meist nur mit einem).
Platzhalter¶
Wcd unterstützt die folgenden Platzhalter:
* findet jede Zeichensequenz (kein oder mehr Zeichen)
? findet jedes einzelne Zeichen
[GRUPPE] findet jedes Zeichen in der angegebenen Gruppe,
[!GRUPPE] oder [^GRUPPE] findet jedes Zeichen, das in der angegebenen
GRUPPE nicht enthalten ist.
Eine Gruppe wird als Zeichen oder Bereich angegeben. Ein Bereich folgt der Form
Zeichen minus Zeichen, zum Beispiel "0-9" oder
"A-Z". Dabei ist "[0-9a-zA-Z_]" die minimal
mögliche Gruppe nach dem Muster "[..]". Internationale
Zeichen (zum Beispiel 8-Bit-Zeichen) sind erlaubt, falls das System diese
unterstützt. Um die besondere syntaktische Bedeutung der Zeichen
"[]*?!^-\" innerhalb oder außerhalb des Musters
"[..]" zu berücksichtigen, so dass das exakte Zeichen
gefunden wird, stellen Sie dem Zeichen einen Rückschrägstrich
("\") voran, um es zu maskieren.
Die Verwendung von Platzhaltern ermöglicht eine leistungsfähige
Suche. Beispielsweise findet folgende Anfrage alle Verzeichnisse, deren Name
auf »top« endet:
wcd *top
Nach Verzeichnissen suchen, deren Name an einer beliebigen Stelle
»top« enthält:
wcd *top*
Nach Verzeichnissen suchen, deren Name mit »a«, »b«,
oder »c« beginnt:
wcd [a-c]*
Es ist auch möglich, einen Teil eines Verzeichnispfades anzugeben. Hier
sucht Wcd nach Verzeichnissen, die mit »Desk« beginnen und der
Pfad auf
*me/Desk* passt.
wcd me/Desk
Es ist möglich, jede Art von Ausdruck mit Schrägstrichen und
Platzhaltern einzugeben, zum Beispiel:
wcd src*/*1?/a*2
Weitere Anwendungsfälle¶
Falls keine Platzhalter verwendet werden und wcd eine perfekte
Übereinstimmung findet, werden alle »unscharfen«
Übereinstimmungen per Vorgabe ignoriert. Dieses Verhalten kann mit der
Option
-w geändert werden.
Der interaktive Verzeichnisbaumbrowser kann mit der Option
-g gestartet
werden.
wcd -g
Wcd generiert eine Baumdatei, in der nach dem Verzeichnis gesucht wird. Auf
Unix- und Windows-Systemen fügt wcd beim Einlesen des Laufwerksinhalts
symbolische Links zur Baumdatei hinzu, folgt diesen aber nicht. Dies wird
deshalb unterdrückt, weil das Einlesen in einer Endlosschleife enden
könnte oder größere Teile eines Netzwerks eingelesen
werden müssten.
Wcd kann auch in Verzeichnisse wechseln, die nicht in der Baumdatei enthalten
sind, zum Beispiel:
wcd ..
Falls wcd einen Treffer findet, aber nicht in das Verzeichnis wechseln kann,
versucht es, dieses Verzeichnis aus der Baumdatei zu entfernen, jedoch nicht
aus der zusätzlichen Baumdatei. Siehe auch die Option
-k.
Wcd erstellt einen Verzeichnisstapel, der auf dem Laufwerk gespeichert wird. Der
Stapel hat die vorgegebene Größe 10 und ist zyklisch. Siehe die
Optionen
-z,
-,
+ und
=.
In Umgebungen mit mehreren Benutzern kann mit der Option
-u in die
Verzeichnisse anderer Benutzer gewechselt werden.
Auf DOS- und Windows-Systemen ist es nicht von Bedeutung, ob Sie einen
Schrägstrich »/« oder einen
Rückschrägstrich »\« als Verzeichnistrenner
verwenden.
Auf DOS- und Windows-Systemen ist es möglich, gleichzeitig das Laufwerk
und das Verzeichnis zu wechseln, indem Sie dem Verzeichnisnamen den
Laufwerksnamen voranstellen.
wcd d:games
UNC-Pfade unter Windows¶
Die Windows-Versionen (Befehlszeileninterpreter, PowerShell, MSYS, zsh, cygwin)
unterstützen SMB-LAN-UNC-Pfade ohne Laufwerksbuchstaben wie
"\\Servername\Freigabename". Wcd für den
Windows-Befehlszeileninterpreter benutzt den »pushd«-Befehl, um
einem UNC-Pfad automatisch einen Laufwerksbuchstaben zuzuordnen. In der
Windows PowerShell, MSYS, zsh und Cygwin werden UNC-Pfade vollständig
unterstützt. Das aktuelle Arbeitsverzeichnis kann ein UNC-Pfad sein.
Schnittstellen¶
Wcd verfügt über drei verschiedene Schnittstellen, um aus einer
Übereinstimmungsliste zu wählen. Die Schnittstelle wird bei der
Kompilierung ausgewählt.
Die erste Schnittstelle verwendet die Standardeingabe und -ausgabe
(stdin/stdout). Eine nummerierte Liste wird im Terminal ausgegeben. Sie
können aus dieser Liste wählen, indem Sie eine Zahl eingeben und
die <Eingabetaste> drücken. Diese Liste kann nicht
zurückgerollt werden, wenn sie für die Bildschirmausgabe zu lang
ist. Dafür muss die Zurückrollfunktion des Terminals oder der
Konsole verwendet werden. Diese Schnittstelle ist sehr klein und portabel.
Die zweite Schnittstelle setzt auf der Conio-Bibliothek auf. Hier ist eine
Zurückrollfunktion bereits eingebaut. Wiederum wird eine Liste
angezeigt, die aber hier Buchstaben als Aufzählungszeichen verwendet.
Zur Auswahl eines Listeneintrags drücken Sie einfach die entsprechende
Buchstabentaste. Wenn möglich, wird der Bildschirminhalt nach dem
Beenden wiederhergestellt. Wenn Sie Zahlen anstatt Buchstaben bevorzugen,
können Sie die Option
-N verwenden.
Die dritte Schnittstelle verwendet die Curses-Bibliothek und ist ähnlich
der Conio-Schnittstelle. Die Curses-Schnittstelle von wcd hat
zusätzlich auch eine »grafische« Oberfläche. Sie
können ein Verzeichnis in einem interaktiven Verzeichnisbaumbrowser im
Vollbildmodus auswählen. Die Navigation und Suchmethoden sind
ähnlich wie in
vim(1). Diese Schnittstelle kann mit der Option
-g aktiviert werden.
Mit der Option
-o ist es jederzeit möglich, auf die
stdin/stdout-Schnittstelle (Standardeingabe/Standardausgabe) auszuweichen.
OPTIONEN¶
- -a
- fügt den aktuellen Pfad zur vorgegebenen Baumdatei hinzu.
Verwenden Sie diese Option, um schnell den aktuellen Pfad zur Baumdatei
hinzuzufügen. Das erneute Einlesen des kompletten Laufwerks kann in
manchen Fällen recht lange dauern.
- -aa
- fügt den aktuellen und alle übergeordneten Pfade zur
vorgegebenen Baumdatei hinzu.
- -A PFAD
- liest den Verzeichnisbaum aus PFAD und fügt ihn zur
vorgegebenen Baumdatei hinzu. Beispiele:
wcd -A .
wcd -A /home -A /etc
wcd -A d: -A e: -A \\server\share
Unter Windows können Sie alle freigegebenen Verzeichnisse eines
Windows-LAN-Servers einlesen, indem Sie etwa Folgendes eingeben: "wcd
-A \\Servername".
Siehe auch die Optionen -S, -s und -E.
- -b
- verbannt den aktuellen Pfad.
Wcd speichert den aktuellen Pfad in der Bann-Datei. Das bedeutet, dass
zukünftig alle Übereinstimmungen ignoriert werden, die sich
auf dieses Verzeichnis und dessen Unterverzeichnisse beziehen.
Die Bann-Datei kann mit einem Texteditor bearbeitet werden. Die Verwendung
von Platzhaltern ist möglich, außerdem werden
Namensübereinstimmungen auf den absoluten Pfad bezogen.
Verbannte Pfade werden beim Einlesen des Laufwerks nicht ausgeschlossen. Um
dies zu tun, verwenden Sie die Option -xf.
- -c, --direct-cd
- Direkter CD-Modus. Per Vorgabe arbeitet wcd wie folgt:
1. Es wird versucht, einen Treffer in der oder den Baumdatei(en)
zu finden.
2. Wird nichts gefunden, wird versucht, das eingegebene
Verzeichnis zu öffnen.
Im direkten CD-Modus arbeitet wcd in umgekehrter Reihenfolge:
1. Es wird versucht, das eingegebene Verzeichnis zu öffnen.
2. Wird nichts gefunden, wird nach einem Treffer in der oder
den Baumdatei(en) gesucht.
- -d LAUFWERK
- legt das Laufwerk für den Verzeichnisstapel und die Go-Datei fest
(nur DOS).
Die Stapeldatei und das Go-Skript werden per Vorgabe im Laufwerk
»C:« gespeichert, wenn die Umgebungsvariable HOME
nicht gesetzt ist. Verwenden Sie diese Option, wenn »C:« ein
schreibgeschütztes Laufwerk ist. Diese Option muss vor den
Stapeloptionen -, + und = stehen.
- -e
- fügt den aktuellen Pfad zur zusätzlichen Baumdatei hinzu.
Verwenden Sie diese Option, um schnell den aktuellen Pfad zur
zusätzlichen Baumdatei hinzuzufügen.
- -ee
- fügt den aktuellen Pfad und alle übergeordneten Pfade zur
zusätzlichen Baumdatei hinzu.
- -E PFAD
- liest den Verzeichnisbaum aus PFAD und fügt ihn zur
zusätzlichen Baumdatei hinzu. Siehe auch die Optionen -A und
-S.
- -f DATEI
- liest die Baumdatei DATEI. Die vorgegebene Baumdatei wird nicht
gelesen.
- +f DATEI
- liest die Baumdatei DATEI zusätzlich zur vorgegebenen
Baumdatei.
- -g
- verwendet die grafische Benutzeroberfläche (nur in Versionen mit
curses-Schnittstelle).
Wcd startet eine textbasierte, auf der Curses-Bibliothek aufsetzende
»grafische« Schnittstelle. Sie können ein Verzeichnis
in einem interaktiven Verzeichnisbaumbrowser im Vollbildmodus
auswählen. Die Navigation und Suchmethoden sind ähnlich wie
in vim(1).
Wenn keine Suchzeichenkette angegeben ist, stellt wcd den gesamten Baum aus
den Inhalten der vorgegebenen und der zusätzlichen Baumdatei dar.
Wenn eine Suchzeichenkette angegeben ist, wird die Trefferliste als
Verzeichnisbaum angezeigt.
Die vorgegebene Ansicht des Baums ähnelt der Ansicht im originalen
NCD unter DOS. Der Unterschied besteht darin, dass in NCD alle
Verzeichnisse der gleichen Pfadtiefe im gesamten Baum vertikal angeordnet
werden. Das war in NCD möglich, da ein Verzeichnisname in DOS nicht
länger als 12 Zeichen (8.3) sein durfte. Auf modernen
Betriebssystemen können Verzeichnisnamen sehr lang sein,
außerdem sind große Unterschiede bei den Längen der
Namen der verschiedenen Verzeichnisse möglich. Deswegen werden
Verzeichnisse der gleichen Pfadtiefe in wcd nicht im gesamten Baum
vertikal ausgerichtet, sondern nur in Verzweigungen. Daher kann es zu
Seitenbewegungen kommen, wenn Sie eigentlich in der Hierarchie direkt nach
oben oder von einer Verzweigung zu einer anderen navigieren wollen.
Das Navigationsverhalten in Wcd ist exakt das gleiche wie im originalen NCD.
Wenn Sie beispielsweise die Pfeil-ab-Taste drücken, gehen Sie damit
zum nächsten Verzeichnis der gleichen Tiefe in der
Verzeichnishierarchie, wobei Verzweigungen übersprungen werden.
Dies ermöglicht die schnelle Navigation durch den Baum.
Siehe die Optionen -Ta, -TC und -Tc zum Ändern
des Navigationsverhaltens.
- -gd
- gibt die Baumdateien als Baum in die Standardausgabe aus.
- -G PFAD
- schreibt das Go-Skript in das Verzeichnis PFAD. Unter Unix
beispielsweise schreibt "wcd -G PFAD" ein Go-Skript in
PFAD/wcd.go.
- -GN, --no-go-script
- verhindert die Erstellung eines Go-Skripts. Diese Option kann zusammen mit
-j verwendet werden, wenn Sie wcd kein Go-Skript schreiben lassen
wollen.
- -h, --help
- zeigt eine Hilfe an und beendet das Programm.
- -i, --ignore-case
- ignoriert Groß-/Kleinschreibung. In den DOS- und Windows-Versionen
ist dies der Standard. In den Unix- und Cygwin-Versionen wird per Vorgabe
die Groß-/Kleinschreibung berücksichtigt.
- +i, --no-ignore-case
- berücksichtigt Groß-/Kleinschreibung. Siehe auch Option
-i.
- -I, --ignore-diacritics
- ignoriert diakritische Zeichen des lateinischen Alphabets. Buchstaben mit
diakritischen Zeichen werden wie die deren Basisbuchstaben behandelt. Die
folgenden Latin-Zeichenkodierungen werden unterstützt: CP437,
CP850, CP852, CP1250, CP1252, ISO-8859-1, ISO-8859-2, sowie Unicode
Latin-1, Latin Extended-A, und Latin Extended-B. Siehe auch
<http://de.wikipedia.org/wiki/Diakritisches_Zeichen>
- +I, --no-ignore-diacritics
- berücksichtigt diakritische Zeichen (Vorgabe). Siehe auch Option
-I.
- -j, --just-go
- Geh-einfach-Modus.
In diesem Modus zeigt wcd keine Liste an, wenn mehr als ein Verzeichnis auf
das angegebene Verzeichnis passt. Wcd wechselt nur einfach zum ersten
Treffer. Beim erneuten Aufruf von wcd mit den gleichen Argumenten wird zum
Verzeichnis im nächsten Treffer gewechselt, und so weiter.
Wcd gibt das Verzeichnis, in das gewechselt wird, in die Standardausgabe
aus. So kann eine andere Installationsmethode verwendet werden. Sie
könnten die folgende Funktion für eine POSIX-kompatible
Shell erstellen:
wcd ()
{
cd "$($HOME/bin/wcd.exe -j $@)"
}
Wenn Sie mit einer älteren Shell arbeiten, die nicht über
Unterstützung für die Befehlsersetzung mit
»$()« verfügt, müssen Sie die auch die
ältere Befehlsersetzung mit Gravis-Zeichen (Backtick,
»`«) verwenden.
wcd ()
{
cd "`$HOME/bin/wcd.exe -j $@`"
}
Auf Windows-Systemen mit einer NT4-Shell können Sie den folgenden
Alias anlegen:
alias wcd `cd %@execstr[wcdwin32.exe -z 0 -j %1]`
Diese Methode macht ein Go-Skript überflüssig, daher
können Sie die Option -GN zusammen mit -j
verwenden.
- -k, --keep-paths
- erhält Pfade.
Die Pfade werden in der Baumdatei weiter vorgehalten, wenn wcd nicht dorthin
wechseln kann. Das Vorgabeverhalten in diesem Fall ist, dass wcd versucht,
diese Pfade aus der Baumdatei zu entfernen. Mit dieser Option wird das
Vorgabeverhalten deaktiviert.
- -K, --color
- verwendet Farben im grafischen Modus.
- -l ALIAS
- benennt den aktuellen Pfad mit ALIAS. Wcd speichert den aktuellen
Pfad mit dem ALIAS in der Alias-Datei. Bei Aliasen wird
Groß-/Kleinschreibung berücksichtigt.
- -m VERZEICHNIS
- erstellt ein Verzeichnis und fügt es zur Baumdatei hinzu.
- -L, --license
- zeigt die Lizenz des Programms an.
- -M VERZEICHNIS
- erstellt ein Verzeichnis und fügt es zur zusätzlichen
Baumdatei hinzu.
- -n PFAD
- liest die relative Baumdatei aus PFAD.
Die Datei für die vorgegebene Baumansicht wird nicht gelesen. Die
Datei für die relative Baumansicht sollte schon von wcd mit der
Option +S angelegt worden sein. PFAD kann auch direkt auf
eine Datei verweisen.
Ein Beispiel. Nehmen wir an, ein anderes System wurde in
"/mnt/network" eingehängt:
wcd -n /mnt/network src
Wcd öffnet die Datei der relativen Baumansicht in
"/mnt/network/". Die Datei enthält die Pfade relativ von
diesem Punkt aus betrachtet.
- +n PFAD
- liest die Datei der relativen Baumansicht zusätzlich zur
vorgegebenen Datei. Siehe Option -n.
- -N, --numbers
- verwendet Zahlen anstelle von Buchstaben.
Wcd mit einer Conio- oder Curses-basierten Benutzeroberfläche (siehe
Abschnitt »Schnittstellen«) stellt eine Trefferliste mit
Buchstaben als Aufzählungszeichen dar. Wenn Sie die Option
-N angeben, wird die Trefferliste mit Zahlen nummeriert. Ungeachtet
der Option -N können Sie einen Buchstaben oder Zahlen
eingeben, um aus der Trefferliste zu wählen.
- -o
- verwendet die stdin/stdout-Schnittstelle
(Standardeingabe/Standardausgabe).
Falls aus verschiedenen Gründen die conio- oder curses-Schnittstelle
von wcd nicht funktioniert, können Sie mit der Option -o auf
die stdin/stdout-Schnittstelle ausweichen.
- -od, --to-stdout
- gibt alle Übereinstimmungen in die Standardausgabe aus.
- -q, --quiet
- Stiller Modus. Die Ausgabe des endgültigen Treffers wird
unterdrückt.
- -r VERZEICHNIS
- entfernt ein Verzeichnis und entfernt es auch aus der Baumdatei.
Wenn das Verzeichnis leer ist, wird wcd es entfernen, und versuchen, es aus
der Baumdatei zu entfernen.
- -rmtree VERZEICHNIS
- entfernt ein Verzeichnis rekursiv und entfernt es auch aus der Baumdatei.
Wcd entfernt das Verzeichnis und dessen Untervezeichnisse und Dateien,
außerdem werden die Verzeichnisse aus der Baumdatei entfernt.
- -s
- liest den Laufwerksinhalt (evtl. erneut) aus dem Verzeichnis $HOME ein.
Falls HOME nicht definiert ist, wird das Wurzelverzeichnis
»/« des Laufwerks eingelesen.
Die existierende vorgegebene Baumdatei wird dabei überschrieben.
Das vorgegebene einzulesende Verzeichnis kann mit der Umgebungsvariable
"WCDSCAN" außer Kraft gesetzt werden. Weitere
Informationen finden Sie im Abschnitt UMGEBUNGSVARIABLEN.
- -S PFAD
- liest den Verzeichnisbaum aus PFAD und überschreibt die
vorgegebene Baumdatei. Siehe auch die Optionen -A, -s und
-E. Zum Beispiel können Sie mit der Option -A eine
Vorgabe-Baumdatei Ihrer Wahl erzeugen. Beispiele:
Unix:
wcd -S /
wcd -S /home -A /etc -A /usr
DOS/Windows:
wcd -S c:/
wcd -S c: -A d: -A \\server\share
Mit den Windows-Versionen können Sie alle freigegebenen Verzeichnisse
eines Windows-LAN-Servers einlesen. Geben Sie etwa Folgendes ein:
"wcd -S \\Servername".
- -S PFAD
- liest das Laufwerk aus PFAD ein und platziert relative Pfade in der
Datei der relativen Baumansicht. Diese Datei wird in wcd von den Optionen
-n und +n verwendet. Beispiel "wcd -n PFAD
src".
- -t
- entfernt das temporäre Einhängeverzeichnis
"/tmp_mnt" nicht (nur Unix).
Wcd entfernt per Vorgabe "/tmp_mnt/" aus den Treffern. Dieses
Verzeichnis wird vom Auto-Mounter verwendet. Sie können dieses
Verhalten mit der Option -t abschalten.
- -T, --ascii-tree
- zeichnet die Baumansicht mit ASCII-Zeichen. Verwenden Sie diese Option,
wenn die Zeichen zum Darstellen von Linien in Ihrem Terminal nicht korrekt
angezeigt werden.
- -Ta, --alt-tree-nav
- verwendet einen alternativen Weg zur Navigation in der grafischen
Baumansicht.
In der vorgegebenen Baumansicht im NCD-Stil verhindert die Option -Ta
das Springen in beziehungslose Verzeichnisse.
In der kompakten Baumansicht funktioniert die Navigation im alternativen
Modus ähnlich wie in Dateimanagern mit grafischer
Benutzeroberfläche, wie dem Windows Explorer oder dem KDE
Konqueror. Durch Drücken der Pfeiltasten nach oben und nach unten
verschieben Sie das ausgewählte Verzeichnis eine Zeile nach oben
oder unten. Die linke Pfeiltaste klappt die Unterverzeichnisse ein,
wiederholtes Drücken der linken Pfeiltaste springt dann
tatsächlich nach links.
Sie können direkt zwischen dem Vorgabe- und dem Alternativmodus
wechseln, indem Sie <Umschalt-A> drücken.
Wenn der alternative Navigationsmodus eingeschaltet ist, sehen Sie ein
»A« in der unteren rechten Ecke.
- -TC, --center-tree
- zentriert die Ansicht im grafischen Baum. Das ausgewählte
Verzeichnis steht in der Mitte des Bildschirms. Der zentrierte Modus kann
mit der Taste <t> im grafischen Baum an- und abgeschaltet werden.
Die vorgegebene nicht-zentrierte Ansicht, welche die Baumbewegungen
minimiert, entspricht derjenigen im originalen NCD.
- -Tc, --compact-tree
- Per Vorgabe wird die »grafische« Baumansicht auf die gleiche
Art gezeichnet wie im originalen NCD unter DOS. Dort darf ein
Verzeichnispfad nicht länger als 66 Zeichen sein. Mit den heute
üblichen tiefen Verzeichnisstrukturen kann der Baum sehr breit
werden. Um dies zu vermeiden, kann wcd den Baum in einer Kompaktansicht
darstellen, mit einem Verzeichnis pro Zeile, wie in den meisten grafischen
Dateimanagern. Verwenden Sie die Option -Tc oder schalten Sie
direkt mit der Taste <m> um.
- -Td, --cjk-width
- Veraltete ostasiatische CJK-Schriften (Chinesisch, Japanisch und
Koreanisch) haben bestimmte Zeichen und Symbole zum Zeichnen von Linien
mit einer Breite von zwei Spalten, während die Zeichenbreite in
normalem Unicode eine Spalte beträgt. Beispielsweise sind das die
chinesische CP936-Rasterschrift unter Windows und die Simsun-Schrift.
Verwenden Sie diese Option zur korrekten Ausrichtung der grafischen
Baumansicht, wenn eine veraltete CJK-Schrift verwendet wird.
Wenn der CJK-Modus eingeschaltet ist, wird ein »C« in der
unteren rechten Ecke angezeigt.
- -u BENUTZER
- liest die Daten eines anderen Benutzers für die Baumansicht
basierend auf BENUTZER ein. Ihre eigene Datei für die
Baumansicht wird nicht eingelesen. Siehe auch WCDUSERSHOME im
Abschnitt UMGEBUNGSVARIABLEN.
Unter Unix/Cygwin wird "/home" als Wurzel für die
Benutzerverzeichnisse angenommen. Wcd schaut nach
"/home/BENUTZER/.treedata.wcd" und
"/home/BENUTZER/.wcd/.treedata.wcd", in dieser Reihenfolge.
Davon wird die erste existierende und lesbare Datei gelesen. Unter
DOS/Windows wird "\\users" als Wurzelverzeichnis der Benutzer
angenommen, daher versucht wcd "\\users\BENUTZER\treedata.wcd"
und "\\users\BENUTZER\.wcd\treedata.wcd" zu lesen.
- +u BENUTZER
- liest die vorgegebene Baumansicht-Datei von BENUTZER zusätzlich zu
Ihrer eigenen Baumansicht-Datei ein.
- -v, --verbose
- zeigt ausführliche Meldungen an. Mit dieser Option zeigt wcd alle
Filter, Verbannungen und Ausschlüsse an.
- -V, --version
- zeigt Versionsinformationen an und beendet das Programm.
- -w, --wild-match-only
- zeigt nur Übereinstimmungen von Platzhaltern an. Alle Treffer
werden als Platzhalter-Treffer angenommen.
- -x PFAD
- schließt PFAD vom Einlesen aus.
Mit dieser Option schließt wcd PFAD und dessen
Unterverzeichnisse aller Ebenen beim Einlesen eines Laufwerks aus.
Platzhalter werden unterstützt und auf absolute Pfade angewendet.
Die Option -x kann mehrfach angegeben werden.
wcd -x <Pfad1> -x <Pfad2> -s
Die Option -x muss vor jeder anderen Einleseoption angegeben werden (
-s, -S, +S, -A, -E).
Unter DOS/Windows müssen Sie den Laufwerksbuchstaben angeben, je
nachdem, ob eine der Variablen HOME oder WCDHOME gesetzt
ist. Falls HOME oder WCDHOME gesetzt ist, müssen Sie
den Laufwerksbuchstaben angeben. Ein Beispiel:
wcd -x c:/temp -S c:
Anderenfalls geben Sie keinen Laufwerksbuchstaben an.
wcd -x /temp -s
- -xf DATEI
- schließt alle in DATEI aufgelisteten Pfade vom Einlesen aus.
Wenn diese Option ausgewählt ist, schließt wcd alle in
DATEI aufgelisteten Pfade und sämtliche derer
Unterverzeichnisse beim Einlesen eines Laufwerks aus. Platzhalter werden
unterstützt und Namensübereinstimmungen werden auf den
absoluten Pfad bezogen. Beachten Sie, dass wcd führende und
angehängte Leerzeichen in einer Zeile nicht ignoriert, da sie als
Zeichen in einem Verzeichnisnamen zulässig sind. Die Option
-xf kann mehrfach angegeben werden. Mit folgendem Befehl
schließen Sie alle verbannten Pfade vom Einlesen aus (Beispiel
für wcd unter Unix):
wcd -xf ~/.ban.wcd -s
Platzhalter werden unterstützt. Um beispielsweise alle Ihre
Subversion-Verzeichnisse mit administrativen Dateien
auszuschließen, fügen Sie eine Zeile mit "*/.svn"
hinzu.
Die Option -xf muss vor jeder anderen Einleseoption angegeben werden
( -s, -S, +S, -A, -E).
- -y, --assume-yes
- beantwortet alle Abfragen automatisch mit »ja«.
Wcd gibt keine Ja-/Nein-Abfragen an den Benutzer aus, nimmt aber an, dass
der Benutzer stets auf alle Fragen mit Ja antworten würde. Dies
kann in Verbindung mit der Option -rmtree verwendet werden. Diese
Option muss vor allen Optionen angegeben werden, die zu Ja-/Nein-Abfragen
führen könnten.
- -z ZAHL
- setzt die maximale Stapelgröße auf ZAHL.
Die vorgegebene Größe des Stapels ist 10. Stapeloperationen
können deaktiviert werden, indem die Größe auf 0
gesetzt wird. Diese Option muss stets vor anderen Stapeloperationen
angegeben werden ( -,+,=). Anderenfalls wird die
Stapelgröße wieder auf den Vorgabewert 10
zurückgesetzt.
Ein korrekter Befehl ist:
wcd -z 50 -
Die neue Stapelgröße ist 50 und wcd geht ein Verzeichnis
zurück. Ein falscher Befehl wäre:
wcd - -z 50
Wcd geht ein Verzeichnis zurück und der Stapel erhält die
Vorgabegröße 10. Das Argument -z 50 wird ignoriert.
Fügen Sie dies als erste Option zu Ihrem wcd-Alias oder Ihrer
wcd-Funktion hinzu. Für eine POSIX-kompatible Shell wäre
das:
wcd ()
{
wcd.exe -z 50 "$@"
. ${WCDHOME:-${HOME}}/bin/wcd.go
}
- -[ZAHL]
- legt ein Verzeichnis auf den Stapel (ZAHL mal). Vorgabe ist 1.
Geht ein Verzeichnis zurück. Der Befehl "wcd -" geht ein
Verzeichnis zurück. Um mehrere Verzeichnisse zurückzugehen,
fügen Sie eine Zahl hinzu, zum Beispiel in Form des Befehls
"wcd -3". Der Stapel ist zyklisch.
- +[ZAHL]
- nimmt ein Verzeichnis vom Stapel (ZAHL mal). Vorgabe ist 1.
Geht ein Verzeichnis vor. Der Befehl "wcd +" geht ein Verzeichnis
vor. Um mehrere Verzeichnisse vorzugehen, fügen Sie eine Zahl
hinzu, zum Beispiel in Form des Befehls "wcd +2". Der Stapel ist
zyklisch.
- =
- zeigt den Stapel an.
Verwenden Sie diese Option, wenn Sie nicht mehr wissen, wie oft Sie im
Stapel die Ebene gewechselt haben. Der Stapel wird ausgegeben und Sie
können eine Zahl wählen. Die aktuelle Position im Stapel ist
mit einem Asterisk "*" markiert.
INSTALLATION¶
Das aktuelle Arbeitsverzeichnis einer Unix-Shell kann nur über den
eingebauten
cd(1)-Befehl gewechselt werden. Daher wird das Programm
stets über eine Funktion oder einen Alias ausgeführt. Die
Funktion oder der Alias verwenden ein Shell-Skript (das Go-Skript), welches
von wcd erzeugt wird. Wcd funktioniert erst dann, wenn die Funktion oder der
Alias definiert wurde.
Weiteren wichtigen Einfluss auf Ihre Installation nimmt die Definition der
Umgebungsvariablen
HOME und
WCDHOME. Siehe den Abschnitt
UMGEBUNGSVARIABLEN.
Installation für POSIX-Shells¶
Für eine POSIX-Shell (ksh, bash, zsh, etc.) unter Unix, Linux, Cygwin
oder nativem MSYS fügen Sie die folgende Funktion zur Shell-Startdatei
hinzu (die Bash verwendet zum Beispiel "$HOME/.bashrc"):
wcd ()
{
<PFAD>/wcd.exe "$@"
. ${WCDHOME:-${HOME}}/bin/wcd.go
}
PFAD wird durch den Ort ersetzt, in dem das ausführbare
wcd-Programm gespeichert ist. Laden Sie die Initialisierungsdateien der Shell
neu oder starten Sie eine neue Shell.
Der Ort des Go-Skripts "wcd.go" ist abhängig von der Shell
selbst.
Wcd für die auf DJGPP basierende DOS-Bash erfordert eine andere
Funktionalität. Das Go-Skript wird nicht in einem Verzeichnis
"bin" gespeichert, und falls weder
WCDHOME noch
HOME
definiert sind, wird das Go-Skript nach c:/ geschrieben.
wcd ()
{
<PATH>/wcd.exe "$@"
. ${WCDHOME:-${HOME:-"c:"}}/wcd.go
}
Die WinZsh-Version von wcd ist auch etwas anders. Es gibt kein
"bin"-Verzeichnis.
wcd ()
{
<PATH>/wcd.exe "$@"
. ${WCDHOME:-${HOME}}/wcd.go
}
Weitere Informationen finden Sie im Abschnitt DATEIEN.
Installation für C-ähnliche Shells (csh, tcsh)¶
Fügen Sie den folgenden Alias zur Shell-Startdatei
"$HOME/.cshrc" oder "$HOME/.tcshrc" hinzu:
if ( ${?WCDHOME} ) then
alias wcd "<PATH>/wcd.exe \!* ; source $WCDHOME/bin/wcd.go"
else
alias wcd "<PATH>/wcd.exe \!* ; source $HOME/bin/wcd.go"
endif
PFAD wird durch den Ort ersetzt, in dem das ausführbare
wcd-Programm gespeichert ist. Laden Sie die Initialisierungsdateien der Shell
neu oder starten Sie eine neue Shell.
Version für den Windows-Befehlszeileninterpreter¶
Entpacken Sie die Zip-Datei und fügen Sie den Ordner "bin" zu
Ihrer Umgebungsvariable
PATH hinzu.
Im Windows-Befehlszeileninterpreter kann ein Windows-Programm das aktuelle
Arbeitsverzeichnis nicht wechseln, das ist aber mit einer .bat-Datei
möglich. Das Batch-Skript "wcd.bat" ruft das wcd-Programm
auf, welches seinerseits das neue Batch-Skript "wcdgo.bat" erzeugt.
Dann führt "wcd.go" wiederum "wcdgo.bat" aus,
welches tatsächlich das Verzeichnis wechselt.
Windows VISTA und neuer¶
Im Befehlszeileninterpreter in Windows VISTA oder neueren Versionen ist der
Zugriff auf Verzeichnisse eingeschränkt. Um Zugriff auf weitere
Verzeichnisse zu erhalten, benötigen Sie Administratorrechte. Einen
Befehlszeileninterpreter mit Administratorrechten erhalten Sie, wenn Sie mit
der rechten Maustaste auf das Programmsymbol des Befehlszeileninterpreters
klicken und
Als Administrator ausführen wählen.
Version für die Windows PowerShell¶
Fügen Sie die folgende Funktion zu Ihrem PowerShell-Benutzerprofil hinzu.
Der Ort dieses Profils wird durch die Variable $profile bestimmt. Es ist
erforderlich, dass eine der Umgebungsvariablen
HOME oder
WCDHOME
definiert ist.
function wcd
{
<PFAD>\wcdwin32psh.exe $args
& $env:HOME\wcdgo.ps1
}
PFAD wird durch den Ort ersetzt, in dem das ausführbare
wcd-Programm gespeichert ist. Starten Sie eine neue PowerShell. Wcd für
die PowerShell unterstützt nur den Dateisystemtreiber und keine
weiteren Treiber.
Version für den Befehlszeileninterpreter von OS/2¶
Im Befehlszeileninterpreter von OS/2 (cmd.exe) kann ein OS/2-Programm das
aktuelle Arbeitsverzeichnis nicht wechseln. Daher erzeugt wcd ein
Befehlsskript "wcdgo.cmd", das in der aktuellen Shell
ausgeführt werden muss. Das Skript "wcd.cmd" führt
zuerst "wcdos2.exe" aus, welches seinerseits das Skript
"wcdgo.cmd" erzeugt. Danach führt "wcd.cmd" das
Skript "wcdgo.cmd" aus.
LOKALISIERUNG¶
- LANG
- Die primäre Sprache wird durch die Umgebungsvariable LANG
festgelegt. Diese Variable besteht aus mehreren Teilen: Den ersten Teil
bilden zwei Kleinbuchstaben, die den Sprachcode angeben. Der zweite Teil
ist optional und bezeichnet den Ländercode in
Großbuchstaben, vom davor stehenden Sprachcode durch einen
Unterstrich getrennt. Der dritte Teil ist ebenfalls optional und gibt die
Zeichenkodierung an, vom Ländercode durch einen Punkt getrennt.
Einige Beispiele für Standard-POSIX-Shells:
export LANG=de Deutsch
export LANG=de_DE Deutsch, Deutschland
export LANG=de_CH Deutsch, Schweiz
export LANG=es_ES Spanisch, Spanien
export LANG=es_MX Spanisch, Mexiko
export LANG=en_US.iso88591 English, USA, Latin-1-Zeichenkodierung
Eine vollständige Liste der Sprachen und Ländercodes finden
Sie im Handbuch zu gettext(1):
<http://www.gnu.org/software/gettext/manual/gettext.html#Language-Codes>.
Auf Unix-Systemen können Sie den Befehl locale(1) verwenden,
um spezifische Informationen zur Spracheinstellung zu erhalten.
- LANGUAGE
- Mit der Umgebungsvariable LANGUAGE können Sie eine
Prioritätenliste für Sprachen übergeben, die Sie
durch Doppelpunkte voneinander trennen. Dos2unix gibt LANGUAGE vor
LANG den Vorzug, zum Beispiel bei Deutsch vor
Niederländisch: "LANGUAGE=de:nl". Sie müssen
zunächst die Lokalisierung aktivieren, indem Sie die Variable
LANG oder LC_ALL auf einen anderen Wert als C setzen,
bevor Sie die Liste der Sprachprioritäten nutzen können.
Weitere Informationen finden Sie im Gettext-Handbuch:
<http://www.gnu.org/software/gettext/manual/gettext.html#The-LANGUAGE-variable>
Falls Sie eine Sprache auswählen, die nicht verfügbar ist,
erhalten Sie die Standardmeldungen in englischer Sprache.
- WCDLOCALEDIR
- Mit der Umgebungsvariable WCDLOCALEDIR kann die während der
Kompilierung und Installation verwendete Variable LOCALEDIR
außer Kraft gesetzt werden. LOCALEDIR wird von wcd mit
vorhandener nativer Sprachunterstützung verwendet, um die
Sprachdateien zu finden. Der GNU-Vorgabewert ist
"/usr/local/share/locale". Nach Eingabe von "wcd -V"
wird das von wcd verwendete LOCALEDIR angezeigt.
Falls Sie wcd in einem anderen als dem Vorgabeverzeichnis installiert haben,
müssen Sie die Umgebungsvariable WCDLOCALEDIR setzen, die
auf das Verzeichnis mit den Sprachdateien zeigt.
Ein Beispiel für den Windows-Befehlszeileninterpreter:
set WCDLOCALEDIR=c:/my_prefix/share/locale
Ein Beispiel für eine POSIX-Shell:
export WCDLOCALEDIR=$HOME/share/locale
- LC_COLLATE
- Wenn mehrere Treffer für Verzeichnisse gefunden werden, zeigt wcd
eine sortierte Liste an. Die Art der Sortierung hängt von der
Spracheinstellung ab. Falls die Umgebungsvariable LANG gesetzt ist,
werden die Treffer wie in Wörterbüchern oder
Telefonbüchern in dieser Sprache sortiert. Beispielsweise werden
Punkte und Bindestriche ignoriert. Buchstaben mit oder ohne Akzentzeichen
werden nicht unterschiedlich behandelt, und Groß-/Kleinschreibung
wird nicht berücksichtigt.
Die Sortierung bevorzugt die Umgebungsvariable LC_COLLATE vor
LANG. Falls Sie LC_COLLATE auf "C" oder
"POSIX" setzen, wird die sprachbezogene Sortierung abgeschaltet.
Wenn Sie beispielsweise Deutsch bevorzugen, dies aber nicht für die
Sortierung gelten soll, verwenden Sie Folgendes:
export LANG=de_DE
export LC_COLLATE=C
- LC_CTYPE
- Hinsichtlich Zeichenkodierung bevorzugt Wcd die Variable LC_CTYPE
vor LANG. Um beispielsweise die Zeichenkodierung auf UTF-8 zu
setzen, können Sie Folgendes ausführen:
export LC_CTYPE=en_US.UTF-8
- LC_ALL
- Alle lokalen Umgebungsvariablen, die mit LC_ beginnen, werden durch
die Umgebungsvariable LC_ALL außer Kraft gesetzt, sofern
diese definiert ist. Wcd bevorzugt LC_ALL vor LC_COLLATE und
LC_CTYPE.
WINDOWS CODE PAGES¶
Es gibt zwei Gruppen von Codepages, die DOS Codepages (OEM) und die Windows
Codepages (ANSI). Die vorgegebene Zeichenkodierung für Windows ist ANSI
CP1252, wenn westeuropäische Regionaleinstellungen konfiguriert sind.
Windows-Programme, wie beispielsweise Notepad, benutzen diese durch das System
vorgegebene ANSI-Codepage. Die Windows-Konsole verwendet
standardmäßig eine OEM-Codepage (CP437 oder CP850), um
Abwärtskompatibilität zu DOS-Programmen zu gewährleisten.
Wenn Sie eine DOS-Version von wcd in der Windows-Konsole verwenden, wird dies
aufgrund der DOS-Codepage funktionieren, allerdings fehlt der DOS-Version von
wcd unter Windows die Unterstützung für lange Verzeichnisnamen
und Netzlaufwerke.
Die Windows-Version von wcd ist ein natives Windows-Programm, das die
ANSI-Codepage des Windows-Systems verwendet. Auf einem Windows mit
westeuropäischen Regionaleinstellungen wird so die Codepage CP1252
für Verzeichnisnamen und Meldungen verwendet. Um konsistente, von der
aktiven Codepage unabhängige Ausgaben zu erzielen, übersetzen
alle Windows-Versionen von wcd die ANSI-Ausgaben im Befehlszeileninterpreter
und der PowerShell in Unicode-Ausgaben.
Die Rasterschrift der Konsole unterstützt nur die originale OEM-Codepage,
die mit Windows installiert wurde, daher müssen Sie die Schriftart der
Konsole auf die TrueType-Schrift »Lucida Console« ändern,
damit Unicode- und ANSI-Zeichen korrekt angezeigt werden.
Die Nicht-Unicode-Versionen von Wcd
vor Version 5.2.0 verwenden die
gewöhnliche ANSI-Ausgabe. Für diese älteren Versionen
muss die Codepage der Konsole der System-Codepage angeglichen werden (auf
1252), damit wcd unter Windows spezielle Zeichen wie Akzentzeichen oder das
Euro-Symbol korrekt anzeigen kann.
Die Windows-System-Codepage kann in den Regionaleinstellungen der
Systemsteuerung geändert werden. Die Codepage der Windows-Konsole wird
mit dem Befehl "chcp" geändert.
Wenn Sie "wcd -V" eingeben, wird die gegenwärtige von wcd
verwendete Zeichenkodierung angezeigt. Geben Sie den Befehl "chcp"
ein, um die aktive Codepage für die Windows-Konsole anzuzeigen.
UNICODE¶
Wcd verfügt über optionale Unterstützung für
Unicode. Um zu sehen, ob wcd mit Unicode-Unterstützung erstellt wurde,
geben Sie "wcd -V" ein. Sofern Ihr Terminal oder Ihre Konsole sowie
die Schriftart es unterstützt, sollten Sie das Euro-Symbol und
chinesische Zeichen sehen (echte chinesische Zeichen, keinen chinesisch
aussehenden Zeichensalat).
Wcd wurde »weich« auf Unicode migriert. In dessen Kern werden alle
Daten als Byte-Datenstrom verarbeitet. Nur die auf dem Bildschirm ausgegebenen
Zeilen werden unmittelbar in Unicode-Zeichen umgewandelt. Wcd verwendet
vollständig libc-Funktionen und enthält keinen
UTF-8-spezifischen Code. Siehe auch
<
http://www.cl.cam.ac.uk/~mgk25/unicode.html>.
Wcd verfügt über optionale Unterstützung für
Unicode-Suche mit Normalisierung. Um zu ermitteln, ob wcd mit
Unterstützung für Normalisierung erstellt wurde, geben Sie
"wcd -V" ein. Wcd mit Unicode-Normalisierung findet Treffer mittels
kompatiblen Entsprechungen. Ohne diese Unterstützung werden
Verzeichnisse nur gefunden, wenn Sie kanonisch äquivalent sind. Siehe
auch <
http://de.wikipedia.org/wiki/Normalisierung_%28Unicode%29>.
UTF-8 unter Unix/Linux
Um UTF-8-Zeichen in Ihrer Konsole oder Ihrem Terminal anzeigen zu lassen, muss
dieses auch UTF-8 unterstützen. Die mit XFree86 4.0 oder neuer
gelieferte Version von xterm bringt UTF-8-Unterstützung bereits mit. Um
dies zu aktivieren, starten Sie
xterm(1) mit einer
UTF-8-Spracheinstellung und verwenden Sie eine Schriftart mit der
Zeichenkodierung iso10646-1, zum Beispiel mit
LC_CTYPE=en_GB.UTF-8 xterm -u8 -fn '-Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1'
Moderne GNU-Linux-Distributionen unterstützen UTF-8 per Vorgabe. Andere
Multibyte-Zeichenkodierungen sollten auch funktionieren, allerdings wurde dies
nicht getestet.
Wcd nimmt an, dass die Baumdateien in der lokalen Zeichenkodierung vorliegen. In
die Baumdateien werden keine Bytereihenfolge-Markierungen geschrieben.
UTF-16 unter Windows
Unter Windows wird Unicode in allen Versionen der PowerShell sowie im
Befehlszeileninterpreter von Windows 7 (oder neuer) unterstützt.
Unicode funktioniert auch in Take Command oder TCC/LE von JP Software, welches
in älteren Windows-Versionen verwendet werden kann (XP/Vista).
Unter Windows sind alle Verzeichnisnamen in Unicode UTF-16 kodiert. Für
Nicht-Unicode-Windows-Programme werden die Unicode-Zeichen in die vorgegebene
ANSI-Codepage übersetzt. Bei Zeichen, die nicht Teil der
Regionaleinstellung sind, ist diese Übersetzung nicht möglich.
Daher geben Nicht-Unicode-Programme stattdessen ein Fragezeichen oder ein
falsches Zeichen aus.
Wcd mit Unicode-Unterstützung liest die in UTF-16 kodierten
Verzeichnisnamen und wandelt diese intern in UTF-8 um. Alle Baumdateien sind
in UTF-8 kodiert und nicht zu den Nicht-Unicode-Versionen von wcd kompatibel.
Wcd erstellt ein in UTF-8 kodiertes Go-Skript.
Alle Versionen der Windows Powershell können in UTF-8 kodierte Skripte
ausführen, sofern sich im Skript eine BOM (Bytereihenfolge-Markierung)
für UTF-8 befindet.
Seit Windows 7 ist es möglich, im Windows-Befehlszeileninterpreter mit
einem Batch-Skript in ein Verzeichnis zu wechseln, dessen Name Unicode-Zeichen
enthält. Der Verzeichnisname muss in UTF-8 kodiert sein, und das
Batch-Skript
darf keine BOM enthalten (Markierung der Bytereihenfolge).
Die aktive Codepage des Befehlszeileninterpreters muss vor dem cd-Befehl auf
65001 (UTF-8) gesetzt werden. Wcd für den Befehlszeileninterpreter
erstellt ein solches Go-Skript "wcdgo.bat". Es ändert zuerst
die Codepage in 65001, wechselt dann das Verzeichnis und setzt zum Schluss die
Codepage auf die ursprüngliche Einstellung zurück.
Sie müssen die Schrift auf die TrueType-Schriftart »Lucida
Console« setzen (nicht auf die Rasterschrift), falls Zeichen nicht
korrekt angezeigt werden.
Die Nicht-Unicode-Version von wcd für Windows liest Unicode-Baumdateien
seit Version 5.2.0, sofern sich eine BOM (Markierung der Bytereihenfolge) in
der Datei befindet (siehe
<
http://de.wikipedia.org/wiki/Byte_Order_Mark>). Allerdings ist es nicht
möglich, in Verzeichnisse zu wechseln, deren Namen Unicode-Zeichen
enthalten, die nicht Teil der vorgegebenen ANSI-Codepage des Systems sind. Die
Unicode-Version von wcd für Windows schreibt seit Version 5.2.0 eine
BOM in die in UTF-8 kodierten Baumdateien, wodurch diese auch in Notepad
lesbar sind.
UTF-8 unter Cygwin
Cygwin unterstützt Unicode seit Version 1.7. Die Cygwin-Zwischenschicht
achtet darauf, dass die UTF-16-Namen unter Windows in UTF-8 umgewandelt
werden. Daher brauchen Programme, wie beispielsweise wcd, darauf keine
Rücksicht zu nehmen und können mit einer UTF-8-Zeichenkodierung
wie unter Unix/Linux arbeiten. Setzen Sie die Zeichenkodierung mit der
Umgebungsvariable
LANG oder
LC_CTYPE auf UTF-8. Es wird
nötig sein, dass Sie Ihre Laufwerke neu einlesen. Sie müssen die
Schrift auf die TrueType-Schriftart »Lucida Console« setzen
(nicht auf die Rasterschrift), falls Sie die Cygwin-Standardkonsole verwenden.
Die Cygwin-Version verhält sich exakt genauso wie die Unix-Version von
wcd. Es wird keine Markierung der Bytereihenfolge (BOM) in die Baumdateien
geschrieben, und es wird angenommen, dass die Dateien in der Zeichenkodierung
vorliegen, die von der Spracheinstellung in
Cygwin vorgegeben ist.
DATEIEN¶
Falls die Umgebungsvariable
WCDHOME gesetzt ist, verwendet wcd
WCDHOME anstelle von
HOME. Alle "*.wcd"-Dateien sind
Textdateien, die mit einem Texteditor bearbeitet werden können. Die
Wcd-Version für den Windows-Befehlszeileninterpreter verhält
sich wie die DOS-Version, und die Cygwin-Version verhält sich wie die
Unix-Version.
- wcd.exe
- Das Programm. In Unix-Shells wird das Programm stets durch eine Funktion
oder einen Alias aufgerufen, da das aktuelle Arbeitsverzeichnis einer
Unix-Shell nur mit dem eingebauten cd-Befehl gewechselt werden kann. Siehe
auch Abschnitt INSTALLATION.
- vorgegebene Baumdatei
- Dies ist die vorgegebene Baumdatei, in der wcd nach Treffern sucht. Falls
diese nicht lesbar ist, erstellt wcd eine neue Datei.
DOS: \treedata.wcd or %HOME%\treedata.wcd
Unix: $HOME/.treedata.wcd
- zusätzliche Baumdatei
- Eine optionale zusätzliche Baumdatei. Falls diese existiert und
lesbar ist, sucht wcd auch in dieser Datei nach Treffern.
DOS: \extra.wcd or %HOME%\extra.wcd
Unix: $HOME/.extra.wcd
- Bann-Datei
- In dieser optionalen Datei speichert wcd die verbannten Pfade. Siehe
Option -b. Platzhalter werden unterstützt.
DOS: \ban.wcd or %HOME%\ban.wcd
Unix: $HOME/.ban.wcd
- Alias-Datei
- Optionale Datei mit Aliasen für wcd. Siehe Option -l.
DOS: \alias.wcd or %HOME%\alias.wcd
Unix: $HOME/.alias.wcd
- Stapeldatei
- In dieser Datei speichert wcd den Stapel. Der Laufwerksbuchstabe kann mit
der Option -d geändert werden.
DOS: c:\stack.wcd or %HOME%\stack.wcd
Unix: $HOME/.stack.wcd
Der Name der Stapeldatei kann mit der Umgebungsvariable WCDSTACKFILE
geändert werden. Siehe Abschnitt UMGEBUNGSVARIABLEN.
- Go-Skript
- Dies ist das Shell-Skript, welches wcd.exe jedes Mal erzeugt. Es wird
über eine Funktion oder einen Alias eingelesen. Der
Laufwerksbuchstabe kann mit der Option -d geändert werden.
Aus historischen Gründen ist es per Vorgabe auf Unix-Systemen in
"$HOME/bin" gespeichert. Das Verzeichnis für diese Datei
kann mit der Option -G geändert werden.
DOS Bash: c:/wcd.go oder $HOME/wcd.go
Windows Befehlszeileninterpreter: c:\wcdgo.bat oder %HOME%\wcdgo.bat
Windows PowerShell: $env:HOME\wcdgo.ps1
WinZsh: $HOME/wcd.go
Cygwin/MSYS: $HOME/bin/wcd.go
OS/2-Befehlszeileninterpreter: c:\wcdgo.cmd oder %HOME%\wcdgo.cmd
Unix: $HOME/bin/wcd.go
- Datei für relative Baumansicht
- Textdatei mit relativen Pfaden von VERZEICHNIS. Siehe die Optionen
+S, -n und +n.
DOS: <path>\rtdata.wcd
Unix: <path>/.rtdata.wcd
UMGEBUNGSVARIABLEN¶
- HOME
- Wcd verwendet per Vorgabe die Umgebungsvariable HOME, um zu
ermitteln, wo Dateien gespeichert werden sollen. Siehe auch den Abschnitt
DATEIEN. Dies kann mit der Umgebungsvariable WCDHOME außer
Kraft gesetzt werden.
HOME legt außerdem fest, wo mit dem Einlesen des Laufwerks
begonnen wird, wenn die Option -s verwendet wird. Dies kann mit der
Umgebungsvariable WCDSCAN außer Kraft gesetzt werden.
In den Versionen für Unix, Cygwin, Windows PowerShell, WinZsh und
MSYS ist es erforderlich, dass HOME oder WCDHOME gesetzt
ist. Für die anderen Versionen von wcd ist die Benutzung dieser
Variablen optional.
Falls HOME unter DOS/Windows gesetzt ist, platziert wcd alle seine
Dateien (treedata.wcd, extra.wcd, alias.wcd, ban.wcd, wcd.go) im
Verzeichnis HOME. Das Verhalten von wcd gleicht dann dem der
Unix-Versionen. Wcd liest die Daten dann per Vorgabe aus HOME ein.
Laufwerke werden nicht automatisch eingelesen, wenn Sie dorthin wechseln.
Sie müssen wcd explizit dazu anweisen, zum Beispiel:
wcd -S c: -A d: -A e:
Die Verzeichnissuche wird nun global in allen eingelesenen Laufwerken
ausgeführt.
- WCDHOME
- Mit der Umgebungsvariable WCDHOME können Sie den Ort der
Dateien von wcd ändern. Falls sowohl HOME als auch
WCDHOME gesetzt ist, wird WCDHOME anstelle von HOME
verwendet.
In Wcd-Versionen vor 5.1.5 wurde durch WCDHOME auch das vorgegebene
Einleseverzeichnis geändert. Seit Version ist dies nicht mehr der
Fall, siehe Option -s. Verwenden Sie ab Version 5.1.5 die
Umgebungsvariable WCDSCAN, um die Einstellung des vorgegebenen
Einleseverzeichnisses außer Kraft zu setzen.
Beispiel für die Befehlszeileninterpreter in DOS, Windows, OS/2:
set WCDHOME=C:\Users\erwin\wcd
Ein Beispiel für POSIX-Shells:
export WCDHOME="$HOME/.wcd"
Ein Beispiel für Csh-Shells:
setenv WCDHOME "$HOME/.wcd"
- WCDSCAN
- Verwenden Sie die Umgebungsvariable WCDSCAN, um die Einstellung des
vorgegebenen Einleseverzeichnisses HOME außer Kraft zu
setzen. Geben Sie eine durch Doppelpunkte getrennte Liste an (für
Unix), wenn Sie mehr als ein Verzeichnis angeben wollen. Unter DOS/Windows
verwenden Sie Semikola als Trennzeichen.
Beispiel für die Befehlszeileninterpreter von DOS, Windows und OS/2:
set WCDSCAN=C:\Users\erwin;D:\data
set WCDSCAN=%HOMEDRIVE%%HOMEPATH%;\\projectdrive\projectX
Ein Beispiel für POSIX-Shells:
export WCDSCAN="$HOME:/projectdisk/projectX"
Ein Beispiel für Csh-Shells:
setenv WCDSCAN "$HOME:/projectdisk/projectX"
- WCDFILTER
- Geben Sie Filter mit der Umgebungsvariable WCDFILTER an. Alle
Verzeichnisse, die nicht auf diese(n) Filter passen, werden ignoriert. Sie
können eine Liste angeben, in der Sie die einzelnen Filter
aneinanderreihen und dazwischen das Pfad-Trennzeichen Ihrer Shell setzen.
Dies funktioniert ähnlich wie die Angabe der Variable PATH.
Ob dabei Groß-/Kleinschreibung berücksichtigt wird,
hängt vom jeweiligen Betriebssystem ab.
Beispiel für die Befehlszeileninterpreter in DOS, Windows, OS/2:
set WCDFILTER=projects;doc
Ein Beispiel für POSIX-Shells:
export WCDFILTER="projects:doc"
Ein Beispiel für Csh-Shells:
setenv WCDFILTER "projects:doc"
- WCDBAN
- Die in der Umgebungsvariable WCDBAN angegebenen Pfade werden
gebannt, siehe auch die Option -b. Geben Sie eine Liste der Pfade
an, durch das PATH-Trennzeichen der Shell getrennt.
- WCDEXCLUDE
- Die in der Umgebungsvariable WCDEXCLUDE angegebenen Pfade werden
von wcd ausgeschlossen, siehe auch die Optionen -x und -xf.
Geben Sie eine Liste der Pfade an, durch das PATH-Trennzeichen der
Shell getrennt.
Beispiel für die Befehlszeileninterpreter in DOS, Windows, OS/2:
set WCDEXCLUDE=*/windows;*/temp;*CVS
Ein Beispiel für POSIX-Shells:
export WCDEXCLUDE="/dev:/tmp:*CVS"
Ein Beispiel für Csh-Shells:
setenv WCDEXCLUDE "/dev:/tmp:*CVS"
- WCDUSERSHOME
- Dies legt das übergeordnete Verzeichnis der Home-Verzeichnisse der
Benutzer fest. Unter DOS/Windows ist der Standardwert "\\users".
Unter Unix/Cygwin ist "/home" die Vorgabe. Die Variable wird
verwendet, um die Baumdateien anderer Benutzer einzulesen. Siehe auch die
Optionen -u und +u. Im ausführlichen Modus gibt wcd
alle Filter sowie gebannte und auszuschließende Verzeichnisse aus.
Siehe Option -v.
- WCDSTACKFILE
- Wcd bevorzugt WCDSTACKFILE gegenüber dem vorgegebenen Namen
der Stapeldatei (siehe Abschnitt DATEIEN). Mit dieser Variable kann jede
Shell oder jede Terminalemulation ihren eigenen Verzeichnisstapel haben.
So verwenden Sie eine eindeutige zeitbasierte Datei (JJJJMMTT-HHMMSS)
für jede geöffnete interaktive Shell:
export WCDSTACKFILE=$HOME/.wcd/stack.$(date +%Y%m%d-%H%M%S)
Für einen Stapel pro xterm(1) verwenden Sie die
Umgebungsvariable WINDOWID:
export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOWID
Einen Stapel pro Bildschirm erreichen Sie für GNU screen(1)
so:
export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOW
- TERMINFO
- Wenn die Umgebungsvariable TERMINFO, sucht wcd mit
ncurses-Schnittstelle nach einer lokalen Teminaldefinition, bevor am
Standardort gesucht wird. Dies ist sinnvoll für
Terminaldefinitionen, die sich nicht an einem vorgegebenen Ort befinden.
Oft verwendete Standardorte sind "/usr/lib/terminfo" und
"/usr/share/terminfo".
- PDC_RESTORE_SCREEN
- Wcd mit PDCurses-Schnittstelle berücksichtigt die Umgebungsvariable
PDC_RESTORE_SCREEN. Falls diese Umgebungsvariable gesetzt ist,
erzeugt PDCurses eine Kopie des Bildschirminhalts zur Startzeit von wcd.
Beim Abbruch von wcd wird der Bildschirm wiederhergestellt. Ein Beispiel
für den Windows-Befehlszeileninterpreter:
set PDC_RESTORE_SCREEN=1
Windows kann nur einen kleinen Puffer speichern. Es ist daher nicht immer
möglich, alles wiederherzustellen. Andererseits kann in der Konsole
nach wcd Datenmüll ausgegeben werden, falls Sie den Puffer
größer gewählt haben.
- SHELL
- Die Angabe von "#!$SHELL" in der ersten Zeile des Go-Skripts
(für POSIX- oder C-Shells) ist für 8-Bit-Zeichen
nötig. Einige Shells könnten sonst annehmen, dass es sich
bei dem Go-Skript um eine Binärdatei handelt und diese nicht
einlesen. In der Cygwin-Bash muss die Variable SHELL mit dem Befehl
"export" gesetzt werden, sonst kann wcd diese Variable nicht
lesen.
- BASH
- Wcd für die DOS-Bash verwendet $BASH anstelle von $SHELL, weil
$SHELL auf die DOS-Befehlsshell zeigt. $BASH muss mit einem
"export"-Befehl definiert werden, anderenfalls kann wcd die
Variable nicht lesen.
SIEHE AUCH¶
sh(1),
bash(1),
csh(1),
ksh(1),
zsh(1),
locale(1),
ncurses(1),
AUTOREN¶
Wcd wurde von Erwin Waterlander <waterlan@xs4all.nl> geschrieben.
Projektseite: <
http://waterlan.home.xs4all.nl/>
SourceForge: <
http://sourceforge.net/projects/wcd/>
Freecode: <
http://freecode.com/projects/wcd/>
Die Formatierung der Handbuchseite wurde von Jari Aalto
<jari.aalto@cante.net> bereitgestellt.
NCD wurde ursprünglich von Brad Kingsbury für Peter Nortons
»Norton Utilities« etwa 1987 geschrieben. Siehe auch
<
http://www.softpanorama.org/OFM/norton_change_directory_clones.shtml>