क्या मैं लिनक्स में पथ बदलने के लिए शॉर्टकट जोड़ सकता हूँ?


32

उदाहरण के लिए, मैं हमेशा इस रास्ते पर जाता हूं:

/ उपयोगकर्ता / कुछ / somefolders / कहीं

लेकिन मैं टाइप नहीं करना चाहता

सीडी / उपयोगकर्ता / कुछ / somefolders / कहीं

हर समय टर्मिनल में, क्या मुझे ऐसा करने के लिए कुछ छोटा हाथ मिल सकता है? उदाहरण के लिए, क्या मैं ऐसा कुछ कर सकता हूं

सीडी कमांड

पथ बदलने के लिए

जवाबों:


32

आप इसके लिए पर्यावरण चर का उपयोग कर सकते हैं CDPATH। बैश मैन पेज से:

CDPATH

सीडी कमांड के लिए खोज पथ। यह निर्देशिकाओं की एक बृहदान्त्र-अलग-अलग सूची है जिसमें शेल सीडी कमांड द्वारा निर्दिष्ट गंतव्य निर्देशिकाओं की तलाश करता है। एक नमूना मान है ":। ~: / usr"।

आपके मामले में, आप सेट कर सकते हैं

export CDPATH=.:/user/something/somefolders

में ~/.bashrc, और फिर टाइपिंग cd somewhereआपको /user/something/somefolders/somewhere( somewhereवर्तमान निर्देशिका के भीतर कोई निर्देशिका नाम नहीं है) मानकर ले जाएगा ।

वैकल्पिक रूप से, यदि आप फ़ोल्डर somewhereको उसके वास्तविक नाम से संदर्भित नहीं करना चाहते हैं, तो आप एक छिपी निर्देशिका बना सकते हैं जिसमें /user/something/somefolders/somewhereउस नाम के साथ एक प्रतीकात्मक लिंक है जिसका आप उपयोग करना चाहते हैं। इसमें आपके द्वारा अक्सर देखी जाने वाली अन्य निर्देशिकाओं के लिंक भी हो सकते हैं। फिर CDPATHउस छिपी निर्देशिका के पथ को शामिल करने के लिए सेट करें। यद्यपि ध्यान दें कि इस पद्धति के साथ, यदि आप cd somewhereऔर फिर cd .., आप छिपे निर्देशिका में हवा करेंगे। यह आपके लिए एक मुद्दा हो सकता है या नहीं भी हो सकता है।


41

दो शॉर्टकट मैं हर समय इस तरह की चीजों के लिए उपयोग करता हूं:

उपनाम

उपनाम सोमेदिर = 'सीडी / होम / जॉन / www / कुछ /'

फिर आप somedirउस डायरेक्टरी में जा सकते हैं। इन्हें अपने में जोड़ें .bashrc

प्रतीकात्मक लिंक

ln -s / long / path / to / some / other / folder / शॉर्टकट

यह एक फाइल बनाएगा /shortcutजिस पर लिंक है /long/path/to/some/other/folder। फिर आप /shortcutइसके बजाय cd टाइप कर सकते हैं । इसके बारे में यह है कि यह आपके रूट डायरेक्टरी (या जो भी आप लिंक डालते हैं) को बहुत जल्दी भरता है। मैं उपनाम पसंद करता हूं।


अच्छा एक जॉन!
Gob00st

यह ln -s /long/path/to/some/other/folder /shortcutतब माना जाता है जब मैंने इसे दूसरे तरीके से किया था, जिससे मैं उस जगह पर शॉर्टकट बना पाया जहाँ से मैं लिंक बनाना चाहता था। मैंने इसे अपडेट करने के लिए एक संपादन सबमिट किया।
एलियास

1
कैसे एक संक्षिप्त नाम के साथ जड़ में एक निर्देशिका के बारे में, जैसे /slऔर वहाँ में शॉर्टकट बनाने के लिए? (यानी ln -s /long/path/to/some/other/folder /sl/shortcut? जड़ में कोई अव्यवस्था नहीं, साथ ही एक दृश्य याद दिलाता है कि आपके संकेत का मार्ग एक
सिम्लिंक है

14

मैं हर समय बैश इंटरैक्टिव खोज का उपयोग करता हूं। कोशिश करो। इसे ctrl + r के साथ जोड़ें और अपने पथ के कुछ हिस्से को टाइप करना शुरू करें, जैसे कहीं । संभवतः आपका cd कमांड पॉप अप हो जाएगा। :)


9

"उपनाम" कमांड देखें।

Csh में:

alias commandplace "cd /user/something/somefolders/somewhere"

श में:

alias commandplace="cd /user/something/somefolders/somewhere"

लेकिन मुझे सिमलिंक समाधान पसंद है:

ln -s /user/something/somefolders/somewhere ~/commandplace 

नोट: ln cp के समान क्रम में तर्क देता है।


6

एक और चीज जो आप कर सकते हैं वह यह है कि पर्यावरण चर में प्रश्न में पथ को संग्रहीत करें। इन पंक्तियों को अपनी ~/.profileफ़ाइल में जोड़ें :

somedir=/user/something/somefolders/somewhere
export somedir

इसके बाद आप डायरेक्टरी को एक्सेस कर सकते हैं

cd "$somedir"

यह अब तक का सबसे अच्छा समाधान imo है क्योंकि आप किसी भी कमांड के लिए वैरिएबल का उपयोग कर सकते हैं। यदि आप एक उपनाम प्रदान करते हैं, तो वह उपनाम हमेशा cd जैसी एक कमांड से जुड़ा होता है ...
BdN3504

यह वह समाधान है जिसकी मैं आशा कर रहा था कि यह अस्तित्व में था, और इसकी तलाश थी। कारणों के लिए BdN3504 ने कहा है।
प्रेरित

1

aliasविधि अन्य उत्तर द्वारा वर्णित सबसे सीधा रास्ता है।

एक अन्य विकल्प ऑटोजंप की कोशिश करना है , जिसे "एक cdकमांड जो सीखता है" के रूप में वर्णित किया गया है । इस LifeHacker पोस्ट में अधिक विवरण ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.