NAMN

wcd - Wherever Change Directory

chdir för DOS och Unix

SYNOPSIS

wcd [flaggor] [katalog]

BESKRIVNING

Översikt

Wcd är ett kommandoradsprogram för att snabbt byta katalog. Det sparar tid genom att du behöver skriva mindre på tangentbordet. Man behöver bara skriva en del av ett katalognamn så kommer wcd hoppa dit. Wcd har en snabb urvalsmetod vid flera matchningar och tillåter alias och förbud av kataloger. Wcd innehåller också en interaktiv katalogträdsläsare i helskärm med snabbsökning.

Wcd inspirerades av Norton Change Directory (NCD). NCD dök upp först i The Norton Utilities, Release 4, för DOS 1987, publicerad av Peter Norton.

Wcd har portats till flera olika kommandoradsskal: DOS command.com, Windows cmd.exe och PowerShell, OS/2 cmd.exe och Unix-skal som Bourne (sh), Bourne Again (bash), Korn (ksh), Z (zsh) och C (csh)-skal samt andra som körs på valfritt operativsystem.

Wcd stöder 8-bitars teckenuppsättningar på alla system, och har valfritt stöd för Unicode. Se avsnittet LOKALISERING.

Se avsnittet INSTALLATION för hur du ställer in wcd för personligt bruk.

Grundläggande användning

Som standard (om inga jokertecken används) söker wcd efter en katalog med ett namn som börjar med det inskrivna namnet.

Detta kommando kommer till exempel att ändra katalog till den aktuella användarens /home/user/Desktop:

wcd Desk

När det finns flera matchningar kommer wcd att visa användaren en lista över alla matchningar. Användaren kan sedan göra ett val med några få knapptryckningar (oftast bara en).

Jokertecken

Wcd stöder följande jokertecken:

    *       matchar alla teckensekvenser (noll eller fler)
    ?       matchar vilket tecken som helst
    [SET]   matchar vilket tecken som helst i den angivna uppsättningen,
    [!SET]  eller [^SET] matchar alla tecken som inte finns i den angivna uppsättningen.
En uppsättning(SET) består av tecken eller intervall; ett intervall ser ut som I<tecken bindestreck tecken> som i C<0-9> eller C<A-Z>. C<[0-9a-zA-Z_]> är den minimala uppsättningen tecken som tillåts i C<[..]>-mönsterkonstruktionen. Internationella tecken (dvs. 8-bitars tecken) är tillåtna om systemet stöder dem. För att undertrycka den speciella syntaktiska betydelsen av någon av C<[]*?!^-\> i eller utanför en C<[..]>-konstruktion och matcha tecknet exakt, föregå tecknet med snedstreckmarkör (C<\>).

Att använda jokertecken möjliggör kraftfulla sökningar. Till exempel matchar detta alla katalognamn som slutar med "top":

wcd *top

Matcha kataloger som har "top" var som helst i namnet:

wcd *top*

Matcha alla katalognamn som börjar med "a", "b" eller "c":

wcd [a-c]*

Det är också möjligt att tillhandahålla en del av katalogsökvägen. Här söker Wcd efter en katalog som börjar med "Desk" och vars sökväg matchar *me/Desk*.

wcd me/Desk

Det är tillåtet att skriva alla slags uttryck med snedstreck och jokertecken. T.ex.:

wcd src*/*1?/a*2

Övrig användning

Om inga jokertecken används och wcd hittar en perfekt matchning, ignorerar wcd alla jokermatchningar som standard. Detta beteende kan ändras med flaggan -w.

Den interaktiva katalogträdsläsaren kan startas genom att använda flaggan -g.

wcd -g

Wcd genererar en träddatafil där den söker efter kataloger. På Unix och Windows-system lägger wcd till symboliska länkar till träddatafilen vid avläsning av disken, men följer dem inte. Genom att följa länkar skulle wcd kunna hamna i oändliga loopar eller läsa av stora delar av ett nätverk.

Wcd kan också byta till kataloger som inte finns i träddatafilen. T.ex.:

wcd ..

Om wcd hittade en matchning men inte kan ändra till katalogen försöker den ta bort den från standardträddatafilen. Inte från den extra träddatafilen. Se även flaggan -k.

Wcd behåller en katalogstack som är lagrad på disken. Stacken har en standardstorlek på 10 och är cyklisk. Se flaggorna -z, -, + och =.

I fleranvändarmiljöer kan flaggan -u användas för att byta till kataloger för andra användare.

På DOS- och Windows-system spelar det ingen roll om du använder ett snedstreck "/" eller ett omvänt snedstreck "\" som katalogavgränsare.

Det är på DOS- och Windows-system möjligt att byta enhet och katalog på en gång genom att föregå katalognamnet med enhetsnamnet.

wcd d:games

Windows UNC-sökvägar

Windows-versionerna (Kommandotolken, PowerShell, MSYS, zsh, cygwin) stöder Windows SMB LAN UNC-sökvägar utan enhetsbokstav som \\servernamn\sharename. Wcd för Windows Kommandotolken använder kommandot "pushd" för att automatiskt koppla en UNC-sökväg till en enhetsbeteckning. I Windows PowerShell, MSYS, zsh och Cygwin stöds UNC-sökvägar fullt ut. Den aktuella arbetskatalogen kan vara en UNC-sökväg.

Ändra konsolstorlek på Windows

Wcd stödjer ändring av konsolstorlek i Windows 10 och ConEmu (se https://conemu.github.io/) från och med version 6.0.3. Konsolen i Windows 10 får inte vara i föråldrat läge (se konsolinställningarna). Skärmen kanske inte uppdateras när konsolens Layout-egenskap "Radbryt text vid storleksändring" är inaktiverad. Skärmen kan uppdateras manuellt genom att trycka på tangenten F5.

Gränssnitt

Wcd har tre olika gränssnitt för att välja från en lista med matchningar. Gränssnittet kan väljas vid kompilering.

Det första gränssnittet använder vanlig stdin/stdout. En numrerad lista skrivs ut i terminalen. Användaren måste välja från listan genom att skriva en siffra följt av <Retur>. Det här gränssnittet ger ingen möjlighet att rulla tillbaka vid en lång lista. Terminalens/konsolens rullningsförmåga måste användas. Det är väldigt litet och portabelt.

Det andra gränssnittet är byggt med conio-biblioteket. Det ger en inbyggd rullningsförmåga. Användaren får en lista numrerad med bokstäver. Att välja från en lista kan göras genom att trycka på en bokstav. Detta gränssnitt är snabbt eftersom det sparar tangenttryckningar. Om möjligt kommer skärmen att återställas efter att ha avslutats. Den som föredrar att skriva siffror kan använda flaggan -N.

Det tredje gränssnittet är byggt med curses-biblioteket. Det liknar conio-gränssnittet. Curses-versionen av wcd har också ett ytterligare "grafiskt" gränssnitt. Det låter användaren välja en katalog via en helskärmsinteraktiv katalogträdvy. Det har en vim(1)-liknande navigering och sökmetod. Det aktiveras med flaggan -g.

Genom att använda flaggan -o kan man alltid återgå till stdin/stdout-gränssnittet.

FLAGGOR

-a

Lägg till nuvarande sökväg till standardträddatafilen.

Använd den här flaggan för att snabbt lägga till den aktuella sökvägen till standardträddatafilen. Att läsa av hela disken kan i vissa fall ta lång tid.

-aa

Lägg till aktuell och överordnade sökvägar till standardträddatafilen.

-A SÖKVÄG

Läs av katalogträdet från SÖKVÄG och lägg till standardträddatafilen. Exempel:

wcd -A .
wcd -A /home -A /etc
wcd -A d: -A e: -A \\server\share

På Windows kan man läsa av alla delade kataloger på en Windows LAN-server genom att skriva något i stil med: wcd -A \\servernamn.

Se också flaggan -S och -s och -E.

-b

Förbjud nuvarande sökväg.

Wcd placerar den aktuella sökvägen i förbudsfilen. Detta betyder att wcd ignorerar alla matchningar av denna katalog och dess underkataloger.

Förbudsfilen kan redigeras med en textredigerare. Användning av jokertecken stöds och namn matchas mot den absoluta sökvägen.

Förbjudna sökvägar är inte uteslutna från avläsning av disk. För detta, använd flaggan -xf.

-c, --direct-cd

Direkt CD-läge. Som standard fungerar wcd enligt följande:

1. Försök att hitta en matchning i träddatafilen
2. Om ingen matchning hittades, försök att öppna katalogen du skrev in.

I direkt CD-läge fungerar wcd i omvänd ordning.

1. Försök att öppna katalogen du skrev in.
2. Om inte, försök att hitta en matchning i träddatafilen.
-d DISK

Ställ in disk för stack- och go-fil (endast DOS).

Stackfilen och go-skriptet lagras som standard på enhet C: om miljövariabeln HOME är tom. Använd denna flagga om enheten C: är en skrivskyddad enhet. Flaggan måste anges framför stackflaggorna -, + och =.

-e

Lägg till nuvarande sökväg till extra träddatafil.

Använd den här flaggan för att snabbt lägga till den aktuella sökvägen till den extra träddatafilen.

-ee

Lägg till aktuella och alla överordnade sökvägar till extra träddatafil.

-E SÖKVÄG

Skanna katalogträdet från SÖKVÄG och lägg till extra träddatafilen. Se även flaggan -A och -S.

-f FIL

Läs träddatafil FIL. Läs inte standardträddatafilen.

+f FIL

Läs träddatafil FIL förutom standardträddatafilen.

-g

Grafiskt gränssnitt (endast i version med curses-gränssnitt).

Wcd startar ett curses-baserat "grafiskt" textgränssnitt. Användaren kan välja katalog via en interaktiv katalogträdvy i helskärm. Det har en vim(1)-liknande navigering och sökmetod.

Om ingen söksträng anges visar wcd hela trädet som finns i standardträddatafilen och de extra träddatafilerna.

Om en söksträng anges visas matchningslistan som ett katalogträd.

Standardträdvyn liknar trädlayouten i det ursprungliga NCD på DOS. Skillnaden är att i NCD är alla kataloger på samma djupnivå vertikalt justerade över hela trädet. Det var i NCD möjligt eftersom maximal längd för ett katalognamn i DOS var 12 (8.3) tecken. På moderna operativsystem kan katalognamn vara väldigt stora. Därför är kataloger med samma djup inte vertikalt justerade över hela trädet i wcd, utan bara i undernivåer. Så, det kommer att finnas en del sidorörelser när man förflyttar sig upp och ned från en undernivå till en annan undernivå.

Navigationsbeteendet i Wcd är precis likadant som i det ursprungliga NCD. Till exempel, när du trycker på nedåttangenten kan du gå nedåt till nästa katalog på samma djupnivå, och hoppa över grenar. Det möjliggör en snabb navigering genom trädet.

Se flaggan -Ta, -TC, och -Tc för att ändra navigeringsbeteendet.

-gd

Dumpa träddatafilerna som ett träd till stdout.

-G SÖKVÄG

Skriv go-skript i katalogen SÖKVÄG. Till exempel på Unix kommer wcd -G SÖKVÄG att skriva ett go-skript på SÖKVÄG/wcd.go.

-GN, --no-go-skript

Skapa inte go-skript. Denna flagga kan användas i kombination med flaggan -j om man inte vill att wcd ska skapa ett go-skript.

-h, --help

Visa hjälp och avsluta.

-i, --ignore-case

Ignorera skiftläge. DOS- och Windows-versionerna av wcd ignorerar skiftläge som standard. Unix/Cygwin-versioner beaktar skiftläge som standard.

+i, --no-ignore-case

Beakta skiftläge. Se också flaggan -i.

-I, --ignore-diacritics

Ignore diacritics for Latin-based scripts. Letters with diacritical marks match their base letter without diacritical mark. The following Latin encodings are supported: CP437, CP850, CP852, CP1250, CP1252, ISO-8859-1, ISO-8859-2, and Unicode Latin-1, Latin Extended-A, and Latin Extended-B. See also https://en.wikipedia.org/wiki/Diacritic

+I, --no-ignore-diacritics

Beakta diakritiska tecken (standard). Se också flaggan -I.

-j, --just-go

Kör-på-läge.

I detta läge kommer wcd inte att visa en lista när det finns mer än en katalog som matchar den givna katalogen. Wcd kommer bara att ändra till det första alternativet. När wcd anropas igen med samma argument kommer det att ändra till nästa alternativ, och så vidare.

Wcd skriver ut katalogen att byta till på stdout. Därmed kan en annan installationsmetod användas. Man kan exempelvis skapa följande funktion för ett POSIX-kompatibelt skal:

wcd ()
{
    cd "$($HOME/bin/wcd.exe -j $@)"
}

När du använder ett gammalt skal som inte stöder "$()" kommandosubstitution måste du använda äldre kommandosubstitution med bakre citattecken.

wcd ()
{
    cd "`$HOME/bin/wcd.exe -j $@`"
}

På Windows-system, om man kör 4NT-skal, kan man skapa följande alias:

alias wcd `cd %@execstr[wcdwin32.exe -z 0 -j %1]`

Denna metod tar bort behovet av go-skript, så man kan använda flaggan -GN i kombination med -j.

-k, --keep-paths

Behåll sökvägar.

Behåll sökvägar i träddatafilen när wcd inte kan ändra till dem. Standardbeteendet för wcd är att den försöker ta bort sökvägar från träddatafilen när wcd inte kan ändra dem. Med den här flaggan inaktiveras detta beteende.

-K, --color

Använd färger i grafiskt läge.

-l ALIAS

Namnge den aktuella sökvägen med ALIAS. Wcd placerar den aktuella sökvägen med alias ALIAS i aliasfilen. Alias är skiftlägeskänsliga.

-ls

Visa namnet på aliasfilen och lista alla alias.

-m KAT

Skapa katalog och lägg till i träddatafilen.

-L, --license

Skriv ut distributionslicensen.

-M KAT

Skapa katalog och lägg till i extra träddatafil.

-n SÖKVÄG

Läs relativ träddatafil från SÖKVÄG.

Läs inte standardträddatafilen. Den relativa träddatafilen borde redan ha skapats med flaggan wcd +S. SÖKVÄG kan också peka direkt på en fil.

Ett exempel. Anta att ett annat system har monterats på monteringspunkt /mnt/network:

wcd -n /mnt/network src

Wcd öppnar den relativa träddatafilen i /mnt/network/. Filen innehåller sökvägarna från den punkten.

+n SÖKVÄG

Läs relativ träddatafil utöver standardträddatafilen. Se flaggan -n.

-N, --numbers

Använd siffror istället för bokstäver.

Wcd med ett conio- eller curses-baserat gränssnitt (se avsnittet Gränssnitt) presenterar som standard en matchlista numrerad med bokstäver. När flaggan -N används är matchlistan numrerad med siffror. Oavsett om flaggan -N används kan man skriva en bokstav eller siffror för att göra ett val från matchningslistan.

-o

Använd stdin/stdout-gränssnitt.

När conio- eller curses-gränssnittet för wcd av någon slags anledning inte fungerar kan man återgå till stdin/stdout-gränssnittet för wcd genom att använda flaggan -o.

-od, --to-stdout

Dumpa alla matchningar till stdout.

-q, --quiet

Tystare körning. Utskriften av den sista matchningen ignoreras.

-r KAT

Ta bort katalog och ta bort från träddatafil.

Om katalogen är tom kommer wcd att ta bort den och försöka ta bort den från träddatafilen.

-rmtree KAT

Rekursivt ta bort katalogen och ta bort från träddatafil.

Wcd kommer ta bort katalog och alla dess underkataloger och filer, och ta bort katalogerna från träddatafil.

-s

(om)Läs av disken från $HOME-katalogen. Om HOME inte är definierat läses disken av från rotkatalogen /.

Den befintliga standardträddatafilen skrivs över.

Standardkatalogen för avläsning kan åsidosättas med miljövariabel WCDSCAN. Se avsnittet MILJÖVARIABLER.

-S SÖKVÄG

Skanna katalogträdet från SÖKVÄG och skriv över standardträddatafil. Se även flaggan -A, -s och -E. T.ex. med flaggan -A kan du skapa en standardträddatafil som du väljer. Exempel:

Unix:

wcd -S /
wcd -S /home -A /etc -A /usr

DOS/Windows:

wcd -S c:/
wcd -S c: -A d: -A \\server\share

Med Windows-versionerna kan man läsa av alla delade kataloger på en Windows LAN-server genom att skriva något i stil med: wcd -S \\servernamn.

+S SÖKVÄG

Läs av disk från SÖKVÄG och placera relativa sökvägar i en relativ träddatafil. Den här filen används av flaggan -n och +n i wcd. T.ex. wcd -n SÖKVÄG src.

-t

Ta inte bort tmp-monteringskatalog /tmp_mnt (endast Unix)

Wcd stryker som standard /tmp_mnt/ från matchningen. Katalog /tmp_mnt används av automonteraren. Detta beteende kan stängas av med flaggan -t.

-T, --ascii-tree

Rita träd med ASCII-tecken. Använd den här flaggan om linjeteckningstecken inte visas korrekt i din terminal.

-Ta, --alt-tree-nav

Alternativt sätt att navigera det grafiska trädet.

I standardträdlayouten i NCD-stil inaktiverar flagga -Ta hoppning till orelaterade kataloger.

I kompakt trädläge gör det alternativa läget att navigeringen liknar navigering i GUI-filhanterare som Windows Explorer eller Linux KDE Konqueror. Genom att trycka på Upp och Ned flyttas den valda katalogen en rad uppåt eller nedåt. Genom att trycka på vänster viks först underkatalogerna och nästa drag till vänster flyttar verkligen åt vänster.

Du kan växla mellan standardnavigering och alternativ navigering i farten genom att trycka på <Skift-A>.

När alternativt navigeringsläge är på ser du ett "A" i det nedre högra hörnet.

-TC, --center-tree

Centrerad vy i det grafiska trädet. Den valda katalogen stannar kvar i mitten av skärmen. Det centrerade läget kan också slås på och av med tangenten <t> i det grafiska trädet.

Det icke-centrerade standardbeteendet, som minimerar trädrörelser, är detsamma som i ursprungliga NCD.

-Tc, --compact-tree

Som standard ritas det "grafiska" trädet på samma sätt som i ursprungliga NCD på DOS. På DOS kunde en katalogsökväg endast bestå av totalt 66 tecken. Med dagens djupa katalogstrukturer kan trädet bli mycket brett. För att övervinna detta kan wcd rita trädet på ett kompakt sätt, liknande de flesta GUI-filhanterare, med endast en mapp per rad. Använd flaggan -Tc eller växla i farten med <m>-tangenten.

-Td, --cjk-width

Gamla östasiatiska CJK-teckensnitt (kinesiska, japanska och koreanska) har vissa tecken och linjedragningssymboler med en kolumnbredd på 2, medan den normala Unicode-bredden för dessa tecken är 1 kolumn. Till exempel kinesiska CP936-rasterteckensnittet i Windows och Simsun-teckensnittet. Använd den här flaggan för att få en korrekt konturering av det grafiska trädet när ett äldre CJK-teckensnitt används.

När CJK-läget är på, kommer du att se ett "C" i det nedre högra hörnet.

-u ANVÄNDARE

Sök i en annan användares träddatafil baserat på USER, sök inte i din egen standardträddatafil. Se även avsnittet MILJÖVARIABLER för WCDUSERSHOME.

På Unix/Cygwin antas baskatalogen för användarhemkataloger vara /home. Wcd kommer att leta efter /home/USER/.treedata.wcd och /home/USER/.wcd/.treedata.wcd, i den ordningen, och läsa den första som finns och är läsbar. På DOS/Windows antas baskatalogen för användarhemkataloger vara \\users, så wcd försöker läsa \\users\USER\treedata.wcd och \\users\USER\.wcd\treedata.wcd.

+u ANVÄNDARE

Läs standardträddatafilen för USER förutom din egen träddatafil.

-v, --verbose

Visa utförliga meddelanden. Med den här flaggan skriver wcd ut alla filter, förbud och uteslutningar.

-V, --version

Skriv ut versionsinformation och avsluta.

-w, --wild-match-only

Endast matchning med jokertecken. Behandla alla matchningar som sådana.

-x SÖKVÄG

Uteslut SÖKVÄG från avläsning.

När denna flagga används kommer wcd att utesluta SÖKVÄG och alla dess underkataloger när wcd läser av en disk. Jokertecken stöds och matchas mot absoluta sökvägar. Flaggan -x kan användas flera gånger.

wcd -x <sökväg1> -x <sökväg2> -s

Flaggan -x måste användas framför alla sökflaggor (-s, -S, +S, -A, -E).

På DOS/Windows-system måste man ange enhetsbeteckningen beroende på om miljövariabeln HOME eller WCDHOME är inställd. Om HOME eller WCDHOME är inställd måste man ange enhetsbeteckningen. Ett exempel:

wcd -x c:/temp -S c:

Ange annars inte enhetsbeteckning.

wcd -x /temp -s
-xf FIL

Uteslut alla sökvägar som anges i FIL från avläsning.

När den här flaggan används utesluter wcd alla sökvägar som anges i FIL och alla deras underkataloger när wcd läser av en disk. Jokertecken stöds och de matchas mot absoluta sökvägar; en sökväg per rad. Wcd ignorerar inte ledande eller avslutande blanksteg på en rad, eftersom de är korrekta tecken i ett katalognamn. Flaggan -xf kan användas flera gånger. När man vill utesluta alla förbjudna sökvägar från avläsning kan man göra följande (exempel för wcd på unix):

wcd -xf ~/.ban.wcd -s

Jokertecken stöds. För att till exempel utesluta alla dina Subversion-kataloger med administrativa filer, lägg till en rad med */.svn.

Flaggan -xf måste användas framför alla sökflaggor (-s, -S, +S, -A, -E).

-y, --assume-yes

Svara Ja på alla frågor.

Wcd kommer inte att fråga användaren med ja/nej-frågor, utan förutsätter att användaren svarar ja på alla frågor. Detta kan användas i kombination med flaggan -rmtree. Denna flagga måste användas före flaggor som kan leda till ja/nej-frågor.

-z TAL

Ställ in maximal stackstorlek till TAL.

Standardstorleken för stacken är 10. Stackfunktionen kan stängas av genom att ställa in storleken till 0. Den här flaggan måste användas före alla andra stackoperationer (-,+,=). I annat fall kommer stackens storlek att sättas tillbaka till standardvärdet 10.

Ett korrekt kommando är:

wcd -z 50 -

Den nya stackstorleken blir 50, wcd går en katalog tillbaka. Ett felaktigt kommando är:

wcd - -z 50

Wcd går en katalog tillbaka, stacken får standardstorleken 10. -z 50 ignoreras.

Lägg till den här flaggan som den första flaggan till ditt wcd-alias eller -funktion. T.ex. för ett POSIX-kompatibelt skal skulle detta vara:

wcd ()
{
    wcd.exe -z 50 "$@"
    . ${WCDHOME:-${HOME}}/bin/wcd.go
}
-[TAL]

Push till katalog TAL gånger. Standardvärdet är en gång.

Gå tillbaka en katalog. Kommandot wcd - går en katalog tillbaka. För att gå tillbaka fler kataloger lägg till ett nummer. T.ex. kommando wcd -3. Stacken är cyklisk.

+[TAL]

Pop till katalogen TAL gånger. Standardvärdet är en gång.

Gå framåt en katalog. Kommandot wcd + går en katalog framåt. För att gå fler kataloger framåt lägg till ett nummer i den. T.ex. kommando wcd +2. Stacken är cyklisk.

=

Visa stack.

Använd den här flaggan om du inte längre vet hur många gånger du ska anropa push eller pop. Stacken skrivs ut och du kan välja ett antal. Den aktuella platsen i stacken är markerad med en asterisk *.

INSTALLATION

Den aktuella arbetskatalogen för ett Unix-skal kan endast ändras med det inbyggda kommandot cd(1). Därför anropas programmet alltid av en funktion eller ett alias. Funktionen eller aliaset kör ett skalskript (go-skript) som genereras av wcd-programmet. Wcd kan bara fungera efter att funktionen eller aliaset har definierats.

En annan viktig påverkan på din installation är definitionen av miljövariabler HOME och WCDHOME. Se avsnittet MILJÖVARIABLER.

Installera för skal av POSIX-typ

Om wcd installerades med en pakethanterare kan wcd-funktionen vara installerad i /etc/profile.d och automatiskt läsas in. I detta fall behöver du inte definiera en funktion själv.

För ett POSIX-skal (ksh, bash, zsh, etc.) på Unix, Linux, Cygwin eller inbyggt MSYS, lägg till följande funktion i skaluppstartsfilen (t.ex. Bash använder $HOME/.bashrc):

wcd ()
{
    typeset go="${WCDHOME:-${HOME}}/bin/wcd.go"
    rm -f "$go" 2> /dev/null
    PATH/wcd.exe "$@"
    [ -f "$go" ] && . "$go"
}

Ersätt SÖKVÄG med platsen där wcd-körfilen har installerats. Läs om skalinitieringsfilerna eller starta ett nytt skal.

Platsen för go-skriptet wcd.go skiljer sig åt per skal.

Wcd för DJGPP DOS bash och OS/2 bash kräver en annan funktion. go-skriptet är inte skrivet i en katalog bin, och om WCDHOME och HOME inte båda är definierade skrivs go-skriptet i c:/.

DOS bash:

wcd ()
{
    PATH/wcdbash.exe "$@"
    . ${WCDHOME:-${HOME:-"c:"}}/wcd.go
}

OS/2 bash:

wcd ()
{
    PATH/wcdos2bash.exe "$@"
    . ${WCDHOME:-${HOME:-"c:"}}/wcd.go
}

WinZsh-versionen av wcd kräver en lite annorlunda funktion. Go-scriptet kommer aldrig att skrivas i c:/.

wcd ()
{
    PATH/wcdwin32zsh.exe "$@"
    . ${WCDHOME:-${HOME}}/wcd.go
}

Se avsnittet FILER för mer information.

Installera för C-liknande skal (csh, tcsh)

Lägg till följande alias till skalstartsfilen $HOME/.cshrc eller $HOME/.tcshrc :

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

Ersätt SÖKVÄG med platsen där wcd-körfilen har installerats. Ladda om skalinitieringsfilerna eller starta ett nytt skal.

Windows kommandotolksversion

Packa upp zip-filen och lägg till katalog bin till din miljövariabel SÖKVÄG.

I Windows kommandotolk går det inte att låta ett Windows-program ändra den aktuella arbetskatalogen, men en .bat-fil kan. Batchskriptet wcd.bat kör wcd-programmet som genererar ett nytt batchskript wcdgo.bat. Sedan kör wcd.bat wcdgo.bat som faktiskt ändrar katalogen.

Windows VISTA och högre

I kommandotolken i Windows VISTA och högre versioner kan du ha begränsad tillgång till kataloger. För att få tillgång till flera kataloger behöver du administratörsrättigheter. Du kan få en kommandotolk med administratörsrättigheter om du högerklickar på ikonen för kommandotolken och väljer Kör som administratör.

Windows PowerShell version

Lägg till följande funktion till din PowerShell-användarprofil. Platsen för denna profil lagras i variabeln $profile. Det krävs att en av miljövariablerna HOME eller WCDHOME är definierad.

function wcd
{
    PATH\wcdwin32psh.exe $args
    & $env:HOME\wcdgo.ps1
}

Ersätt SÖKVÄG med platsen där wcd-körfilen har installerats. Starta en ny PowerShell. Wcd för PowerShell stöder endast filsystemleverantören. Inga andra leverantörer.

OS/2-kommandotolkens version

I en OS/2-kommandotolk (cmd.exe) kan ett OS/2-program inte ändra den aktuella arbetskatalogen. Det är därför som wcd genererar ett kommandoskript wcdgo.cmd som måste exekveras i det aktuella skalet. Skriptet wcd.cmd börjar med att exekvera wcdos2.exe, som skapar skriptet wcdgo.cmd. Därefter kör wcd.cmd skriptet wcdgo.cmd.

LOKALISERING

LANG

Det primära språket väljs med miljövariabeln LANG. LANG består av flera delar. Den första delen är språkkoden med gemener. Den andra delen är valfri och utgörs av landet, landskoden med stora bokstäver, föregånget av ett understreck. Det finns också en valfri tredje del: teckenkodning, som föregås av en punkt. Några exempel för POSIX-skal av standardtyp:

export LANG=nl               Nederländska
export LANG=nl_NL            Nederländska, Nederländerna
export LANG=nl_BE            Nederländska, Belgien
export LANG=es_ES            Spanska, Spanien
export LANG=es_MX            Spanska, Mexico
export LANG=en_US.iso88591   Engelska, USA, Latin-1-kodning

For a complete list of language and country codes see the gettext(1) manual: https://www.gnu.org/software/gettext/manual/gettext.html#Language-Codes On Unix systems you can use to command locale(1) to get locale specific information.

LANGUAGE

With the LANGUAGE environment variable you can specify a priority list of languages, separated by colons. Wcd gives preference to LANGUAGE over LANG. For instance, first Dutch and then German: LANGUAGE=nl:de. You have to first enable localization, by setting LANG or LC_ALL to a value other than C, before you can use a language priority list through the LANGUAGE variable. See also the gettext(1) manual: https://www.gnu.org/software/gettext/manual/gettext.html#The-LANGUAGE-variable

Om du väljer ett språk som inte är tillgängligt får du standardmeddelanden på engelska.

WCDLOCALEDIR

Med miljövariabeln WCDLOCALEDIR kan den LOCALEDIR som används under kompilering och installation av wcd åsidosättas. LOCALEDIR används av wcd med stöd för lokalt språk för att hitta språkfilerna. GNU-standardvärdet är /usr/local/share/locale. Genom att skriva wcd -V kommer wcd att skriva ut det LOCALEDIR som används.

Om du har installerat wcd i en annan katalog än standardkatalogen kan du behöva ställa in miljövariabeln WCDLOCALEDIR att peka på lokalkatalogen.

Ett exempel för Windows cmd:

set WCDLOCALEDIR=c:/my_prefix/share/locale

Ett exempel för ett POSIX-skal:

export WCDLOCALEDIR=$HOME/share/locale
LC_COLLATE

När det finns flera katalogmatchningar presenterar wcd en sorterad lista. Sorteringen beror på språkinställningarna. Om miljövariabeln LANG har ställts in sorteras träffarna som ordböcker eller telefonböcker sorteras på det språket. Till exempel ignoreras punkter och streck, bokstäver e med och utan accent behandlas lika, och skiftläge ignoreras.

Sorteringen ger företräde åt miljövariabeln LC_COLLATE framför LANG. Om du gör LC_COLLATE likvärdig med C eller POSIX, kommer sorteringen av lokalvariabeln inaktiveras. Om du till exempel vill ha nederländskt språk, men inte nederländsk sortering, kan du göra något liknande:

export LANG=nl_NL
export LC_COLLATE=C
LC_CTYPE

Med avseende på teckenkodning kommer Wcd att ge företräde till variabel LC_CTYPE framför LANG. För att till exempel ställa in teckenkodning till UTF-8 kan följande miljöinställning göras.

export LC_CTYPE=en_US.UTF-8
LC_ALL

Alla lokalmiljövariabler som börjar med LC_ åsidosätts av miljövariabeln LC_ALL om den är definierad. Wcd ger företräde till LC_ALL framför LC_COLLATE och LC_CTYPE.

WINDOWS TECKENTABELLER

Det finns två grupper av teckentabeller: DOS-teckentabeller (OEM) och Windows-teckentabeller (ANSI). Standardkodningen för Windows, när den är konfigurerad med västerländska regionala inställningar, är ANSI CP1252. Windows-program, till exempel Anteckningar, använder denna ANSI-teckentabell för standardsystemet. Windows-konsolen använder som standard en OEM-teckentabell (CP437 eller CP850) för att vara kompatibel med DOS-program. Om du använder en DOS-version av wcd i en Windows-konsol kommer den att fungera, på grund av DOS-teckentabellen. Men DOS-versionen av wcd saknar stöd för långa katalognamn och nätverksenheter i Windows.

Windows-versionen av wcd är ett Windows-program och kommer att använda Windows-systemets ANSI-teckentabell. På ett västerländskt regionalt Windows kommer det alltså att använda teckentabell CP1252 för katalognamn och meddelanden. För att erhålla konsekvent utdata, oberoende av den aktiva teckentabellen, översätter alla Windows-versioner av Wcd ANSI-utdata till Unicode-utdata i kommandotolken och i PowerShell.

Konsolens rasterteckensnitt stöder endast den ursprungliga OEM-teckentabellen som installerats med Windows, så du måste ändra konsolens teckensnitt till Lucida Console för att Unicode- (och ANSI-) bokstäver ska visas korrekt.

Icke-Unicode-versioner av Wcd före version 5.2.0 använder vanlig ANSI-utskrift. För dessa äldre versioner måste teckentabellen för konsolen vara lika med systemets teckentabell (ändras till 1252) för att göra att wcd för Windows fungerar korrekt med specialtecken, t.ex. tecken med accent eller Euro-symbolen.

Windows-systemets teckentabell kan ändras via kontrollpanelen regionalinställningar. Windows-konsolens teckentabell ändras med kommandot chcp.

När du skriver wcd -V visas den faktiska teckenkodning som används av wcd. Skriv kommandot chcp för att visa den aktiva teckentabellen i Windows-konsolen.

UNICODE

Wcd har valfritt stöd för Unicode. För att se om wcd byggdes med Unicode-stöd skriv wcd -V. Om din terminal/konsol och ditt typsnitt har stöd för det bör du se eurosymbolen och kinesiska tecken (vilket betyder: "kinesiska").

Wcd has been soft converted to Unicode. In its core wcd handles all data as a stream of bytes. Only the lines printed to screen are on the fly converted to Unicode wide characters. Wcd fully relies on libc functions and has no UTF-8 specific code. See also https://www.cl.cam.ac.uk/~mgk25/unicode.html

Wcd has optional support for Unicode matching with normalisation. To find out whether Wcd has normalisation support type wcd -V. Wcd with Unicode normalization support will match Unicode names based on compatible equivalence. Without Unicode normalization support, names are matched when they are binary equivalent. See also https://en.wikipedia.org/wiki/Unicode_normalization

UTF-8 på Unix/Linux

För att kunna se UTF-8-tecken måste din konsol/terminal också stödja UTF-8. Xterm-versionen som kommer med XFree86 4.0 eller högre inkluderar UTF-8-stöd. För att aktivera det, starta xterm(1) i en UTF-8-lokal och använd ett teckensnitt med iso10646-1-kodning, till exempel med

LC_CTYPE=en_GB.UTF-8 xterm -u8 -fn '-Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1'

Moderna distributioner av GNU/Linux stöder UTF-8 som standard. Andra teckenkodningar med flera byte borde också fungera, men det har inte testats.

Wcd förutsätter att träddatafiler är kodade i lokal-teckenkodningen. Det finns inga byteordningsmärken skrivna till träddatafiler.

UTF-16 på Windows

På Windows stöds Unicode i alla versioner av PowerShell och i Windows Kommandotolken på Windows 7 (eller senare). Unicode fungerar även i Take Command eller TCC/LE gjorda av JP Software, som kan användas på äldre Windows-versioner (XP/Vista).

På Windows är alla katalognamn på hårddisken kodade i UTF-16 Unicode. För icke-Unicode Windows-program översätts Unicode-tecknen till standard ANSI-kodtabellen. För tecken som inte ingår i den regionala inställningen är denna översättning inte möjlig och icke-Unicode-program skriver ut ett frågetecken eller ett fel tecken istället.

Wcd med Unicode-stöd läser de UTF-16-kodade katalognamnen och konverterar dem internt till UTF-8. Alla träddatafiler är kodade i UTF-8 och är inte kompatibla med icke-Unicode-versionen av Wcd. Wcd kommer att skapa ett go-skript kodat i UTF-8.

Alla versioner av Windows PowerShell kan köra skript kodade i UTF-8, förutsatt att det finns en UTF-8 BOM i skriptet.

Sedan Windows 7 är det möjligt att byta katalog i Windows kommandotolken med ett batchskript till en katalog med Unicode-bokstäver i namnet. Katalognamnet måste vara kodat i UTF-8, och batch-skriptet får inte ha en BOM. Den aktiva teckentabellen i kommandotolken måste vara inställd på 65001 (UTF-8) före cd-kommandot. Wcd för kommandotolken kommer att skapa ett go-skript wcdgo.bat. Det ändrar först teckentabellen till 65001, byter sedan katalog och ställer slutligen in teckentabellen igen till ursprungliga teckentabellen.

Du måste ställa in teckensnittet till True Type Lucida Console (inte rasterteckensnitt) när bokstäver inte visas korrekt.

The non-Unicode Windows version of Wcd can read Unicode treedata files since version 5.2.0, provided there is a Byte Order Mark (BOM) in the file (see https://en.wikipedia.org/wiki/Byte_order_mark), but it can't change to directories with Unicode letters in the name that are not part of the default system ANSI code page. The Unicode Windows version of wcd writes a BOM in the UTF-8 encoded treedata files since version 5.2.0, which makes them also readable by notepad.

UTF-8 på Cygwin

Cygwin stöder Unicode sedan version 1.7. Cygwin-skiktet ser till att Windows UTF-16 Unicode-namn konverteras till UTF-8. Så program som wcd, behöver inte vara medvetna om detta och kan arbeta med UTF-8-kodning som på Unix/Linux. Ställ in teckenkodning till UTF-8 med LANG eller LC_CTYPE miljövariabel. Du kan behöva läsa av dina enheter igen. Du måste ställa in teckensnittet till True Type Lucida Console (inte rasterteckensnitt) om du använder standardkonsolen i Cygwin.

Cygwin-versionen beter sig exakt som Unix-versionen av wcd. Det finns ingen BOM i träddatafilerna, och det antas att de är kodade i Cygwin lokal teckenkodning.

FILER

Om miljövariabeln WCDHOME är inställd kommer wcd att använda WCDHOME istället för HOME. Alla *.wcd-filer är textfiler. De kan redigeras med en textredigerare. Windows kommandotolk-versionen av wcd beter sig som DOS-versionen. Cygwin-versionen av wcd beter sig som Unix-versionen.

wcd.exe

Programmet. I Unix-skal anropas programmet alltid av en funktion eller alias, eftersom den aktuella arbetskatalogen för ett Unix-skal endast kan ändras av det inbyggda cd-kommandot. Se även avsnitt INSTALLATION.

standardträddatafil

Detta är standardträddatafilen där wcd söker efter matchningar. Om den inte är läsbar kommer wcd att skapa en ny.

DOS: \treedata.wcd eller %HOME%\treedata.wcd
Unix: $HOME/.treedata.wcd
extra träddatafil

En valfri extra träddatafil. Om den finns och är läsbar kommer wcd också att försöka hitta matchningar i den här filen.

DOS: \extra.wcd eller %HOME%\extra.wcd
Unix: $HOME/.extra.wcd
förbudsfil

I denna valfria fil placerar wcd förbjudna sökvägar. Se flaggan -b. Jokertecken stöds.

DOS: \ban.wcd eller %HOME%\ban.wcd
Unix: $HOME/.ban.wcd
aliasfil

Valfri fil med wcd-alias. Se flaggan -l.

DOS: \alias.wcd eller %HOME%\alias.wcd
Unix: $HOME/.alias.wcd
stackfil

I den här filen lagrar wcd sin stack. Enhetsbokstaven kan ändras med flaggan -d.

DOS: c:\stack.wcd eller %HOME%\stack.wcd
Unix: $HOME/.stack.wcd

Namnet på stackfilen kan ändras med miljövariabeln WCDSTACKFILE. Se avsnittet MILJÖVARIABLER.

go-skript

Detta är det skalskript som wcd.exe skapar varje gång. Det kommer från en funktion eller ett alias. Enhetsbeteckningen kan ändras med flaggan -d. Av historiska skäl placeras det som standard i $HOME/bin på Unix-system. Katalogen för denna fil kan ändras med flaggan -G.

DOS bash: c:/wcd.go eller $HOME/wcd.go
Windows Command Prompt: c:\wcdgo.bat eller %HOME%\wcdgo.bat
Windows PowerShell: $env:HOME\wcdgo.ps1
WinZsh: $HOME/wcd.go
Cygwin/MSYS: $HOME/bin/wcd.go
OS/2 Command Prompt: c:\wcdgo.cmd eller %HOME%\wcdgo.cmd
OS/2 bash: c:/wcd.go eller $HOME/wcd.go
Unix: $HOME/bin/wcd.go
relativ träddatafil

Textfil med relativa sökvägar från KAT. Se flaggorna +S, -n och +n.

DOS: PATH\rtdata.wcd
Unix: PATH/.rtdata.wcd

MILJÖVARIABLER

HOME

Wcd använder som standard miljövariabeln HOME för att bestämma var filerna ska lagras. Se även avsnittet FILER. Detta kan åsidosättas med miljövariabeln WCDHOME.

HOME definierar också var avläsningen av disken ska börja när flaggan -s används. Detta kan åsidosättas med miljövariabeln WCDSCAN.

För Unix-, Cygwin-, Windows PowerShell-, WinZsh- och MSYS-versionen krävs att HOME eller WCDHOME är inställt. För de andra versionerna av wcd är det frivilligt att använda dessa variabler.

Om HOME är inställt på DOS/Windows kommer wcd att placera alla sina filer (treedata.wcd, extra.wcd, alias.wcd, ban.wcd, wcd.go) i katalogen HOME. Beteendet hos wcd är då detsamma som Unix-versionen av wcd. Wcd kommer att läsa av disken från HOME. Enheter läses inte av automatiskt genom att byta till dem. Du måste säga till wcd uttryckligen. T.ex:

wcd -S c: -A d: -A e:

Matchning av kataloger är nu global över alla avlästa enheter.

WCDHOME

Miljövariabeln WCDHOME kan användas för att ändra platsen för wcd:s filer. Om både HOME och WCDHOME är inställda kommer WCDHOME att användas istället för HOME.

I wcd-versioner före 5.1.5 ändrade WCDHOME också standardkatalogen för avläsning. Detta har ändrats. Sedan version 5.1.5 ändrar WCDHOME inte standardkatalogen för avläsning. Se flaggan -s. Från och med version 5.1.5 använder du miljövariabeln WCDSCAN för att åsidosätta standardkatalogen för avläsning.

Exempel för DOS, Windows, OS/2 Kommandotolken:

set WCDHOME=C:\Users\erwin\wcd

Ett exempel för skal av POSIX-typ:

export WCDHOME="$HOME/.wcd"

Ett exempel för skal av Csh-typ:

setenv WCDHOME "$HOME/.wcd"
WCDSCAN

Använd miljövariabeln WCDSCAN för att åsidosätta standardkatalogen för sökning i HOME. Definiera en kolonseparerad lista (Unix) för att definiera mer än en katalog. På DOS/Windows gör du listan semikolonseparerad.

Exempel för DOS, Windows, OS/2 Kommandotolken:

set WCDSCAN=C:\Users\erwin;D:\data

set WCDSCAN=%HOMEDRIVE%%HOMEPATH%;\\projectdrive\projectX

Ett exempel för skal av POSIX-typ:

export WCDSCAN="$HOME:/projectdisk/projectX"

Ett exempel för skal av Csh-typ:

setenv WCDSCAN "$HOME:/projectdisk/projectX"
WCDFILTER

Ange filter med miljövariabeln WCDFILTER. Alla kataloger som inte matchar filtren ignoreras. En lista kan specificeras genom att separera filtren med skalets sökvägsseparator. På samma sätt som att ange PATH-variabeln. Skiftlägeskänslighet är beroende av operativsystemet.

Ett exempel för DOS, Windows, OS/2 Kommandotolken:

set WCDFILTER=projects;doc

Ett exempel för skal av POSIX-typ:

export WCDFILTER="projects:doc"

Ett exempel för skal av Csh-typ:

setenv WCDFILTER "projects:doc"
WCDBAN

De sökvägar som anges med miljövariabeln WCDBAN kommer att förbjudas av wcd. Se även flaggan -b. Ange en lista med sökvägar separerade med skalets PATH-separator.

WCDEXCLUDE

De sökvägar som anges med miljövariabeln WCDEXCLUDE kommer att uteslutas av wcd. Se även flaggorna -x och -xf. Ange en lista med sökvägar separerade med skalets PATH-separator.

Ett exempel för DOS, Windows, OS/2 Kommandotolken:

set WCDEXCLUDE=*/windows;*/temp;*CVS

Ett exempel för skal av POSIX-typ:

export WCDEXCLUDE="/dev:/tmp:*CVS"

Ett exempel för skal av Csh-typ:

setenv WCDEXCLUDE "/dev:/tmp:*CVS"
WCDUSERSHOME

Ange basen för användarens hemkataloger. På DOS/Windows är standardvärdet \\users. På Unix/Cygwin är standardvärdet /home. Variabeln används för att söka igenom andra användares träddatafiler. Se även flaggorna -u och +u. I utförligt läge skriver wcd ut alla filter, förbud och uteslutningar. Se flaggan -v.

WCDSTACKFILE

Wcd föredrar WCDSTACKFILE framför standardnamnet för stackfilen. (se avsnittet FILER). Med denna variabel kan varje skal (eller använd terminalemulator) ha sin privata stack av använda kataloger.

För att använda en unik tidsbaserad YYYYMMDD-HHMMSS-fil för varje öppnat interaktivt skal.

export WCDSTACKFILE=$HOME/.wcd/stack.$(date +%Y%m%d-%H%M%S)

För en stack per xterm(1), använd miljövariabeln xterm WINDOWID:

export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOWID

För GNU screen(1), för att använda en stack per skärm:

export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOW
TERMINFO

Om miljövariabeln TERMINFO är definierad kan wcd med ncurses-gränssnittet kontrollera om det finns en lokal terminaldefinition innan det kontrollerar standardplatsen. Det är användbart om terminaldefinitioner inte finns på en standardplats. Ofta använda standardplatser är /usr/lib/terminfo och /usr/share/terminfo.

PDC_RESTORE_SCREEN

Wcd med PDCurses-gränssnittet känner igen miljövariabeln PDC_RESTORE_SCREEN. Om denna miljövariabel är inställd kommer PDCurses att ta en kopia av innehållet på skärmen när wcd startas; när wcd avslutas kommer skärmen att återställas. Ett exempel för Windows kommandotolk:

set PDC_RESTORE_SCREEN=1

Windows tillåter endast att en liten buffert sparas. Det är alltså inte alltid möjligt att återställa allt. En del skräpdata kan skrivas ut i konsolen efter att wcd avslutas om du har ställt in en stor buffertbredd.

SHELL

Utskrift av #!$SHELL på första raden i go-skriptet för POSIX-skal eller C shell behövs för 8-bitars tecken. Vissa skal tror annars att go-skriptet är en binär fil och kommer inte att läsa in den. I Cygwin Bash måste variabeln SHELL ställas in i miljön med hjälp av export-kommandot, annars kan wcd inte läsa variabeln.

BASH

Wcd för DOS bash använder $BASH istället för $SHELL, eftersom $SHELL pekar på DOS-kommandoskalet. Man kan behöva definiera $BASH med ett export-kommando, annars kan wcd inte läsa variabeln.

SE ÄVEN

sh(1), bash(1), csh(1), ksh(1), zsh(1), locale(1), ncurses(1),

SKAPARE

Wcd skapades av Erwin Waterlander <waterlan@xs4all.nl>

Project homepage: https://waterlander.net/wcd/

SourceForge: https://sourceforge.net/projects/wcd/

Manualsidans formatering tillhandahölls av Jari Aalto <jari.aalto@cante.net>.

NCD was originally written by Brad Kingsbury for Peter Norton's "Norton Utilities" around 1987. See also https://www.softpanorama.org/OFM/norton_change_directory_clones.shtml