Android

Pushd- en popd-opdrachten in linux

How To Use The Command Line Navigation Pushd & Popd In Linux

How To Use The Command Line Navigation Pushd & Popd In Linux

Inhoudsopgave:

Anonim

pushd en popd zijn opdrachten waarmee u met directorystack kunt werken en de huidige werkmap in Linux en andere Unix-achtige besturingssystemen kunt wijzigen. Hoewel pushd en popd zeer krachtige en nuttige opdrachten zijn, worden ze onderschat en worden ze zelden gebruikt.

In deze zelfstudie laten we u zien hoe u de opdrachten pushd en popd om door de directorystructuur van uw systeem te navigeren.

Directorystapel

De mappenstapel is een lijst met mappen waarnaar u eerder hebt genavigeerd. De inhoud van de mapstapel kan worden bekeken met de opdracht dirs . Mappen worden aan de stapel toegevoegd bij het wijzigen van een map met de opdracht pushd en verwijderd met de opdracht popd .

De huidige werkmap staat altijd bovenaan de mapstapel. De huidige werkmap is de map (map) waarin de gebruiker momenteel werkt. Elke keer dat u met de opdrachtregel werkt, werkt u in een map.

Met de opdracht pwd kunt u achterhalen in welke map u zich momenteel bevindt.

Gebruik bij het navigeren door het bestandssysteem de Tab toets om de namen van mappen automatisch aan te vullen. Een schuine streep toevoegen aan het einde van de mapnaam is optioneel.

pushd , popd en dirs zijn shell-buildins en het gedrag kan enigszins verschillen van shell tot shell. We zullen de ingebouwde Bash-versie van de opdrachten behandelen.

pushd commando

De syntaxis voor het pushd commando is als volgt:

pushd

Als u bijvoorbeeld de huidige map boven aan de mapstapel wilt opslaan en naar /var/www wilt wijzigen, typt u:

~$ pushd /var/www

Bij succes zal de bovenstaande opdracht de mapstapel afdrukken. ~ is de map waarin we het pushd commando hebben uitgevoerd. Het tilde-symbool ~ betekent een thuismap.

/var/www ~

pushd slaat eerst de huidige werkmap boven aan de stapel op en navigeert vervolgens naar de gegeven map. Omdat de huidige map altijd bovenaan de stapel moet staan, gaat de nieuwe huidige map na wijziging naar de bovenkant van de stapel maar wordt deze niet opgeslagen in de stapel. Om het op te slaan moet je pushd ervan gebruiken. Als u cd gebruikt om naar een andere map te gaan, gaat het bovenste item van de stapel verloren,

Laten we nog een map aan de stapel toevoegen:

/var/www$ pushd /opt

/opt /var/www ~

Gebruik de optie -n om de standaardwijziging in de map te onderdrukken. Als u bijvoorbeeld de map /usr/local aan de stapel wilt toevoegen, maar deze niet wilt wijzigen, typt u:

/opt$ pushd -n /usr/local

Omdat de huidige map (die altijd bovenaan staat) niet wordt gewijzigd, wordt de map /usr/local als tweede toegevoegd bovenaan de stapel:

/opt /usr/local /var/www ~

De pushd accepteert twee opties, +N en -N waarmee u naar de Nth map van de stapel kunt navigeren. De optie +N verandert in het +N element van de stapellijst, van links naar rechts geteld beginnend met nul. Wanneer -N wordt gebruikt, loopt de telling van rechts naar links.

Laten we de huidige mapstapel afdrukken om de opties beter te illustreren:

/opt$ dirs -l -v

De uitvoer toont een geïndexeerde lijst van de mappenstapel:

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

Bij het tellen van boven naar beneden (of van links naar rechts) is de index van de map 2 .

pushd +2

Bij het tellen van beneden naar boven is de index van de map /var/www 1 .

pushd -1.

Bij gebruik zonder argument schakelt pushd de twee bovenste mappen om en maakt de nieuwe bovenaan de huidige map. Dit is hetzelfde als bij het gebruik van de cd - opdracht.

popd commando

De opdracht popd heeft de vorm:

popd

Wanneer zonder argument gebruikt, verwijdert popd de bovenste map uit de stapel en navigeert naar de nieuwe bovenste map.

Laten we zeggen dat we de volgende directory-stack hebben:

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

/opt$ popd

De uitvoer toont de nieuwe mapstapel:

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

De optie -n onderdrukt de standaardmapwijziging en verwijdert het tweede item uit de stapel:

/opt$ popd -n

/usr/local /etc/nginx ~

Net als pushd accepteert popd ook de opties +N en -N die kunnen worden gebruikt om de map Nth van de stapel te verwijderen.

/opt$ popd +1

/usr/local ~

Conclusie

Normaal gesproken gebruikt u de opdracht cd om van de ene map naar de andere te gaan. Als u echter veel tijd doorbrengt op de opdrachtregel, zullen pushd en popd opdrachten uw productiviteit en efficiëntie verhogen.

bash-terminal