Android

Pushd- och popd-kommandon i Linux

The Straight Poop About pushd And popd

The Straight Poop About pushd And popd

Innehållsförteckning:

Anonim

pushd och popd är kommandon som låter dig arbeta med katalogstack och ändra den aktuella arbetskatalogen i Linux och andra Unix-liknande operativsystem. Även om pushd och popd är mycket kraftfulla och användbara kommandon, är de underskattade och används sällan.

I den här tutorialen visar vi dig hur du använder pushd och popd kommandona för att navigera i systemets katalogträd.

Katalogbunt

Katalogbunten är en lista med kataloger som du tidigare har navigerat till. Innehållet i katalogbunten kan ses med kommandot dirs . Kataloger läggs till i stacken när du byter till en katalog med pushd kommandot och tas bort med popd kommandot.

Den nuvarande arbetskatalogen är alltid överst på katalogbunten. Den nuvarande arbetskatalogen är katalogen (mappen) som användaren för närvarande arbetar i. Varje gång du interagerar med kommandoraden arbetar du i en katalog.

Med pwd kommandot kan du ta reda på vilken katalog du befinner dig för närvarande.

När du navigerar genom filsystemet använder du Tab tangenten för att automatiskt fylla i namn på kataloger. Att lägga till en snedstreck i slutet av katalognamnet är valfritt.

pushd , popd och dirs är skalbyggda, och dess beteende kan variera något från skal till skal. Vi kommer att täcka Bash-inbyggda versionen av kommandona.

pushd Kommando

Syntaxen för pushd kommandot är som följer:

pushd

För att spara den aktuella katalogen till toppen av katalogstacken och ändra till /var/www skriver du:

~$ pushd /var/www

Vid framgång skriver kommandot ovan katalogbunten. ~ är katalogen där vi pushd kommandot. Tildesymbolen ~ betyder hemkatalog.

/var/www ~

pushd sparar först den aktuella arbetskatalogen till toppen av bunten och navigerar sedan till den givna katalogen. Eftersom den aktuella katalogen alltid måste vara överst på bunten, så ändras den nya nuvarande katalogen till toppen av bunten men den sparas inte i bunten. För att spara det måste du åberopa pushd från det. Om du använder cd att byta till en annan katalog förloras det översta objektet i stacken,

Låt oss lägga till en annan katalog till stacken:

/var/www$ pushd /opt

/opt /var/www ~

För att undertrycka standardändringen till katalogen använder du alternativet -n . För att till exempel lägga till /usr/local i stacken men inte ändra i den skriver du:

/opt$ pushd -n /usr/local

Eftersom den aktuella katalogen (som alltid finns i toppen) inte ändras /usr/local katalogen /usr/local till andra från stacken:

/opt /usr/local /var/www ~

pushd accepterar två alternativ, +N och -N som låter dig navigera till Nth katalogen i stacken. Alternativet +N ändras till Nth elementet i stapellistan räknas från vänster till höger med början med noll. När -N används är räkningen för höger till vänster.

För att bättre illustrera alternativen, låt oss skriva ut den aktuella katalogbunten:

/opt$ dirs -l -v

Utmatningen visar en indexerad lista över katalogstacken:

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

När du räknar från topp till botten (eller från vänster till höger) är katalogens index 2 .

pushd +2

När man räknar från botten till toppen är indexet i katalogen /var/www 1 .

pushd -1.

När den används utan några argument, pushd pushd mellan de två bästa katalogerna och gör den nya toppen till den aktuella katalogen. Detta är detsamma som när du använder cd - kommandot.

popd Kommando

popd kommandot har formen:

popd

När det används utan argument tar popd bort den översta katalogen från stacken och navigerar till den nya toppkatalogen.

Låt oss säga att vi har följande katalogbunt:

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

/opt$ popd

Utgången visar den nya katalogstacken:

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

Alternativet -n undertrycker standardkatalogändringen och tar bort det andra objektet från stacken:

/opt$ popd -n

/usr/local /etc/nginx ~

Samma som popd accepterar popd också alternativen +N och -N som kan användas för att ta bort Nth katalogen i stacken.

/opt$ popd +1

/usr/local ~

Slutsats

Normalt använder du cd kommandot för att flytta från en katalog till en annan. Men om du spenderar mycket tid på kommandoraden kommer pushd och popd kommandon att öka din produktivitet och effektivitet.

bash terminal