एक प्रतीकात्मक लिंक को कैसे परिभाषित किया जाए जिसे मैं हर निर्देशिका में उपयोग कर सकता हूं


11

क्या प्रतीकात्मक लिंक सेट करना संभव है ताकि मैं projectनिर्देशिका को इंगित करने के लिए उपयोग कर सकूं home/me/project, उदाहरण के लिए? यह फ़ाइल सिस्टम में स्थान से स्वतंत्र होना चाहिए।

मैं जैसे आदेशों का उपयोग करना चाहता हूं cd project, nano project/file1.texऔर इसी तरह।

क्या मुझे अपनी सभी निर्देशिकाओं के लिए एक प्रतीकात्मक लिंक लिखना होगा?

जवाबों:


15

अधिकांश गोले एक CDPATHचर है जो cdनिर्देशिकाओं को उसी तरह बदलने के लिए देख सकते हैं जिस तरह से निष्पादन योग्य खोजे जाते हैं $PATH

इसलिए यदि आप एक ~/projectsनिर्देशिका में अपना सिम्बलिंक जोड़ते हैं और करते हैं CDPATH=~/projects, तो आप अंदर cd fooजाने में सक्षम होंगे~/projects/foo

साथ zshअगर, $varएक पथ आप कर सकते हैं शामिल cd ~varकरने के लिए cdहै कि पथ के लिए। इसका उपयोगी हिस्सा तब होता है जब आपका संकेत आपके पास %~होता है जो तब इसे आपके संकेत में दर्शाता है:

$ proj1=/usr/local proj2=/etc/apache2
$ PS1='%~$ '
$ cd ~proj1
~proj1$ cd ~proj2/sites-enabled
~proj2/sites-enabled$

के साथ setopt cdablevars, आप cd proj1इसके बजाय भी कर सकते हैं cd ~proj1


9

आप शायद सांकेतिक लिंक के बजाय चर का उपयोग करना चाहते हैं, जैसे

export project=/home/me/project

फिर

cd $project

या

vim $project/file

अपडेट करें

जैसा कि पीटरफ ने बताया है, आप इन्हें (पूर्वनिर्धारित चर सहित) भी जोड़ सकते हैं, जैसे

export project=$HOME/project

1
या इससे भी बेहतर project=$HOME/project...
पीटर

@peterph, या और भी सरल ~/project
स्टीफन चेज़लस

4
के साथ zsh, आप भी कर सकते हैं setopt cdablevarsऔर फिरcd project
स्टीफन चेजेलस

@ स्टेफेनचैलेज: मुझे लगता है कि यह एक अच्छा बिंदु है - हालांकि यह विशिष्ट है क्योंकि आप इसे zshएक अलग उत्तर के रूप में जोड़ सकते हैं?
जेमेट्ज़
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.