में सिस्टम प्रशासक भयावहता की इस संकलन , लेखकों में से एक अंगूठे का एक नियम के रूप में, लिखते हैं:
हमेशा
cd .
कुछ भी करने से पहले एक बार करें ।
आप ऐसा क्यों करना चाहते हो?
में सिस्टम प्रशासक भयावहता की इस संकलन , लेखकों में से एक अंगूठे का एक नियम के रूप में, लिखते हैं:
हमेशा
cd .
कुछ भी करने से पहले एक बार करें ।
आप ऐसा क्यों करना चाहते हो?
जवाबों:
तुम नहीं।
कम से कम ऐसा नहीं है। उद्धृत दस्तावेज में पूर्ववर्ती पंक्ति महत्व की है:
pwd
आप हर समय सीडी करने के लिए अपना संकेत सेट करें ।- हमेशा
cd .
कुछ भी करने से पहले एक बार करें ।
इस तरह, आप ऑपरेटर के रूप में महत्व के कुछ भी करने से पहले अपने वर्तमान कामकाजी डायर को सत्यापित करते हैं, क्योंकि यह प्रत्येक परिवर्तन के साथ मुद्रित होता है। cd .
अन्यथा कोई मतलब नहीं है।
यह "सत्यापन" एक अच्छी बात है, और आपको इसका एक रूप अनुकूलित करना चाहिए। इस विषय की एक और अधिक (IMHO) सामान्य भिन्नता हमेशा प्रॉम्प्ट पर वर्किंग डायर का प्रिंट आउट है।
pwd
कुछ करने से पहले क्यों नहीं ?
cd .
से वास्तविक अंतर्निहित बदल जाएगा निर्देशिका है कि आप में हैं।
cd .
cd $(readlink -f .)
यदि आपके शेल की वर्तमान कार्यशील निर्देशिका को हटा दिया जाता है, तो डेटा खोना संभव है।
उदाहरण के लिए,
$ pwd
/home/user/test
$ rmdir /home/user/test
$ pwd
/home/user/test
$ some_command | tee command.log
tee: command.log: No such file or directory
<long output>
का आउटपुट some_command
डिस्क पर नहीं लिखा गया था।
cd .
कमांड चलाने से पहले टाइप करने से समस्या का पता चलता है।
$ pwd
/home/user/test
$ rmdir /home/user/test
$ cd .
$ pwd
.
यदि वर्तमान वर्किंग डायरेक्टरी डायरेक्टरी को हटा दिया गया और फिर से बनाया गया, तो टाइपिंग cd .
उस डायरेक्टरी के संदर्भ को "रिफ्रेश" करेगी।
$ ls
foo bar ljz
$ pwd
/home/user/test
$ rmdir /home/user/test
$ mkdir /home/user/test
$ pwd
/home/user/test
$ ls
$ cd .
$ ls
foo bar ljz
मुझे लगता है कि अपनी वर्तमान निर्देशिका दिखाना अधिक महत्वपूर्ण है।
प्रत्येक लिनक्स सर्वर पर, मैं /etc/bashrc
"W" को "w" में बदलकर प्रॉम्प्ट को संशोधित करता हूं ।
[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "
सेवा मेरे
[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \w]\\$ "
इसका प्रभाव यह है:
[root@xt include]#
बनाम
[root@xt /usr/src/spl-0.6.1/include]#
PS1
बैश विशिष्ट?
~/.profile
या ~/.bash_profile
साथ ही अद्यतन/etc/skel/.profile