Hur man Använder pushd och popd på Linux

0
330
Fatmawati Achmad Zaenuri/Shutterstock

Många Linux-folk har aldrig hört talas om pushd och popd, men de har funnits för evigt. De kan också dramatiskt påskynda processen för att navigera kataloger på kommandoraden. Vi ska gå igenom hur man använder dem.

Vad Är pushd och popd?

En av nyheterna Bill Joy ingår i hans 1978 C Shell var begreppet en katalog stack och möjligheten att manipulera det: pushd och popd. Imitation är den främsta formen av smicker, katalogen stacken, pushd, och popd var snart införlivas i andra tankar (som Bash) och även andra operativsystem.

Begreppet stacken är en enkel en. Objekt som placeras på stacken, en i taget, med den mest nyligen har lagt till objekt alltid upptar den översta position. När objekt som ska hämtas från stacken, de är bort, i ordning uppifrån och nedåt. Högar av detta slag kallas ofta Sist In-Först Ut (LIFO) köer.

Faktiskt, pushd och popd är lite mer flexibel än detta, men detta är en bra modell att ha i åtanke för nu.

Som vi hänvisar till en katalog stack, det kommer förmodligen inte som någon överraskning att “d” i pushd och popd står för “katalog”. Dessa kommandon kan du trycka kataloger på, eller smälla dem i katalogen stack.

Men hur går det till nytta för oss?

Hur pushd Fyller Stacken

När du använder pushd följande tre saker hända:

  • Du byta katalog på samma sätt som om du hade använt cd.
  • Namn och sökväg till den katalog läggs till stacken.
  • Stack visas som en kommaavgränsad lista av kataloger.

I följande exempel, notera hur katalogen stacken växer med varje ny pushd kommando. Observera också att toppen av stapeln till vänster—det är där den nya poster visas.

Efter den första pushd kommando, det finns två poster i stack: den katalog du vänster, och den som du har flyttat.

I vårt exempel har vi typ följande:

pushd ~/Desktop
pushd ~/Musik
pushd ~/Documents
pushd ~/Bilder
pushd ~

Den sista pushd kommando tog oss tillbaka till vårt hem katalogen så att den första och sista posterna i stacken är tilde (~), som representerar vår hemkatalog. Detta visar att även en katalog är redan i stacken, det kommer att läggas igen för andra pushd kommandon.

Observera också att vänster-de flesta in i högen, som är mest nyligen tillagda posten, är din nuvarande katalog.

Den dirs Kommandot

Du kan använda kataloger kommandot, som visas nedan, för att visa katalogen stack:

dirs

Det påverkar inte stack, det bara visar den. Några av de alternativ som du kan använda med pushd hänvisa till den position kataloger i stacken.

Om du vill se den numeriska position av varje katalog, kan du använda den -v (vertikal) alternativ som visas nedan:

dirs -v

Om du hellre vill ha det stavat ut sökvägen till din hemkatalog i stället för tilde (~), add-l (long-format) alternativ, så här:

dirs -v -l

Lägga till en Katalog till Stacken

Som vi har sett, när du använder pushd kommando, det gör tre saker: förändringar i din katalog, lägger till den nya katalogen till stacken, och visar stack för dig. Du kan använda-n (ingen rotation) möjlighet att lägga till en katalog till stacken utan att ändra den aktuella katalogen.

Här är vår katalog stack:

dirs -v -l

Nu ska vi använda pushd-kommando -n alternativet och pas i /home/dave-katalogen som en parameter. Då kommer vi att kontrollera den katalogen stack igen.

Vi skriver följande:

pushd -n /home/dave
dirs -v -l

/Home/dave-katalogen har lagts till stacken i slot 1, som ligger på andra plats i stacken. Det kan inte upptar den översta position slot eftersom noll är alltid den aktuella katalogen.

Vi ville inte lämna den aktuella katalogen ~/Video, så det var inte roteras till en annan position i stacken.

Ändra Katalog genom att Vrida Stack

Du kan använda numeriska parametrar med pushd att flytta till någon katalog i en stack och stack roterar när du gör så. Den katalog som du har valt att flytta för då blir den första posten i stacken.

Du refererar till kataloger i stacken genom att deras position nummer. Du kan räkna från toppen eller botten av högen. För positiva tal, så som +3, räknas från toppen; för negativa tal, såsom -2, räknas från botten.

/Home/dave/Dokument-katalogen är i position tre. Vi kan använda följande kommando för att flytta katalogen:

pushd +3

Kataloger i stacken ovan katalogen som vi har valt är flyttat till botten av högen. Våra valda katalogen nu intar den högsta positionen och vi flyttade in i den katalogen.

Om vi vill ändra till den katalog på botten av högen, kan vi använda följande kommando:

pushd -0

Den senaste katalogen är flyttat till den första slot, och alla andra har flyttat ner i stacken. Vi bytte till ~/Pictures-katalogen.

Den popd Kommandot

Du kan använda popd kommando för att ta bort kataloger från stacken.

Om vi ser på katalogen stack, kan vi se att katalogen i position 1 är /home/dave. För att ta bort detta från stacken, vi skriva följande för att passera antalet till popd:

dirs -v -l
popd +1

/Home/dave-katalogen togs bort, och de som var under detta i stacken har varje flyttas upp en plats.

Precis som vi kan med pushd, kan vi räkna från botten av högen med popd. För att ta bort den senaste katalogen från stacken, vi typ:

popd -0

I ~/Music-katalogen tas bort från sista position i stacken.

För att byta katalog, göra något, och sedan hoppa tillbaka till föregående katalog, kan du använda pushd och popd tillsammans.

Vi kommer att använda pushd att flytta till en annan katalog. Vi kommer att använda popd att kassera den översta katalogen i stacken och gå till den katalog i den andra positionen. Detta är den katalog som du bara flyttat ut, så att du sjunkit tillbaka till den katalog som du ursprungligen i.

Vi skriver följande:

pushd ~
popd

Vi började i ~/Projekt katalog, pushd till hemkatalogen, och sedan popd tillbaka till ~/Projekt-katalog.

Roterande Genom Hela Bunten

Vi kommer att illustrera hur man kan rotera genom en bunt med några kapslade kataloger, men du kan använda vilken katalog som helst var som helst i filsystemet.

Vår djupaste nivån av häckande:

/hem/dave/Projekt/htg/artiklar

Från home-katalog, kommer vi att successivt sjunka genom varje katalog tills vi når artiklar katalog. Sedan ska vi titta på katalogen stacken.

Vi skriver följande:

pushd ~/Projekt
pushd htg
pushd artiklar
dirs -v -l

När du upprepade gånger frågan pushd +1-kommandon, du kan cykla runt och runt genom bunt kataloger. Om du gör detta ofta, pushd +1 skulle vara en bra kandidat för ett alias.

Skriv följande:

pushd +1

RELATERAT: Hur att Skapa Alias och Skal Funktioner på Linux

Stämpling Över Stack

Det är lätt att återgå till gamla vanor och använd cd för att byta katalog. Om du gör det, du kommer stämpel över den första katalogen i stacken. Detta är oundvikligt, eftersom den första platsen är reserverad för den aktuella arbetskatalogen—ingen av de andra att ändra position.

För att göra detta, skriv följande:

dirs -v -l
cd ~/Musik
dirs -v -l

Efter att du vänjer dig vid det pushd och popd kommandon (och kanske använda dem för att skapa några alias), du har en super-snabbt sätt att hoppa mellan kataloger.

Det är därför vi hänga runt kommandoraden. Effektivitet stenar, eller hur?

RELATERAT: 37 Viktiga Linux-Kommandon Du Bör Veta

LÄS NÄSTA

  • “De Fem Bästa PC-Uppgraderingar för att Förbättra Prestanda
  • “Hur för att stänga Av eller Starta om Din Samsung Galaxy S20
  • “Aktivera DNS Över HTTPS i Microsoft Kanten
  • “Hur att Använda Control Center på Din iPhone eller iPad
  • “Vad Du Behöver Veta Om den Nya Microsoft Kanten Webbläsare