Android

Pushd- og popd-kommandoer i Linux

The pushd and popd commands on linux, and the "cd -" command

The pushd and popd commands on linux, and the "cd -" command

Indholdsfortegnelse:

Anonim

pushd og popd er kommandoer, der giver dig mulighed for at arbejde med biblioteksstabel og ændre det aktuelle arbejdsmappe i Linux og andre Unix-lignende operativsystemer. Selvom pushd og popd er meget kraftige og nyttige kommandoer, er de undervurderede og sjældent brugt.

I denne tutorial vil vi vise dig, hvordan du bruger pushd og popd kommandoer til at navigere i dit systems bibliotekstræ.

Katalogstabel

Katalogstakken er en liste over mapper, du tidligere har navigeret til. Indholdet af katalogstakken kan ses ved hjælp af kommandoen dirs . Kataloger føjes til stakken, når der skiftes til et bibliotek ved hjælp af pushd kommandoen og fjernes med popd kommandoen.

Det aktuelle arbejdsmappe er altid øverst på biblioteksstakken. Det aktuelle arbejdsmappe er det bibliotek (mappe), som brugeren i øjeblikket arbejder i. Hver gang du interagerer med kommandolinjen, arbejder du inden for et bibliotek.

Med kommandoen pwd kan du finde ud af, hvilket bibliotek du i øjeblikket er i.

Når du navigerer gennem filsystemet, skal du bruge Tab tasten til automatisk at udfylde navnene på mapper. Det er valgfrit at tilføje en skråstreg i slutningen af ​​katalognavnet.

pushd , popd og dirs er shell buildins, og dens opførsel kan afvige lidt fra shell til shell. Vi dækker Bash-indbyggede version af kommandoer.

pushd kommando

Syntaks for pushd kommandoen er som følger:

pushd

For eksempel for at gemme det aktuelle bibliotek øverst i katalogstakken og skifte til /var/www skriver du:

~$ pushd /var/www

Når det lykkes, udskriver kommandoen ovenfor mappestakken. ~ er det bibliotek, hvor vi udførte pushd kommandoen. Tildesymbolet ~ betyder hjemmekatalog.

/var/www ~

pushd gemmer først det aktuelle arbejdsmappe øverst i stakken og navigerer derefter til det givne bibliotek. Da det aktuelle bibliotek altid skal være øverst i stakken, når det nye skift, når det er ændret, går til det øverste af stakken, men det gemmes ikke i stakken. For at gemme det skal du påkalde pushd fra det. Hvis du bruger cd til at skifte til et andet bibliotek, vil det øverste element i stakken gå tabt,

Lad os tilføje et andet bibliotek til stakken:

/var/www$ pushd /opt

/opt /var/www ~

For at undertrykke standardændringen til bibliotek skal du bruge indstillingen -n . For eksempel at tilføje /usr/local biblioteket til stakken, men ikke ændre til den, skriver du:

/opt$ pushd -n /usr/local

Da det aktuelle bibliotek (som altid er øverst) ikke ændres, tilføjes /usr/local biblioteket andet fra toppen af ​​stakken:

/opt /usr/local /var/www ~

pushd accepterer to indstillinger, +N og -N der giver dig mulighed for at navigere til det Nth bibliotek i stakken. Valgmuligheden +N ændres til det Nth element i stabelisten, der tæller fra venstre til højre, startende med nul. Når -N bruges, er tælleretningen fra højre til venstre.

For bedre at illustrere indstillingerne, lad os udskrive den aktuelle biblioteksstabel:

/opt$ dirs -l -v

Outputet viser en indekseret liste over mappestakken:

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

Når man tæller fra top til bund (eller fra venstre til højre), er indekset for biblioteket 2 .

pushd +2

Når man tæller fra bund til top er indekset i /var/www biblioteket 1 .

pushd -1.

Når det bruges uden noget argument, pushd mellem de to øverste mapper og gør den nye top til det aktuelle bibliotek. Dette er det samme som når du bruger cd - kommandoen.

popd Kommando

popd kommandoen har formen:

popd

Når popd bruges uden argument, fjerner det øverste bibliotek fra stakken og navigerer til det nye øverste bibliotek.

Lad os sige, at vi har følgende biblioteksstabel:

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

/opt$ popd

Outputet viser den nye biblioteksstabel:

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

Indstillingen -n undertrykker standardkatalogændringen og fjerner det andet element fra stakken:

/opt$ popd -n

/usr/local /etc/nginx ~

Samme som pushd , accepterer popd også indstillingerne +N og -N , der kan bruges til at fjerne den Nth bibliotek i stakken.

/opt$ popd +1

/usr/local ~

Konklusion

Normalt vil du bruge cd kommandoen til at flytte fra et bibliotek til et andet. Men hvis du bruger en masse tid på kommandolinjen, vil pushd og popd kommandoer øge din produktivitet og effektivitet.

bash terminal