sh: 0: getcwd () विफल: उद्धृत ड्राइव पर ऐसी कोई फ़ाइल या निर्देशिका नहीं है


211

मैं Ubuntu 12 में ARM कोड को संकलित करने की कोशिश कर रहा हूं।

जब मैं स्थानीय निर्देशिका में कोड डालता हूं तो सब कुछ ठीक चल रहा होता है।

लेकिन जब मैंने कोड को माउंट माउंट डायरेक्टरी एरर में कोड दिखाया तो पता चलता है:

making testXmlFiles
sh: 0: getcwd() failed: No such file or directory
ARM Compiling xxxxx.c
sh: 0: getcwd() failed: No such file or directory

यहाँ fstab में मेरी सेटिंग है

//10.0.0.1/data /mnt/data   cifs    auto,noserverino,credentials=/root/.smbcredentials,file_mode=0777,dir_mode=0777,uid=user,gid=users,noperm 0 0

यहाँ क्या हो रहा है? इस त्रुटि का क्या कारण हो सकता है?


मैं ubuntu 10.10 में कोशिश कर रहा हूँ यह एक ही विन्यास के साथ ठीक काम करते हैं।
बजे क्रेजी किटी रोशी

49
यह त्रुटि संदेश तब चालू हो सकता है जब किसी ऐसे पथ से आदेश को निष्पादित करने का प्रयास किया जाता है जो मौजूद नहीं है (जैसे कि यदि प्रक्रिया बी एक फ़ोल्डर को हटाती है जो कि प्रक्रिया ए वर्तमान में स्थित है। एक वास्तविक जीवन उदाहरण: टर्मिनल ए में: mkdir ~/myfunnydir && cd ~/myfunnydirटर्मिनल बी में। rm -rf ~/myfunnydirऔर अंत में टर्मिनल एक में वापस फिर से: java --version)
डी बी एम

आपकी निर्देशिका ऑटो माउंटेड है लेकिन इसमें क्रेडेंशियल्स संग्रहीत हैं /root। एक नियमित उपयोगकर्ता इसे माउंट नहीं कर पाएगा क्योंकि क्रेडेंशियल उनके लिए पठनीय नहीं होगा। इसे गैर-ऑटो माउंट के रूप में बनाने का प्रयास करें और इसे रूट माउंट करें।
अल्विट्स

जवाबों:


564

यह त्रुटि आमतौर पर एक निर्देशिका से कमांड चलाने के कारण होती है जो अब मौजूद नहीं है।

अपनी निर्देशिका को बदलने का प्रयास करें और कमांड को फिर से चलाएँ।


4
getcwdवर्तमान कार्यशील निर्देशिका प्राप्त करता है और यदि निर्देशिका हटा दी जाती है या स्थानांतरित हो जाती है तो यह दुखी होगा! देखें लिनक्स getcwd के लिए मैनुअल
Hooman

2
आपको यह भी करना पड़ सकता है यदि आपने उस निर्देशिका को हटा दिया है जिसे आप उसी नाम से एक ही स्थान पर बनाए गए हैं।
जैक्सन

बिलकुल सही! अच्छा!
फरहाद गुडारजी

1
सभी मैंने किया था सीडी मारा, और फिर से चलाने के आदेश, और यह काम किया, धन्यवाद!
FreeSoftwareServers

यह खुद को ध्यान में रखते हुए जब कोई भी निर्देशिका से उपयुक्त उन्नयन नहीं चल रहा है। संदेश लगभग 20 बार घूमता है, फिर भी अपडेट जारी रहता है जैसे कुछ भी नहीं हुआ। मैं इस बारे में और अधिक जानकारी प्राप्त करने की उम्मीद कर रहा था कि एप-गेट भी इस बात की परवाह करता है कि मैं किस फ़ोल्डर में हूँ, विशेष रूप से इतने कम परिणाम के साथ आग्रहपूर्वक।
डैरेन रिंगर

11

निम्नलिखित कमांड का प्रयास करें, यह मेरे लिए काम किया।

cd; cd -

यह क्या है? यह क्या मतलब है?
dılo sürücü

cd;आमतौर पर आपको होम निर्देशिका में cd -ले जाएगा और आपको उस निर्देशिका में वापस ले जाएगा, जो आप वर्तमान निर्देशिका से पहले थे। तो मूल रूप से आप घर निर्देशिका में जाते हैं और वापस आते हैं। हालाँकि, यदि आप जिस मूल निर्देशिका में हैं, वह हटा दी गई है, तो यह काम नहीं करेगा।
होमन जु

7

यह भी एक पुनर्निर्मित निर्देशिका पर मेरे साथ हुआ, निर्देशिका एक ही है लेकिन इसे फिर से चलाने के लिए काम करना है:

cd .

6

यह कभी-कभी सहानुभूति के साथ हो सकता है। यदि आप इस समस्या का अनुभव करते हैं और आप जानते हैं कि आप एक मौजूदा निर्देशिका में हैं, लेकिन आपका सिमलिंक बदल गया है, तो आप इस कमांड का उपयोग कर सकते हैं:

cd $(pwd)

4

Ubuntu 16.04.3 LTS में, मेरे लिए अगला कमांड काम करता है:

exit

फिर मैं फिर से लॉगिन करता हूं।


2
वास्तव में यह एक मौजूदा निर्देशिका में स्विच करने के लिए पर्याप्त होगा क्योंकि
होमन

2

कृपया निर्देशिका पथ की जाँच करें कि क्या मौजूद है या नहीं। यह त्रुटि तब आती है यदि फ़ोल्डर उस जगह से मौजूद नहीं है जहां आप कमांड चला रहे हैं। संभवतः आपने कमांड लाइन में एक ही रास्ते से हटाए गए कमांड को निष्पादित किया है।



0

मेरे मामले में ऊपर कुछ भी काम नहीं किया है। थोड़ी देर के लिए दीवार के खिलाफ अपना सिर पीटने के बाद, मुझे पता चला है कि मैंने /etc/passwdएक कस्टम-मेड-लाइनक्स-सर्वर-सेटअप-बैश-स्क्रिप्ट चलाकर प्रविष्टियों को नष्ट कर दिया है, जो पहले अच्छी तरह से काम करती थी, लेकिन इस बार के भीतर रेगेक्स "sed" कमांड ने सभी मौजूदा प्रविष्टियों को मिटा दिया: D एक अन्य कार्यशील लिनक्स सर्वर से डिफ़ॉल्ट प्रविष्टियों को कॉपी करने के बाद मैं आखिरकार sdd को पुनः आरंभ कर सकता हूं।

तो उस /etc/passwdपर कोई भी रेगेक्स प्रतिस्थापन लागू करने से पहले मूल फ़ाइल का बैकअप लेना न भूलें :)


-8

यहां तक ​​कि मैं अजगर virtualenv के साथ एक ही समस्या थी यह एक सरल पुनरारंभ द्वारा सही हो गया

sudo shutdown -r now

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