Android

Pushd- og popd-kommandoer i Linux

The Straight Poop About pushd And popd

The Straight Poop About pushd And popd

Innholdsfortegnelse:

Anonim

pushd og popd er kommandoer som lar deg jobbe med katalogbunke og endre den gjeldende arbeidskatalogen i Linux og andre Unix-lignende operativsystemer. Selv om pushd og popd er veldig kraftige og nyttige kommandoer, blir de undervurdert og sjelden brukt.

I denne opplæringen vil vi vise deg hvordan du bruker pushd og popd kommandoene til å navigere i systemets katalogtre.

Katalogbunke

Katalogbunken er en liste over kataloger du tidligere har navigert til. Innholdet i katalogbunken kan sees ved hjelp av dirs kommandoen. Kataloger blir lagt til stabelen når du skifter til en katalog ved å bruke pushd kommandoen og fjernes med popd kommandoen.

Den nåværende arbeidskatalogen er alltid øverst på katalogbunken. Den nåværende arbeidskatalogen er katalogen (mappen) som brukeren arbeider i. Hver gang du samhandler med kommandolinjen, jobber du i en katalog.

Med pwd kommandoen kan du finne ut hvilken katalog du er i.

Når du navigerer gjennom filsystemet, bruker du Tab tasten for å fullføre navnene på katalogene automatisk. Det er valgfritt å legge en skråstrek på slutten av katalognavnet.

pushd , popd og dirs er shell-innebygd, og oppførselen kan avvike noe fra skall til skall. Vi vil dekke Bash-innebygde versjonen av kommandoene.

pushd kommando

Syntaks for pushd kommandoen er som følger:

pushd

For eksempel for å lagre den gjeldende katalogen øverst i katalogbunken og endre til /var/www du inn:

~$ pushd /var/www

Ved suksess vil kommandoen over skrive ut katalogbunken. ~ er katalogen der vi utførte pushd kommandoen. Tildesymbolet ~ betyr hjemmekatalog.

/var/www ~

pushd lagrer først den gjeldende arbeidskatalogen til toppen av stabelen og navigerer deretter til den gitte katalogen. Siden den gjeldende katalogen alltid må være på toppen av bunken, når den nye gjeldende katalogen er endret, når den endrede går til toppen av bunken, men den lagres ikke i bunken. For å lagre den må du påkalle pushd fra den. Hvis du bruker cd å bytte til en annen katalog, vil det øverste elementet i bunken gå tapt,

La oss legge til en annen katalog i stabelen:

/var/www$ pushd /opt

/opt /var/www ~

For å undertrykke standardendringen til katalogen, bruk alternativet -n . For å legge til katalogen /usr/local i stabelen, men ikke endre den, skriver du inn:

/opt$ pushd -n /usr/local

Ettersom den gjeldende katalogen (som alltid er øverst) ikke endres, legges /usr/local katalogen til andre fra toppen av stabelen:

/opt /usr/local /var/www ~

pushd godtar to alternativer, +N og -N som lar deg navigere til Nth katalogen til stabelen. Alternativet +N endres til Nth elementet i stabelisten som teller fra venstre til høyre og begynner med null. Når -N brukes, er telleretningen fra høyre mot venstre.

For å illustrere alternativene bedre, la oss skrive ut gjeldende katalogbunke:

/opt$ dirs -l -v

Utgangen vil vise en indeksert liste over katalogbunken:

0 /opt 1 /usr/local 2 /var/www 3 /home/linuxize

Når du teller fra topp til bunn (eller fra venstre til høyre), er indeksen til katalogen 2 .

pushd +2

Når du teller fra bunn til topp er indeksen til /var/www katalogen 1 .

pushd -1.

Når den brukes uten noe argument, vil pushd veksle mellom de to øverste katalogene og gjøre den nye toppen til den gjeldende katalogen. Dette er det samme som når du bruker cd - kommandoen.

popd Kommando

popd kommandoen har formen:

popd

Når det brukes uten argument, fjerner popd fra stabelen og navigerer til den nye toppkatalogen.

La oss si at vi har følgende katalogbunke:

/opt /usr/local /var/www /etc/nginx ~

/opt$ popd

Utgangen viser den nye katalogbunken:

/usr/local /var/www /etc/nginx ~

Alternativet -n demper standard katalogendring og fjerner det andre elementet fra bunken:

/opt$ popd -n

/usr/local /etc/nginx ~

Samme som pushd , aksepterer popd også +N og -N alternativene som kan brukes til å fjerne Nth katalogen til stabelen.

/opt$ popd +1

/usr/local ~

Konklusjon

Normalt bruker du cd kommandoen til å flytte fra en katalog til en annen. Imidlertid, hvis du bruker mye tid på kommandolinjen, vil pushd og popd kommandoer øke produktiviteten og effektiviteten.

bash terminal