Si të përdorni pushd dhe popd në Linux
![](common-images/how-to-use-pushd-and-popd-on-linux/stock-lede-linux-see-attribution.png)
Shumë njerëz të Linux nuk kanë dëgjuar kurrë për pushd
dhe popd
, por ata kanë qenë përgjithmonë. Ata gjithashtu mund të shpejtojnë në mënyrë dramatike procesin e navigimit të drejtorive në vijën e komandës. Ne do t'ju tregojmë se si t'i përdorni ato.
Çfarë janë shtyrë dhe popd?
Një nga risitë Bill Joy që përfshiu në 1978 C Shell ishte koncepti i një pirg drejtorie dhe mjetet për ta manipuluar atë: pushd
dhe popd
. Imitimi duke qenë forma më e sinqertë e lajkave, rafti i direktoriumeve, pushd
dhe popd
u përfshinë shpejt në predha të tjera (si Bash) dhe madje edhe në sisteme të tjera operative.
Koncepti i pirgut është i thjeshtë. Artikujt vendosen në pirg një nga një, me artikullin më të shtuar së fundmi që zë gjithmonë pozicionin e lartë. Kur artikujt tërhiqen nga pirgja, ato hiqen, sipas radhës, nga lart poshtë. Raftet e kësaj natyre shpesh referohen si radhët Last In, First Out (LIFO).
Në fakt, pushd
dhe popd
janë pak më fleksibël se kjo, por ky është një model i mirë për t'u mbajtur parasysh tani për tani.
Meqenëse po i referohemi një pirg drejtorie, ndoshta nuk është befasi që d në pushd
dhe popd
qëndron për directory. Këto komanda ju lejojnë t'i shtyni direktoritë ose t'i hiqni ato nga pirgu i drejtorive.
Por si na sjell dobi kjo?
Si shtyhet Popullon Stack
Kur përdorni pushd
, ndodhin tri gjërat e mëposhtme:
- Ju e ndryshoni drejtorinë njësoj sikur të kishit përdorur
cd
. - Emri dhe shtegu i drejtorisë shtohen në pirg.
- Stepi shfaqet si një listë drejtorish e ndarë me hapësirë.
Në shembujt e mëposhtëm, vini re se si rritet pirgu i drejtorive me çdo komandë të re pushd
. Vini re gjithashtu se pjesa e sipërme e pirgut është në të majtë - këtu shfaqen hyrjet e reja.
Pas komandës së parë pushd
, ka dy hyrje në pirg: drejtoria që keni lënë dhe ajo në të cilën keni lëvizur.
Për shembullin tonë, ne shtypim sa vijon:
pushd ~/Desktop
pushd ~/Music
pushd ~/Documents
pushd ~/Pictures
pushd ~
![](common-images/how-to-use-pushd-and-popd-on-linux/1-10.png)
Komanda e fundit pushd
na ktheu në direktorinë tonë kryesore, kështu që shënimet e para dhe të fundit në pirg janë tilda (~
), e cila përfaqëson direktorinë tonë bazë. Kjo tregon se, megjithëse një direktori është tashmë në pirg, ai do të shtohet sërish për komandat e tjera pushd
.
Vini re gjithashtu se hyrja më e majtë në pirg, e cila është hyrja më e fundit e shtuar, është direktoria juaj aktuale.
Komanda e drejtorit
Ju mund të përdorni komandën dirs
, siç tregohet më poshtë, për të shfaqur grumbullin e drejtorive:
dirs
![](common-images/how-to-use-pushd-and-popd-on-linux/2-8.png)
Nuk ndikon në pirg, thjesht e shfaq atë. Disa nga opsionet që mund të përdorni me pushd
i referohen pozicionit të drejtorive në pirg.
Nëse dëshironi të shihni pozicionin numerik të çdo drejtorie, mund të përdorni opsionin -v
(vertikal) siç tregohet më poshtë:
dirs -v
![](common-images/how-to-use-pushd-and-popd-on-linux/3-11.png)
Nëse preferoni të shihni shtegun e shkruar për në direktorinë tuaj kryesore në vend të tildës (~
), shtoni opsionin -l
(format i gjatë), si kjo:
dirs -v -l
![](common-images/how-to-use-pushd-and-popd-on-linux/4-7.png)
Shtimi i një Drejtorie në Stack
Siç e kemi parë, kur përdorni komandën pushd
, ai bën tre gjëra: ndryshon direktoriumin tuaj, shton direktorinë e re në pirg dhe shfaq pirgun për ju. Mund të përdorni opsionin -n
(pa rrotullim) për të shtuar një direktori në pirg pa ndryshuar drejtorinë aktuale.
Këtu është grumbulli ynë i drejtorive:
dirs -v -l
![](common-images/how-to-use-pushd-and-popd-on-linux/5-6.png)
Tani, ne do të përdorim komandën pushd
me opsionin -n dhe pas në drejtorinë /home/dave
si parametër. Pastaj, ne do të kontrollojmë përsëri grumbullin e drejtorive.
Ne shtypim sa vijon:
pushd -n /home/dave
dirs -v -l
![](common-images/how-to-use-pushd-and-popd-on-linux/6-7.png)
Direktoria /home/dave
u shtua në pirg në slotin 1, që është vendi i dytë në rafte. Nuk mund të zërë pozicionin kryesor, sepse slot zero është gjithmonë drejtoria aktuale.
Ne nuk e lamë direktorinë aktuale, ~/Videos
, kështu që ai nuk u rrotullua në një pozicion tjetër në pirg.
Ndryshimi i drejtorisë duke rrotulluar pirgun
Ju mund të përdorni parametrat numerikë me pushd
për të lëvizur në çdo direktori në një pirg, dhe pirgu rrotullohet kur e bëni këtë. Drejtoria që keni zgjedhur të lëvizni më pas bëhet hyrja e parë në pirg.
Ju referoni drejtoritë në pirg me numrin e pozicionit të tyre. Mund të numëroni nga lart ose nga fundi i pirgut. Për numrat pozitivë, të tillë si +3, numëroni nga lart; për numrat negativë, të tillë si -2, numëroni nga fundi.
Drejtoria /home/dave/Documents është në pozicionin tre. Ne mund të përdorim komandën e mëposhtme për të lëvizur atë drejtori:
pushd +3
![](common-images/how-to-use-pushd-and-popd-on-linux/7-6.png)
Drejtoritë në pirgun sipër drejtorisë që kemi zgjedhur zhvendosen në fund të pirgut. Drejtoria jonë e zgjedhur tani zë vendin e parë dhe ne jemi zhvendosur në atë drejtori.
Nëse duam të kalojmë në drejtorinë në fund të pirgut, mund të përdorim komandën e mëposhtme:
pushd -0
![](common-images/how-to-use-pushd-and-popd-on-linux/8-5.png)
Drejtoria e fundit zhvendoset në slotin e parë dhe të gjitha të tjerat zhvendosen poshtë në pirg. Ne jemi ndryshuar në drejtorinë ~/Pictures
.
Komanda popd
Ju mund të përdorni komandën popd
për të hequr drejtoritë nga grumbulli.
Nëse shikojmë grumbullin e drejtorive, mund të shohim se drejtoria në pozicionin 1 është /home/dave
. Për ta hequr këtë nga grumbulli, ne shtypim sa vijon për ta kaluar numrin te popd
:
dirs -v -l
popd +1
![](common-images/how-to-use-pushd-and-popd-on-linux/9-5.png)
Drejtoria /home/dave
u hoq dhe ato që ishin poshtë saj në pirg janë zhvendosur secila nga një vend lart.
Ashtu siç mundemi me pushd
, mund të numërojmë nga fundi i pirgut me popd
. Për të hequr direktorinë e fundit nga pirgu, ne shtypim:
popd -0
![](common-images/how-to-use-pushd-and-popd-on-linux/10-5.png)
Drejtoria ~/Music
hiqet nga pozicioni i fundit në pirg.
Për të ndryshuar drejtorinë, për të bërë diçka dhe më pas për t'u kthyer në drejtorinë e mëparshme, mund të përdorni pushd
dhe popd
së bashku.
Ne do të përdorim pushd
për të kaluar në një drejtori tjetër. Ne do të përdorim popd
për të hequr drejtorinë më të lartë në pirg dhe për të kaluar te drejtoria në pozicionin e dytë. Ky është drejtoria nga e cila sapo u larguat, kështu që do të futeni përsëri në drejtorinë ku ishit fillimisht.
Ne shtypim sa vijon:
pushd ~
popd
![](common-images/how-to-use-pushd-and-popd-on-linux/11-6.png)
Ne filluam në drejtorinë ~/Projects
, pushd
në drejtorinë kryesore dhe më pas popd
përsëri në ~/Projects drejtoria.
Rrotullimi përmes të gjithë pirgut
Ne do të ilustrojmë se si të rrotullohet nëpër një pirg me disa drejtori të ndërlidhura, por ju mund të përdorni çdo drejtori kudo në sistemin e skedarëve.
Niveli ynë më i thellë i foleve është:
/home/dave/Projects/htg/articles
Nga direktoria kryesore, ne do të zbresim gradualisht nëpër çdo drejtori derisa të arrijmë te drejtoria e artikujve. Pastaj, ne do të shikojmë pirgun e drejtorive.
Ne shtypim sa vijon:
pushd ~/Projects
pushd htg
pushd articles
dirs -v -l
![](common-images/how-to-use-pushd-and-popd-on-linux/12-6.png)
Kur lëshoni në mënyrë të përsëritur komandat pushd +1
, mund të rrotulloheni rreth e rrotull nëpër pirgun e drejtorive. Nëse e bëni këtë shpesh, pushd +1
do të ishte një kandidat i mirë për një pseudonim.
Shkruani sa vijon:
pushd +1
![](common-images/how-to-use-pushd-and-popd-on-linux/13-4.png)
Stampimi mbi pirg
Është e lehtë t'i rikthehesh zakoneve të vjetra dhe të përdorësh cd
për të ndryshuar drejtorinë. Nëse e bëni këtë, do të vulosni direktorinë e parë në pirg. Kjo është e pashmangshme, pasi sloti i parë është i rezervuar për direktorinë aktuale të punës - asnjë nga të tjerët nuk ndryshon pozicion.
Për ta bërë këtë, shkruani sa vijon:
dirs -v -l
cd ~/Music
dirs -v -l
![](common-images/how-to-use-pushd-and-popd-on-linux/14-6.png)
Pasi të mësoheni me komandat pushd
dhe popd
(dhe, ndoshta, t'i përdorni ato për të krijuar disa pseudonime), do të keni një mënyrë super të shpejtë për të kaluar midis drejtorive.
Kjo është arsyeja pse ne varemi rreth vijës së komandës. Shkëmbinj efikasiteti, apo jo?
Linux Commands | ||
Files | tar · pv · cat · tac · chmod · grep · diff · sed · ar · man · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · join · jq · fold · uniq · journalctl · tail · stat · ls · fstab · echo · less · chgrp · chown · rev · look · strings · type · rename · zip · unzip · mount · umount · install · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · patch · convert · rclone · shred · srm · scp · gzip · chattr · cut · find · umask · wc | |
Processes | alias · screen · top · nice · renice · progress · strace · systemd · tmux · chsh · history · at · batch · free · which · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · timeout · wall · yes · kill · sleep · sudo · su · time · groupadd · usermod · groups · lshw · shutdown · reboot · halt · poweroff · passwd · lscpu · crontab · date · bg · fg · pidof · nohup · pmap | |
Networking | netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · dig · finger · nmap · ftp · curl · wget · who · whoami · w · iptables · ssh-keygen · ufw · arping · firewalld |
RELATED: Best Linux Laptops for Developers and Enthusiasts