wcd(1)

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>