जो कुछ भी नहीं बदलेगा, उसमें sudo cd टाइप करना क्यों ?
जो कुछ भी नहीं बदलेगा, उसमें sudo cd टाइप करना क्यों ?
जवाबों:
cd
शेल निर्मित है। sudo
केवल निष्पादनों के साथ काम करता है। आप कर सकते हैं, sudo sh -c 'cd dirname'
लेकिन जैसे ही शेल बाहर निकलता है, आप उस निर्देशिका में वापस आ जाते हैं जिसे आपने शुरू किया था। यदि आप कहते हैं कि आप इसे पूरा करने की कोशिश कर रहे हैं तो मैं आपको ऐसा करने का एक तरीका खोजने में मदद कर सकता हूं।
sudo pwd
भी काम नहीं करेगा? (मैं हमेशा सोचा है कि sudo cd
करता है काम करते हैं, लेकिन आप केवल के बाद परिणाम नहीं देख रहे हैं sudo
रिटर्न। लेकिन है कि बस एक जंगली अनुमान। हो सकता है कि न था cd
और न ही pwd
वास्तव में एक मैक। रनिंग पर निर्मित बैश में हैं which cd
करता है वास्तव में मुझे परिणाम देती है। रनिंग sudo cd /
मुझे एक त्रुटि नहीं देता है, लेकिन वास्तव में एक बदले हुए कार्यशील निर्देशिका में परिणाम नहीं करता है।)
pwd
एक बाहरी निष्पादन योग्य भी है इसलिए यह काम करेगा। ध्यान दें कि कुछ प्रणालियों पर, एक cd
निष्पादन योग्य है, लेकिन यह ज्यादातर बेकार है। type -a cd
वैसे इसका उपयोग अधिक जानकारीपूर्ण तरीके से करने का प्रयास करें which
।
type -a cd
दोनों पर दिखाता है । और इसी तरह और । और दोनों और मुझे एक परिणाम देते हैं। हालाँकि, केवल पैदावार , और मुझे दिखाता है । तो, मुझे लगता है कि सवाल यह है: क्या ओपी को एक त्रुटि संदेश मिलता है, या क्या ओपी बिना किसी त्रुटि के काम नहीं देखता है ? (या: ओएस ओपी का उपयोग क्या है।)cd is a shell builtin
cd is /usr/bin/cd
pwd
echo
sudo pwd
sudo echo "Hello world"
type -a return
return is a shell builtin
sudo return 3
sudo: return: command not found
cd
sudo sh -c 'cd dirname'
मेरे लिए कुछ नहीं करता है।
cd
हैं। और यह तब विफल होने के बजाय कुछ नहीं कर सकता है जब मौजूदा शेल में cd
कमांड नहीं है । कोई भी शेल जो कभी भी मनुष्यों द्वारा उपयोग किया जा सकता है cd
, जिसमें शामिल है /bin/sh
। लेकिन एक प्रोग्राम जो है, ऑपरेटिंग सिस्टम कर्नेल से देखा जाता है, एक शेल उस से बहुत सरल हो सकता है, यहां तक कि कोड की केवल कुछ पंक्तियाँ। देखें कि cd
बाहरी कमांड का क्या मतलब है ?
इसके बजाय sudo -s
रूट शेल शुरू करने के लिए और फिर cd
डायरेक्टरी में प्रयोग करके देखें।
जब आप रूट के रूप में कर रहे हों, तो दबाएं CtrlDया टाइप करें exit
।
जैसा कि अर्जन नीचे अपनी टिप्पणी में संकेत देता है, यह ध्यान रखना महत्वपूर्ण है कि जड़ के रूप में, एक आसानी से आवश्यक सिस्टम घटकों को नुकसान पहुंचा सकता है। देखभाल के साथ प्रयोग करें!