table of contents
wcd(1) | 2023-04-23 | 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 och wcd hoppar 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ädläsare i helskärm med snabbare sö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 och 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 avsnitt 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 ett).
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 teckenbindestreck som i "0-9" eller "A-Z". "[0-9a-zA-Z_]" är den minimala uppsättningen tecken som tillåts i "[..]"-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 "[]*?!^-\" i eller utanför en "[..]"-konstruktion och matcha tecknet exakt, föregå tecknet med snedstreckmarkör ("\").
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 katalog-sö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ädatafil där den söker efter katalog. På Unix och Windows-system lägger wcd till symboliska länkar till trädatafilen som skannar disken, men inte följer dem. Genom att följa länkar kan det sluta med att wcd skannar oändliga loopar eller 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 Kommandotolk använder kommandot "pushd" för att automatiskt mappa en UNC-sökväg till en enhetsbeteckning. I Windows PowerShell, MSYS, zsh och Cygwin UNC- stöds sökvägar fullt ut. Den aktuella arbetskatalogen kan vara en UNC-sökväg.
Storleksändra konsolen på Windows.¶
Wcd stöder storleksändring av konsolen 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 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 inte möjlighet att rulla tillbaka funktionalitet i händelse av en lång lista. Terminalens/konsolens rullningsförmåga användas. Den är väldigt liten och portabel.
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änsnittet. Curses-versionen av wcd har också ett ytterligare ett "grafiskt" gränssnitt. Det låter användare välja en katalog via en helskärms interaktiv katalogträdvy. Det har en vim(1)-liknande navigation och sök. Det aktiveras med flaggan -g.
Genom att använda flaggan -okan man alltid falla tillbaka till stdin/stdout-gränssnittet.
FLAGGOR¶
- -a
- Lägg till nuvarande sökväg till standard
träddatafilen.
Använd den här flaggan för att snabbt lägga till den aktuella sökvägen till standardträddatafilen. Att söka om 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
- Sök 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 söka 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örbjudsfilen. Detta betyder att wcd ignorerar alla matchningar av denna katalog och dess underkataloger.
Förbjudsfilen 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 exkluderade från sökning 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öka att hitta en matching i trädatafilen 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öka att öppna katalogen du skriv in. 2. Om inte, försök att hitta en matchning i trädatafilen.
- -d DISK
- Ställ in disk för stack and go-fil (DOS endast).
Stackfilen och go-scriptet 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 filen Extra trädata. 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 starter med ett curses-baserat text "grafiskt" gränsnitt. Användaren kan välja katalog via en helskärms interaktiv katalogbaserad trädvy. Den har en vim(1)-liknande navigation och sök.
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. Skillnaderna ä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 en 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 en annan undernivå.
Navigationsbeteendet i Wcd är precis likadant som i det ursprungliga NCD. Till exempel, och du trycker ned tangenten Ned kan du gå nedåt till nästa samma djupnivå, och hoppa över grenar. Det möjligör en snabb navigation 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-script
- Skapa inte go-script. Detta alternativ kan användas i kombination med flaggan -j om man inte vill att wcd ska skapa ett go-script.
- -h, --help
- Visa hjälp och avsluta.
- -i, --ignore-case
- Skiftlägeskänsligt läge. Dos och Windows-versionerna av wcd är skiftlägeskänsliga som standard. Unix/Cygwin-versioner är det inte.
- +i, --no-ignore-case
- Beakta skiftläge. Se också flaggan -i.
- -I, --ignore-diacritics
- Ignorera diakritiska tecken för latinbaserade skrivspråk. Bokstäver med diakritiska tecken matchar deras grundbokstav utan diakritiskt tecken. Följande latinska kodningar stöds: CP437, CP850, CP852, CP1250, CP1252, ISO-8859-1, ISO-8859-2 och Unicode Latin-1, Latin Extended-A och Latin Extended-B. Se även <http://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 kommer att skriva ut katalogen till att gå mot stdout. Så, en annan installationsmetod kan 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 eliminerar behovet av go-script, 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. Standard beteendet för wcd är att den försöker ta bort sökvägar från träddata-filen 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å alias filen, 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 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 alternativet -N används är matchlistan numrerad med siffror. Oavsett om alternativet -N används kan man 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 falla tillbaka 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)Sök av disken från
$HOME-katalogen. Om HOME inte är
definierat skannas disken från rotkatalogen /.
Den befintliga standardträddatafilen skrivs över.
Standardskanningskatalogen 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 söka av alla delade kataloger på en Windows LAN-server genom att skriva något i stil med: "wcd -S \\servernamn".
- +S SÖKVÄG
- Sök 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 mount katalog
"/tmp_mnt" (endast Unix)
Wcd stryker som standard "/tmp_mnt/" från matchningen. Katalog "/tmp_mnt"används av den automatiska räknaren. 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äd-läget 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 mappen en rad uppåt eller nedåt. Genom att trycka på vänster viks först undermapparna 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 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, ärdetsamma 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 alternativ -Tc eller växla på-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 de 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
flaggafö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 USER
- Sök i en annan användares träddatafil baserat
på USER, sök inte i inte 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 USER
- Läs standardträddatafilen för USER förutom din egen träddatafil.
- -v, --verbose
- Visa utförliga meddelanden. Med det här flagga skriver wcd ut alla filter, förbjud och exkluderingar.
- -V, --version
- Skriv ut versionsinformation och avsluta.
- -w, --wild-match-only
- Endast matching med jokertecken. Behandla alla matchningar som sådana.
- -x SÖKVÄG
- Uteslut SÖKVÄG från skanning.
När detta alternativ används kommer wcd att exkludera SÖKVÄG och alla dess underkataloger när wcd skannar 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öväg2> -s
Flaggan -x måste användas framför alla skanningsalternativ (-s, -S, +S, -A, -E).
På DOS/Windows-system måste man ange enhetsbeteckningen beroende på om miljövariabeln HEM eller WCDHEM är inställd. Om HEM eller WCDHEM ä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
skanning.
När den här flaggan används utesluter wcd alla sökvägar som anges i FILE och alla deras underkataloger när wcd skannar en disk. Jokertecken stöds och de matchas mot absoluta sökvägar; en sökväg per rad. Wch ignorerar inte ledande eller avslutande blanksteg på en rad, eftersom de är korrekt 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 sökas igenom 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 exkludera 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. Detta alternativ måste användas framför alternativ som kan leda till ja/nej-frågor.
- -z SIFFROR
- Ställ in maximal stack storlek till SIFFROR.
Standardstorleken för en stack är 10. Stack-funktionen kan stängas av genom att ställa in storleken på 0. Den här flaggan måste användas före alla andra stack- operationer (-,+,=). I annat fall kommer stackens storlek sättastillbaka till standardvärdet 10.
Ett korrekt kommando är:
wcd -z 50 -
Den nya stackstorleken blir 50, wcd går en katalog tillbaka. Ett felkommando är:
wcd - -z 50
Wcd går en katalog tillbaka, stacken får standardstorleken 10. -z 50 ignoreras.
Lägg till det här alternativet som det första alternativet till ditt wcd-alias eller -funktion. t.e.x för ett POSIX-kompatibelt skal skulle detta vara:
wcd () { wcd.exe -z 50 "$@" . ${WCDHOME:-${HOME}}/bin/wcd.go }
- -[SIFFRA]
- Push till katalog ANTAL 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.
- +[SIFFRA]
- Pop till katalogen ANTAL 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 genererar 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¶
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 () { PATH/wcd.exe "$@" . ${WCDHOME:-${HOME}}/bin/wcd.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-scriptet 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 kan inte 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ör. rättigheter. Du kan få en kommandotolk med administratörsrättigheter om du höger Klicka på ikonen för kommandotolken och välj 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 Kommandotolksversion¶
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 används "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 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
För en komplett lista över språk- och landskoder se gettext(1)-manualen: <http://www.gnu.org/software/gettext/manual/gettext.html#Language-Codes> På Unix-system kan du använda kommandot locale(1) för att få se lokalspecifik information.
- LANG
- Med miljövariabeln LANGUAGE kan du ange en
prioriteringslista över språk, separerade med kolon. Wcd ger
företräde åt LANGUAGE framför
LANG. Till exempel först nederländska och sedan
tyska: "LANGUAGE=nl:de". Du måste
först aktivera lokalisering genom att ställa in LANG
eller LC_ALL till en annat värde än C, innan
du kan använda en språkprioriteringslista via variabeln
LANGUAGE. Se även manualen för gettext(1):
<http://www.gnu.org/software/gettext/manual/gettext.html#The-LANGUAGE-variabel>
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 kan
åsidosättas. LOCALEDIR används av wcd med
stöd för modersmål för att hitta
språkfilerna. Den 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. På sortering beror på inställningarna
för språket. Om miljön LANG har varit har
ställts in sorteras träffarna som ordböcker eller
telefonböcker sorteras i det språket. Till exempel ignoreras
punkter och streck, eller bokstäver e med och utan accent är
likvärdiga, och man ignorerar skiftläge.
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ändskaregionala inställningar, är ANSI CP1252. Windows-program, till exempel Anteckningsblock, 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-tecketabell. På ett västerländskt regionalt Windows kommer det alltså att använda teckentabelle CP1252 för katalognamn och meddelanden. För att erhålla konsekvent utdata, oberoende av den aktiva teckentabellen, översätta alla Windows-versioner av Wcd ANSI-utdata till Unicode-utdata i kommandotolken och i PowerShell.
Konsolens rasterteckensnitt stöder endast den ursprungligt Windows-installerade OEM-teckentabellen. 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 kan du bör du se eurosymbolen och kinesiska tecken (vilket betyder: "kinesiska").
Wcd har konverterats till Unicode. I sin kärna hanterar wcd alla data som en ström av bytes. Endast de rader som skrivs ut på skärmen konverteras till Unicode-breda tecken. Wcd förlitar sig helt på libc-funktioner och har ingen UTF-8-specifik kod. Se även <http://www.cl.cam.ac.uk/~mgk25/unicode.html>
Wcd har valfritt stöd för Unicode-matchning med normalisering.För att ta reda på om Wcd har stöd för normalisering, skriv "wcd -V". Wcd med Unicode-normaliseringsstöd kommer att matcha Unicode-namn baserat på compatible. ekvivalens. Utan stöd för Unicode-normalisering matchas namn när de är binärt likvärdiga. Se även <http://en.wikipedia.org/wiki/Unicode_normalisering>
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 Kommandotolk 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 kommmandotolkmed ett batchskript till en katalog med Unicode-bokstäver i namnet. katalognamnet måste vara kodat i UTF-8, och batch-skriptet måste vara kodat i not 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.
Windows-versionen av Wcd som inte är Unicode kan läsa Unicode träddata-filer sedan version 5.2.0, förutsatt att det finns en Byte Order Mark (BOM) i filen (se <http://sv.wikipedia.org/wiki/Byte_order_mark>), men den kan inte ändra till kataloger med Unicode-bokstäver i namnet som inte är en del av standardsystemets ANSI-teckentabell. Unicode Windows-versionen av wcd skriver en BOM i UTF-8-kodade träddata-filer sedan version 5.2.0, vilket gör dem läsbara även med anteckningsblock.
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 söka om dina enheter. 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örbjud fil
- I denna valfria fil placerar wcd förbjudna sökvägar.
Se alternativ -b. Jokertecken stöds.
DOS: \ban.wcd eller %HOME%\ban.wcd Unix: $HOME/.ban.wcd
- alias fil
- Valfri fil med wcd alias. Se alternativ -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 alternativet -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 -d alternativet. 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 or $HOME/wcd.go Windows Command Prompt: c:\wcdgo.bat or %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 or %HOME%\wcdgo.cmd OS/2 bash: c:/wcd.go or $HOME/wcd.go Unix: $HOME/bin/wcd.go
- relativ träddatafil
- Textfil med relativa sökvägar från KAT. Se
alternativ +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 den ska lagras. filerna. Se även
avsnittet FILES. Detta kan åsidosättas med miljö
variabeln WCDHOME.
HOME definierar också var sökningen 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 är det 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 (träddata.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 söka igenom disken från HOME. Enheter kommer inte att skannas automatiskt av ändra 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 skannade 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 sökning. Detta har ändrats. Sedan version 5.1.5 ändrar WCDHOME inte standardkatalogen för sökning. 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 skanning.
Exempel för DOS, Windows, OS/2 Kommandotolk:
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.
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 Kommandotolk:
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 Kommandotolk:
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 Kommandotolk:
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 verbose-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 FILES). Med denna variabel kan varje
skal (eller använd terminal emulator) ha sin privata stack av
använda kataloger.
För att använda en unik tidsbaserad YYYYYMMDD-HHMMSS-fil för varje öppnad 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 standard- plats. 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-scriptet för POSIX-skal eller C shell behövs för 8-bitars tecken. Vissa skal tror annars att att go-scriptet ä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 en "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>
Projektets hemsida: <http://waterlan.home.xs4all.nl/>
SourceForge: <http://sourceforge.net/projects/wcd/>
Manualsidans formatering tillhandahölls av Jari Aalto <jari.aalto@cante.net>.
NCD skrevs ursprungligen av Brad Kingsbury för Peter Nortons "Norton Utilities" omkring 1987. Se även <http://www.softpanorama.org/OFM/norton_change_directory_clones.shtml>
2023-04-23 | wcd |