GNU/Linux >> Znalost Linux >  >> Linux

Tipy pro navigaci na příkazovém řádku Linuxu:základy příkazů pushd a popd

V první části této série jsme se zaměřili na aspekt navigace v příkazovém řádku v Linuxu a diskutovali jsme o použití cd - příkaz. Diskutovalo se také o některých dalších souvisejících bodech/koncepcích. Pokračujeme-li v diskuzi dále, v tomto článku budeme diskutovat o tom, jak můžete dosáhnout rychlejší navigace na příkazovém řádku Linuxu pomocí příkazů pushd a popd.

Než budeme pokračovat, stojí za to sdílet, že všechny pokyny a příkazy uvedené napříště byly testovány na Ubuntu 14.04 a Bash Shell (verze 4.3.11).

Základy příkazů pushd a popd

Abychom lépe porozuměli tomu, co přesně příkazy pushd a popd dělají, proberme nejprve koncept zásobníku. Představte si prázdnou plochu na kuchyňské desce a nyní si představte sadu talířů, které tam chcete mít. Co budeš dělat? Jednoduché, držte je jeden nad druhým.

Takže na konci celého procesu první talíř, který jste si nechali na desce, skončí jako poslední talíř v hromadě a poslední talíř, který jste měli v ruce, skončí jako první talíř v hromadě. Nyní, když potřebujete talíř, vyberete si ten, který je nahoře na hromádce, použijete ho a v případě potřeby vyberete další.

Podobný je koncept příkazů pushd a popd. Ve vašem systému Linux je zásobník adresářů, kde můžete hromadit cesty k adresářům pro budoucí použití. Obsah zásobníku můžete kdykoli rychle zobrazit pomocí adresářů příkaz.

Zde je příklad, který ukazuje výstup příkazu dirs v mém systému ihned po spuštění terminálu příkazového řádku:

$ dirs
~

Vlnovka (~) ve výstupu znamená, že zásobník adresářů aktuálně obsahuje pouze domovský adresář uživatele.

Operace uložení cesty k adresáři a její odstranění se dále provádějí pomocí příkazů pushd a popd. Použití pushd je velmi snadné – stačí předat cestu, kterou chcete uložit do zásobníku adresářů, jako argument tomuto příkazu. Zde je příklad:

pushd /home/himanshu/Downloads/

Výše uvedený příkaz změní váš současný pracovní adresář na adresář, který jste předali jako argument, a také přidá cestu k zásobníku adresářů. Aby to bylo pro uživatele pohodlné, příkaz pushd vytváří na výstupu obsah zásobníku adresářů. Takže, když byl spuštěn výše uvedený příkaz, byl vytvořen následující výstup:

~/Downloads ~

Výstup ukazuje, že nyní jsou v zásobníku dvě cesty k adresářům:jedna je domovský adresář uživatele a druhá je adresář uživatele ke stažení. Pořadí, ve kterém jsou uchovávány, je:domovský adresář je dole a nově přidaný adresář Stahování je nad ním.

Chcete-li ověřit, že to, co pushd říká ve svém výstupu, je pravda, můžete také použít příkaz dirs:

$ dirs
~/Downloads ~

Takže můžete vidět, že příkaz dirs také vytvořil stejný výstup.

Vydejme několik dalších pushd příkazů:

$ pushd /usr/lib/; pushd /home/himanshu/Desktop/
/usr/lib ~/Downloads ~
~/Desktop /usr/lib ~/Downloads ~

Zásobník adresářů tedy nyní obsahuje celkem čtyři cesty k adresářům, kde domovský adresář (~) je dole a adresář Desktop uživatele nahoře.

Vždy mějte na paměti, že hlavičkou zásobníku je adresář, ve kterém se aktuálně nacházíte. To znamená, že nyní je naším aktuálním pracovním adresářem ~/Desktop.

Nyní předpokládejme, že se chcete vrátit zpět do adresáře /usr/lib, takže vše, co musíte udělat, je provést příkaz popd:

$ popd
/usr/lib ~/Downloads ~

Příkaz popd nejen přepne váš aktuální adresář na /usr/lib, ale také odstraní ~/Desktop ze zásobníku adresářů – jak je patrné z výstupu, který příkaz vytvořil. Tímto způsobem vám příkaz popd umožní procházet těmito adresáři v opačném pořadí.

Některé pokročilé body

Nyní, když jsme probrali základy příkazů pushd a popd, přejděme k některým dalším podrobnostem souvisejícím s těmito příkazy. Pro začátek vám tyto příkazy také umožňují manipulovat se zásobníkem adresářů. Předpokládejme například, že takto vypadá váš zásobník adresářů:

$ dirs
~/Desktop /usr/lib ~ ~/Downloads

Nyní řekněme, že požadavkem je změnit pořadí adresářových cest v zásobníku tak, že nejvyšší prvek (~/Desktop) bude dole a všechny ostatní se posunou o jedno místo nahoru. Toho lze dosáhnout pomocí následujícího příkazu:

pushd +1

A zde je to, co výše uvedený příkaz dělá se zásobníkem adresářů:

$ dirs
/usr/lib ~ ~/Downloads ~/Desktop

Vidíme tedy, že pořadí prvků v zásobníku adresářů bylo změněno a je nyní stejné, jak jsme chtěli. Prvky zásobníku adresářů můžete samozřejmě přesunout libovolněkrát. Například následující příkaz je dvakrát posune nahoru:

$ pushd +2
~/Downloads ~/Desktop /usr/lib ~

Můžete použít i záporné indexy:

$ pushd -1
/usr/lib ~ ~/Downloads ~/Desktop

Podobně můžete tuto techniku ​​použít s příkazem popd k odstranění jakékoli položky ze zásobníku adresářů, aniž byste opustili aktuální pracovní adresář. Pokud například chcete odstranit třetí položku shora (což je aktuálně ~/Stahování) pomocí popd, můžete spustit následující příkaz:

popd +2

Mějte na paměti, že index zásobníku začíná 0, takže pro přístup ke třetí položce jsme použili 2.

Zásobník adresářů tedy nyní obsahuje:

$ dirs
/usr/lib ~ ~/Desktop

Potvrzení, že záznam byl odstraněn.

Pokud je pro vás z nějakého důvodu obtížné zapamatovat si pořadí, ve kterém jsou prvky umístěny v zásobníku adresářů, a také indexy, které nesou, můžete použít volbu -v příkazového řádku s příkazem dirs. Zde je příklad:

$ dirs -v
0 /usr/lib
1 ~
2 ~/Desktop

Jak jste pravděpodobně uhodli, čísla vlevo jsou indexy a za nimi následuje cesta k adresáři umístěná na tomto indexu.

Poznámka :Použijte volbu -c příkazového řádku s příkazem dirs k vymazání zásobníku adresářů.

Nyní si krátce proberme praktické použití příkazů popd a pushd. I když se na první pohled mohou zdát trochu komplikované na používání, tyto příkazy se hodí při psaní shellových skriptů – nemusíte si pamatovat, odkud pocházíte; stačí udělat popd a vrátíte se do adresáře, odkud jste přišli.

Zkušení autoři skriptů obvykle používají tyto příkazy následujícím způsobem:

popd >/dev/null 2>&1

Výše uvedený příkaz zajišťuje, že popd zůstane tichý (neprodukuje žádný výstup). Podobně můžete také tiché push.

Příkazy pushd a popd také používají správci linuxových serverů, kteří se obvykle neustále pohybují mezi několika stejnými adresáři. Některé další skutečně informativní případy použití jsou vysvětleny zde.

Závěr

Souhlasím, koncept pushd a popd není příliš přímočarý. Chce to ale jen trochu cviku – ano, musíte si ušpinit ruce. Věnujte těmto příkazům nějaký čas a začnou se vám líbit, zvláště pokud existuje případ použití, kdy vám usnadní život.


Linux
  1. Použijte „pushd“ a „popd“ pro efektivní navigaci souborovým systémem v Linuxu

  2. Tipy/triky pro navigaci na příkazovém řádku Linuxu 3 - proměnná prostředí CDPATH

  3. 7 tipů, jak urychlit navigaci v příkazovém řádku Linuxu

  1. Sledujte příkazy a úkoly pomocí příkazu watch v systému Linux

  2. 8 tipů pro příkazový řádek Linuxu

  3. Linux Základy příkazového řádku – Spouštění příkazů z příkazového řádku

  1. Tipy pro výpis souborů s ls na příkazovém řádku Linuxu

  2. 5 zajímavých tipů a triků pro příkazový řádek v Linuxu – část 1

  3. Příkazy Pushd a Popd v Linuxu