ටර්මිනලයේ පෙර වැඩ කරන නාමාවලිය වෙත යන්නේ කෙසේද?


228

ටර්මිනලයේ, cdවිධානය සමඟ ඩිරෙක්ටරිය වෙනස් කිරීමේදී මා සිටි පෙර ඩිරෙක්ටරියට යාමට යතුරක් නිර්වචනය කරන්නේ කෙසේද?

උදාහරණයක් ලෙස, මම ඉන්නේ /opt/soft/binමම cdබවට /etc/squid3මම පළමු බහලුම වෙත ආපසු ලබා ගැනීමට අවශ්ය.


Answers:


303

ඔයාට පාවිච්චි කරන්න පුළුවන්

cd -

හෝ ඔබට භාවිතා කළ හැකිය

cd $OLDPWD

4
"Cd -" භාවිතා කරන විට නාමාවලි නාමය කොන්සෝලය වෙත මුද්‍රණය කරන්නේ ඇයි?
dtmland

8
පැරණි ෂෙල් වෙඩි මඟින් වත්මන් ඩිරෙක්ටරියේ නම විමසුමේ නොපෙන්වා ඇති බැවින්, ඔබ ටයිප් කරන විට නාමාවලියෙහි නම බැලීම ප්‍රයෝජනවත් විය cd -. උදාහරණයක් ලෙස ඔබ ටයිප් කරන විට ඔබ cd /usr/localසිටින්නේ බව ඔබ දන්නවා /usr/loal, නමුත් ඔබ ටයිප් කරන විට cd -ඔබ පැමිණියේ කුමන නාමාවලියෙන්දැයි ඔබට සැමවිටම මතක නැත. එබැවින් එය ටයිප් කිරීමෙන් ඔබව ගලවා ගනී cd -; pwd. නමුත් මේ සියල්ල සමපේක්ෂනයකි.
රෆායෙල් අහ්රන්ස්

2
සකසන්න අන්වර්ථයක් ලෙසින්: හෝ ඔබ අනුවර්ත නාමකරණයට භාවිතා කළ හැකි alias -- -='cd -'නම් භාවිතා -කරනවා වෙනුවට (1 කටු) cd -(4 කටු). වේගවත්:D
ADTC

3
මෙය නොමැතිව මා ජීවත් වන්නේ කෙසේද?
VSZM

1
@ ඇන්ඩ්‍රේ කුල්මන් ඔබට cd -දෙවරක් කළ හැකිය . එපා cd /; cd /usr; cd -; cd -ඔබ විය යුතුය /usr. නමුත් සමහර විට මට ඔබේ ප්‍රශ්නය තේරුම් ගත නොහැකි විය.
රෆායෙල් අහ්රන්ස්

56

අනෙක් පිළිතුරු අනිවාර්යයෙන්ම answer ජු පිළිතුරු අර්ථයෙන් සම්පූර්ණයි. cd -හා cd $OLDPWDනියත මේ සඳහා ප්රධාන තෝරාගැනීම්. කෙසේ වෙතත්, මම බොහෝ විට සොයාගෙන ඇත්තේ වැඩ ප්‍රවාහයකට සම්බන්ධ වීම pushdසහ popdවඩා හොඳින් ක්‍රියා කිරීමයි.

දිගු කථා කෙටිය, ඔබ ආරම්භ කළ ස්ථානයට නැවත පැමිණීමේ අවසාන අභිප්‍රාය ඇතිව ඔබ නාමාවලියකට ගමන් කරන්නේ නම්, භාවිතා කරන්න pushd/ popd.

පුළුල් උදාහරණය

ප්රධාන වෙනස උදාහරණයක් මගින් පහසුවෙන් පෙන්වයි.

$ cd dir1
$ pushd dir2

මෙම අවස්ථාවෙහිදී, ඔබට ඩිරෙක්ටරි තොගයක් ඇත dir2, dir1. pushdකිසිදු තර්කයක් නොමැතිව ධාවනය කිරීමෙන් ඔබ දැන් නැවත dir1තොගය සමඟ සම්බන්ධ dir1, dir2වේ. popdඑයම කරයි, නමුත් ඔබට හිස් ඩිරෙක්ටරි තොගයක් ඉතිරි වේ. මෙය ඔබ cd -කාර්ය ප්‍රවාහය සමඟ සිටි ආකාරයට වඩා වෙනස් නොවේ .

කෙසේ වෙතත්, දැන් ඔබට බහලුම් කිහිප වතාවක් වෙනස් කර නැවත ලබා ගත හැකිය dir1. උදාහරණයක් වශයෙන්,

$ cd dir1
$ pushd dir2
$ cd dir3

ඔබ popdමෙම අවස්ථාවෙහිදී ධාවනය කරන්නේ නම් , ඔබ නැවත යන්න dir1.


2
ඔබට pushdඩිරෙක්ටරි popdගොඩගැසිය හැකිය , එබැවින් නැවත නැවත භාවිතා කර -ing අතරතුර පෙර ෆෝල්ඩරයට යන්න .
බර්න්හාර්ඩ්

1
නිසැකවම. මම තොගයක් පරීක්ෂා කිරීම ඇතුළත් විශාල උදාහරණයක් පාහේ ඉදිරිපත් කළෙමි dirs -v, නමුත් මට යථාර්ථය නම් බොහෝ විට සරල අවස්ථාව මම සැබවින්ම භාවිතා කිරීමයි. (නැතහොත්, වඩාත් නරක අතට, මම වැරැද්දක් උත්සාහ කරන විට සිදු push +2හෝ ඒ හා සමාන) ඒ වගේම, මම කෙනෙක් කාර්ය ප්රවාහ උත්සාහ කිරීමට ලබා ගැනීම සඳහා දරුවා පියවර කියලා. :)
ජොෂ් බෙරී

ඔබ කොහොමද cdවෙමින් තොරව අඩුක්කුව මුදුනට?
ජෝන් ඩීටන්

ඔබට popdකිසිසේත් භාවිතා කිරීමට අවශ්‍යද? ඔබ පමණක් නොව හැකි cdසහ pushdසෑම තැනකම? එසේ කිරීමෙන් යම් අවාසි තිබේද?
හෂීම්

19

ඔබ භාවිතා කළ යුත්තේ:

cd ~-

එය සමාන කරන්නේ cd -බහලුම මෙම කරදර කාරී සුප්රසිද්ධ echo විධානය නොමැතිව (දැනට පිළිගත් පිළිතුර සිට) සහ වඩා වර්ගය පහසු වේ cd "$OLDPWD"හෝ cd - > /dev/null.


2
ප්‍රතිරාවය ශුන්‍ය ගොනුවකට හරවා යැවීම! ඒක නියමයි !!
රාම්

2
දෝංකාරය පෙන්වන්නේ නව නාමාවලිය පෙර තිබූ එකක් නොවේ. මම එය ප්‍රයෝජනවත් යැයි සිතමි, එවිට මම දැන් සිටින්නේ කොහේදැයි දැන ගැනීමට, විශේෂයෙන් මම ෂෙල් එකක සිටින්නේ නම්, වත්මන් ඩිරෙක්ටරියේ නම (හෝ කිසිවක් නැත) ක්ෂණිකව පෙන්වන අතර, එය වෙනස් කිරීමට මට හැකියාවක් නැත. සම්පූර්ණ මාර්ගය පෙන්වීමට විමසන්න. ඇත්ත වශයෙන්ම, ඔබේ විමසුමේ දැනටමත් සම්පූර්ණ මාර්ගය පෙන්නුම් කරන්නේ නම්, දෝංකාරය අතිරික්ත හා කරදරකාරී වනු ඇත. එවැනි අවස්ථාවක, (5 වර්‍ගය ) වෙනුවට (1 වර්‍ගය) alias -- -='cd "$OLDPWD"'භාවිතා කර ඔබට උත්සාහ කළ හැකි යැයි මම සිතමි . -cd ~-:)
ADTC

මූලාශ්‍රය සහ පැහැදිලි කිරීම: unix.stackexchange.com/a/330885/38213 ස්පොයිලර්ස් , - ඔපෙරන්ඩ් එකක් වන අතර එය මාර්ග අන්වර්ථයන් වේ. ඒ නිසා cd ~-/..වැඩ කරන නමුත් cd -/..එසේ නොවේ!
රේ ෆොස්

16
$ cd - 

පෙර වැඩ කරන නාමාවලියට වෙනස් වේ.


3

cd -ඔබේ ~/.bashrcගොනුව සංස්කරණය කිරීමෙන් සහ විධානය සඳහා අන්වර්ථයක් ඇතුළත් කිරීමෙන් ඔබට "යතුරක් අර්ථ දැක්විය හැකිය" . උදාහරණයක් ලෙස ඔබට cdcඑය සෑදීම සඳහා එකතු කළ හැකි අතර එය cd -එකතු කිරීමෙන් අවසාන නාමාවලිය වෙත යාමට කෙටි මාර්ගයක් ලබා දෙනු ඇත:

alias cdc='cd -'

මේ ආකාරයෙන් ඔබ සරලව ටයිප් කරන cdcඅතර එය ඔබගේ අවසන් වැඩ කරන නාමාවලියට ඇතුළත් වේ.


5
එම අන්වර්ථය නොපවතින පද්ධතියක් ඔබ භාවිතා කරන විට අවසානය දක්වා ඔබව ව්‍යාකූල කරන්න. එය එක් වරකට එක් අක්ෂරයක් ටයිප් කිරීම සුරකිනු ඇත. ඇයි කරදර වෙන්නේ?
සීවීඑන්

2
"පර්යන්තයේදී, පෙර නාමාවලිය වෙත යාමට යතුරක් අර්ථ දක්වන්නේ කෙසේද " මම කිසි විටෙකත් ව්‍යාකූල නොවෙමි. එය කෙටිමඟකි, ඔබ වෙනත් පද්ධතියක සිටින විට දිගු දුර භාවිතා කරන්න.
අටාරි 911

@ අටාරි 911 නියම ප්‍රශ්නය! මෙන්න පිළිතුර: stackoverflow.com/questions/4200800 මෙන්න මම කළ දේ (බැඳී ඇති F12): bind '"\e[24~":"\C-k \C-ucd -\n"'(හෝ ඊට වඩා inputrcපිළිතුරේ සඳහන් පරිදි එය ගොනු කිරීමට ගෙනයන්න ).
ADTC

1

cd ..ෆෝල්ඩරයේ ගසෙහි පූර්වාදර්ශ ෆෝල්ඩරය වෙත යයි.
cd -එය පෙර තිබූ ෆෝල්ඩරයට යයි. මෙම විධානය සමහර ඩිස්ට්‍රෝස් (උබුන්ටු 16.04) මත ක්‍රියා නොකළ අතර ඩෙබියන් 9 හි ක්‍රියා කරයි.

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.