ටර්මිනලයේ, cdවිධානය සමඟ ඩිරෙක්ටරිය වෙනස් කිරීමේදී මා සිටි පෙර ඩිරෙක්ටරියට යාමට යතුරක් නිර්වචනය කරන්නේ කෙසේද?
උදාහරණයක් ලෙස, මම ඉන්නේ /opt/soft/binමම cdබවට /etc/squid3මම පළමු බහලුම වෙත ආපසු ලබා ගැනීමට අවශ්ය.
ටර්මිනලයේ, cdවිධානය සමඟ ඩිරෙක්ටරිය වෙනස් කිරීමේදී මා සිටි පෙර ඩිරෙක්ටරියට යාමට යතුරක් නිර්වචනය කරන්නේ කෙසේද?
උදාහරණයක් ලෙස, මම ඉන්නේ /opt/soft/binමම cdබවට /etc/squid3මම පළමු බහලුම වෙත ආපසු ලබා ගැනීමට අවශ්ය.
Answers:
ඔයාට පාවිච්චි කරන්න පුළුවන්
cd -
හෝ ඔබට භාවිතා කළ හැකිය
cd $OLDPWD
cd -. උදාහරණයක් ලෙස ඔබ ටයිප් කරන විට ඔබ cd /usr/localසිටින්නේ බව ඔබ දන්නවා /usr/loal, නමුත් ඔබ ටයිප් කරන විට cd -ඔබ පැමිණියේ කුමන නාමාවලියෙන්දැයි ඔබට සැමවිටම මතක නැත. එබැවින් එය ටයිප් කිරීමෙන් ඔබව ගලවා ගනී cd -; pwd. නමුත් මේ සියල්ල සමපේක්ෂනයකි.
alias -- -='cd -'නම් භාවිතා -කරනවා වෙනුවට (1 කටු) cd -(4 කටු). වේගවත්:D
cd -දෙවරක් කළ හැකිය . එපා cd /; cd /usr; cd -; cd -ඔබ විය යුතුය /usr. නමුත් සමහර විට මට ඔබේ ප්රශ්නය තේරුම් ගත නොහැකි විය.
අනෙක් පිළිතුරු අනිවාර්යයෙන්ම 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.
pushdඩිරෙක්ටරි popdගොඩගැසිය හැකිය , එබැවින් නැවත නැවත භාවිතා කර -ing අතරතුර පෙර ෆෝල්ඩරයට යන්න .
dirs -v, නමුත් මට යථාර්ථය නම් බොහෝ විට සරල අවස්ථාව මම සැබවින්ම භාවිතා කිරීමයි. (නැතහොත්, වඩාත් නරක අතට, මම වැරැද්දක් උත්සාහ කරන විට සිදු push +2හෝ ඒ හා සමාන) ඒ වගේම, මම කෙනෙක් කාර්ය ප්රවාහ උත්සාහ කිරීමට ලබා ගැනීම සඳහා දරුවා පියවර කියලා. :)
cdවෙමින් තොරව අඩුක්කුව මුදුනට?
popdකිසිසේත් භාවිතා කිරීමට අවශ්යද? ඔබ පමණක් නොව හැකි cdසහ pushdසෑම තැනකම? එසේ කිරීමෙන් යම් අවාසි තිබේද?
ඔබ භාවිතා කළ යුත්තේ:
cd ~-
එය සමාන කරන්නේ cd -බහලුම මෙම කරදර කාරී සුප්රසිද්ධ echo විධානය නොමැතිව (දැනට පිළිගත් පිළිතුර සිට) සහ වඩා වර්ගය පහසු වේ cd "$OLDPWD"හෝ cd - > /dev/null.
alias -- -='cd "$OLDPWD"'භාවිතා කර ඔබට උත්සාහ කළ හැකි යැයි මම සිතමි . -cd ~-:)
cd ~-/..වැඩ කරන නමුත් cd -/..එසේ නොවේ!
cd -ඔබේ ~/.bashrcගොනුව සංස්කරණය කිරීමෙන් සහ විධානය සඳහා අන්වර්ථයක් ඇතුළත් කිරීමෙන් ඔබට "යතුරක් අර්ථ දැක්විය හැකිය" . උදාහරණයක් ලෙස ඔබට cdcඑය සෑදීම සඳහා එකතු කළ හැකි අතර එය cd -එකතු කිරීමෙන් අවසාන නාමාවලිය වෙත යාමට කෙටි මාර්ගයක් ලබා දෙනු ඇත:
alias cdc='cd -'
මේ ආකාරයෙන් ඔබ සරලව ටයිප් කරන cdcඅතර එය ඔබගේ අවසන් වැඩ කරන නාමාවලියට ඇතුළත් වේ.
bind '"\e[24~":"\C-k \C-ucd -\n"'(හෝ ඊට වඩා inputrcපිළිතුරේ සඳහන් පරිදි එය ගොනු කිරීමට ගෙනයන්න ).