Linux Command Line Navigation Tips. pushd and popd Command-ի հիմունքները
Այս էջում
- Pud և popd հրամանների հիմունքները
- Որոշ առաջադեմ կետեր
- Եզրակացություն
Այս շարքի առաջին մասում մենք կենտրոնացանք Linux-ում հրամանի տողում նավիգացիայի ասպեկտի վրա՝ քննարկելով cd - հրամանի օգտագործումը: Քննարկվեցին նաև մի քանի այլ առնչվող կետեր/հասկացություններ: Քննարկումը շարունակելով՝ այս հոդվածում մենք կքննարկենք, թե ինչպես կարող եք ավելի արագ նավիգացիոն փորձ ունենալ Linux հրամանի տողում՝ օգտագործելով pushd և popd հրամանները:
Pud և popd հրամանների հիմունքները
Ավելի լավ հասկանալու համար, թե կոնկրետ ինչ են անում pushd և popd հրամանները, նախ քննարկենք stack հասկացությունը: Պատկերացրեք ձեր խոհանոցի սալիկի վրա դատարկ տարածք և այժմ պատկերացրեք ափսեների հավաքածու, որոնք ցանկանում եք այնտեղ պահել: ի՞նչ եք անելու։ Պարզ, պահեք դրանք մեկը մյուսի վրա:
Այսպիսով, ամբողջ գործընթացի վերջում առաջին ափսեը, որը դուք պահել եք սալիկի վրա, դառնում է կույտի վերջին ափսեը, իսկ վերջին ափսեը, որը դուք ունեցել եք ձեր ձեռքում, դառնում է կույտի առաջին ափսեը: Այժմ, երբ ձեզ հարկավոր է ափսե, դուք ընտրում եք այն, որը գտնվում է կույտի վերևում, օգտագործում այն, իսկ անհրաժեշտության դեպքում ընտրում եք հաջորդը:
Նմանատիպ է pushd և popd հրամանների հայեցակարգը: Ձեր Linux համակարգում կա գրացուցակ, որտեղ դուք կարող եք կուտակել գրացուցակի ուղիները հետագա օգտագործման համար: Դուք կարող եք արագ տեսնել դարակի բովանդակությունը ժամանակի ցանկացած կետում՝ օգտագործելով dirs հրամանը կամ cd հրամանը:
Ահա մի օրինակ, որը ցույց է տալիս իմ համակարգի dirs հրամանի ելքը հրամանի տողի տերմինալի գործարկումից անմիջապես հետո.
$ dirs
~
Արդյունքում գտնվող tilde-ը (~) նշանակում է, որ գրացուցակի կույտը ներկայումս պարունակում է միայն օգտագործողի հիմնական գրացուցակը:
Շարժվելով, գրացուցակի ուղին պահելու և այն հեռացնելու գործողությունը կատարվում է pushd և popd հրամանների միջոցով: Pushd-ի օգտագործումը շատ հեշտ է. պարզապես անցեք այն ուղին, որը ցանկանում եք պահել գրացուցակում որպես փաստարկ այս հրամանի համար: Ահա մի օրինակ.
pushd /home/himanshu/Downloads/
Այն, ինչ անում է վերը նշված հրամանը, այն է, որ այն փոխում է ձեր ներկայիս աշխատանքային գրացուցակը այն գրացուցակում, որը դուք փոխանցել եք որպես փաստարկ, ինչպես նաև ավելացնում է ուղին դեպի գրացուցակ: Օգտատիրոջ համար իրերը հարմար դարձնելու համար pushd հրամանն իր ելքում արտադրում է գրացուցակի կույտի բովանդակությունը: Այսպիսով, երբ գործարկվեց վերը նշված հրամանը, ստացվեց հետևյալ արդյունքը.
~/Downloads ~
Արդյունքը բացահայտում է, որ այժմ ստեկում կա երկու գրացուցակի ուղի. մեկը օգտագործողի գլխավոր գրացուցակն է, իսկ մյուսը` ներբեռնումների գրացուցակը: Դրանք պահվում են հետևյալ հաջորդականությամբ. հիմնական գրացուցակը գտնվում է ներքևում, իսկ նոր ավելացված Ներբեռնումների գրացուցակը դրա վերևում:
Ստուգելու համար, որ այն, ինչ ասում է pushd-ն իր ելքում, ճիշտ է, կարող եք նաև օգտագործել dirs հրամանը.
$ dirs
~/Downloads ~
Այսպիսով, դուք կարող եք տեսնել, որ dirs հրամանը նույնպես արտադրել է նույն արդյունքը:
Եկեք թողարկենք ևս մի քանի հրում հրամաններ.
$ pushd /usr/lib/; pushd /home/himanshu/Desktop/
/usr/lib ~/Downloads ~
~/Desktop /usr/lib ~/Downloads ~
Այսպիսով, գրացուցակի կույտը այժմ պարունակում է ընդհանուր չորս գրացուցակի ուղիներ, որտեղ հիմնական գրացուցակը (~) գտնվում է ներքևում, իսկ օգտագործողի Desktop գրացուցակը վերևում:
Միշտ նկատի ունեցեք, որ կույտի գլուխն այն գրացուցակն է, որտեղ դուք ներկայումս գտնվում եք: Սա նշանակում է, որ այժմ մեր ընթացիկ աշխատանքային գրացուցակը ~/Desktop է:
Այժմ, ենթադրենք, որ ցանկանում եք վերադառնալ /usr/lib գրացուցակ, այնպես որ ձեզ մնում է միայն կատարել popd հրամանը.
$ popd
/usr/lib ~/Downloads ~
Popd հրամանը ոչ միայն կփոխի ձեր ընթացիկ գրացուցակը /usr/lib-ին, այն նաև կհեռացնի ~/Desktop-ը գրացուցակներից, ինչը վկայում է հրամանի թողարկված ելքը: Այս կերպ popd հրամանը թույլ կտա նավարկելու այս դիրեկտորիաները հակառակ հերթականությամբ:
Որոշ առաջադեմ կետեր
Այժմ, երբ մենք քննարկեցինք pushd և popd հրամանների հիմունքները, եկեք անցնենք այս հրամանների հետ կապված որոշ այլ մանրամասների: Սկսելու համար, այս հրամանները նաև թույլ են տալիս կառավարել գրացուցակի բուրգը: Օրինակ, ենթադրենք, թե ինչ տեսք ունի ձեր գրացուցակի բուրգը.
$ dirs
~/Desktop /usr/lib ~ ~/Downloads
Հիմա, ենթադրենք, պահանջն է փոխել գրացուցակի ուղիների կարգը կույտում այնպես, որ ամենավերին տարրը (~/Desktop) գա ներքևում, և բոլորը շարժվեն մեկ տեղով վերև: Դրան կարելի է հասնել հետևյալ հրամանի միջոցով՝
pushd +1
Եվ ահա, թե ինչ է անում վերը նշված հրամանը գրացուցակում.
$ dirs
/usr/lib ~ ~/Downloads ~/Desktop
Այսպիսով, մենք տեսնում ենք, որ գրացուցակների կույտի տարրերի կարգը փոխվել է և այժմ նույնն է, ինչ մենք ուզում էինք: Իհարկե, դուք կարող եք ստիպել գրացուցակի բուրգի տարրերը շարժվել ցանկացած անգամ: Օրինակ՝ հետևյալ հրամանը դրանք երկու անգամ վեր կբարձրացնի՝
$ pushd +2
~/Downloads ~/Desktop /usr/lib ~
Դուք կարող եք նաև օգտագործել բացասական ինդեքսներ.
$ pushd -1
/usr/lib ~ ~/Downloads ~/Desktop
Նմանապես, դուք կարող եք օգտագործել այս տեխնիկան popd հրամանով, որպեսզի հեռացնեք գրացուցակներից որևէ մուտք՝ առանց ձեր ընթացիկ աշխատանքային գրացուցակը լքելու: Օրինակ, եթե ցանկանում եք վերևից հեռացնել երրորդ մուտքը (որը ~/Ներբեռնվում է ներկայումս) օգտագործելով popd-ը, կարող եք գործարկել հետևյալ հրամանը.
popd +2
Նկատի ունեցեք, որ շարժի ինդեքսը սկսվում է 0-ով, ուստի մենք օգտագործել ենք 2-ը երրորդ մուտքի մուտք գործելու համար:
Այսպիսով, գրացուցակի կույտը այժմ պարունակում է.
$ dirs
/usr/lib ~ ~/Desktop
Հաստատելով, որ մուտքը հեռացվել է:
Եթե ինչ-ինչ պատճառներով դժվարանում եք հիշել տարրերի տեղադրման կարգը գրացուցակում, ինչպես նաև դրանց կրած ինդեքսները, կարող եք օգտագործել -v հրամանի տող տարբերակը dirs հրամանով: Ահա մի օրինակ.
$ dirs -v
0 /usr/lib
1 ~
2 ~/Desktop
Ինչպես հավանաբար կկռահեիք, ձախ կողմում գտնվող թվերը ինդեքսներ են, և դրանց հաջորդող գրացուցակի ուղին այդ ինդեքսում է:
Ծանոթագրություն. օգտագործեք -c հրամանի տող տարբերակը dirs հրամանի հետ՝ գրացուցակի բուրգը մաքրելու համար:
Այժմ եկեք համառոտ քննարկենք popd և pushd հրամանների գործնական օգտագործումը: Թեև դրանք առաջին հայացքից կարող են մի փոքր բարդ թվալ, սակայն այս հրամանները օգտակար են կեղևի սցենարներ գրելիս. ձեզ հարկավոր չէ հիշել, թե որտեղից եք գալիս. պարզապես կատարեք popd, և դուք վերադառնում եք այն գրացուցակը, որտեղից եկել եք:
Փորձառու սցենար գրողները սովորաբար օգտագործում են այս հրամանները հետևյալ կերպ.
popd >/dev/null 2>&1
Վերոհիշյալ հրամանը համոզվում է, որ popd-ը լռում է (չարտադրել որևէ արդյունք): Նմանապես, դուք կարող եք նաև լուռ հրում:
Pushd և popd հրամաններն օգտագործվում են նաև Linux սերվերի ադմինիստրատորների կողմից, որոնք սովորաբար անընդհատ շարժվում են մի քանի նույն դիրեկտորիաների միջև: Որոշ այլ իսկապես տեղեկատվական օգտագործման դեպքեր բացատրվում են այստեղ:
Եզրակացություն
Համաձայն եմ, pushd-ի և popd-ի հասկացությունն այնքան էլ պարզ չէ: Բայց դրա համար անհրաժեշտ է ընդամենը մի քիչ պրակտիկա. այո, դուք պետք է կեղտոտեք ձեր ձեռքերը: Որոշ ժամանակ անցկացրեք այս հրամանների հետ, և դուք կսկսեք դրանք հավանել, հատկապես, եթե կա մի դեպք, որտեղ դրանք հեշտացնում են կյանքը ձեզ համար: Այստեղ կարող եք գտնել շարքի երրորդ մասը։