क्या आप मुझे यह समझा सकते हैं #l -s: "लक्ष्य एक निर्देशिका नहीं है"?


12

मैं यह कर रही हूँ:

sudo ln s /etc/apache2/sites-available/LoginProject /etc/apache2/sites-enabled/LoginProject

और मुझे मिलता है:

ln: target `/etc/apache2/sites-enabled/LoginProject' is not a directory

/ etc / apache2 / sites-available / LoginProject यह एक फ़ाइल है

संपादित करें:

यह आदेश:

ls -l /etc/apache2/sites-enabled/LoginProject /etc/apache2/sites-available/LoginProject

आउटपुट:

ls: cannot access /etc/apache2/sites-enabled/LoginProject: No such file or directory
-rw-r--r-- 1 root root 526 2011-09-27 18:40 /etc/apache2/sites-available/LoginProject

2 संपादित करें:

$ls /etc/apache2/sites-available/
default  default-ssl  LoginProject
$

$ls /etc/apache2/sites-enabled/
$

1
क्या आप ls -l /etc/apache2/sites-enabled/LoginProject /etc/apache2/sites-available/LoginProjectआउटपुट जोड़ सकते हैं ?
बेलमिन फर्नांडीज

यकीन है, वहाँ मैं इसे जोड़ा
fceruti

जो कोई भी इस त्रुटि की तलाश में यहां पहुंचता है, लेकिन उपरोक्त समाधान काम नहीं करते हैं ... यदि आप एक निर्देशिका को सहानुभूति दे रहे हैं, तो सुनिश्चित करें कि यह लक्ष्य या नाम पर एक अनुगामी स्लेश नहीं है।
शेरी

जवाबों:


5

प्रयत्न: sudo a2ensite LoginProject

आप भी कर सकते हैं sudo ln –s /etc/apache2/sites-available/LoginProject /etc/apache2/sites-enabled/


फ़ाइल है: / etc / apache2 / sites-available / LoginProject वैसे भी, मैंने ऑर्डर बदलने की कोशिश की, और काम नहीं किया
fceruti 27'11

क्षमा करें कि गलत था, संपादित करें
xofer

धन्यवाद! a2ensite LoginProject ने काम किया! दूसरे आदेश की कोशिश नहीं की। यह अभी भी बहुत अजीब है ... मैं सच में नहीं मिलता है
fceruti

आम तौर पर, ln 2 फ़ाइल पथ स्वीकार करता है और यदि यह दो से अधिक है, तो लक्ष्य को एक निर्देशिका होना चाहिए। मुझे अभी भी आश्चर्य है कि यह इस तरह से आपके मापदंडों को क्यों गिनता है !!!
स्पार्क्स

27

आपने संभवतः ln -sकिसी अन्य स्रोत से कमांड को कॉपी और पेस्ट किया और सिस्टम ने गलत प्रकार डाला --मैन्युअल रूप से इसे हटाने और टाइप करने का प्रयास करें ।


1
आपने इस जवाब से मेरा दिन बचा लिया! खैर, दिन का आधा। मैंने अपने बालों के अवशेषों को निकालने की कोशिश में अन्य आधे खर्च किए हैं जो यह पता लगाने की कोशिश कर रहे हैं कि मैं क्या गलत कर रहा था और यह मुझसे क्या निर्देशिका चाहता है। यह पता चला कि मैं वास्तव में लाइन में एक गलत डैश था।
अलेक्जेंडर अमेलकिन

महान, सर्वश्रेष्ठ उत्तर जिसे स्वीकार किया जाना चाहिए
गॉडफादर

महान!!! धन्यवाद।
नैनो.गलवा

6

इस समस्या के बीच अंतर है ...

sudo ln s path1 path2

और इस...

sudo ln -s path1 path2

फर्क नहीं दिखता? शॉर्ट डैश बनाम लॉन्ग डैश।

लंबे डैश को एक विकल्प के रूप में व्याख्यायित नहीं किया जाता है और इसलिए ln कमांड लाइन पर तीन रास्तों को देखता है और अंतिम को एक निर्देशिका होने की उम्मीद करता है।


2
आप वास्तव में मूल पोस्ट में लंबे डैश देख सकते हैं। यह उत्तर है।
एक्सलोरस

3

नीचे दिए गए एकल तर्क के साथ ln आज़माएं और देखें कि क्या यह मदद करता है,

cd /etc/apache2/sites-enabled/ ; sudo ln -s /etc/apache2/sites-available/LoginProject

2

निर्देशिकाओं को उद्धृत करने की कोशिश करें और sudoकमांड के तर्कों को इस तरह समाप्त करें:

sudo -- \ln s "/etc/apache2/sites-available/LoginProject" "/etc/apache2/sites-enabled/LoginProject"

नहीं, यह चाल नहीं बना
fceruti

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

मैंने कॉपी की है कि पेस्ट किया और मिल गया: ln: target `/ etc / apache2 / sites-enable / LoginProject 'एक डायरेक्टरी नहीं है
fceruti

आदमी। मुझे पेट भर रहा है। मैंने केवल यह देखा है कि लक्ष्य कब मौजूद है। लेकिन आपका lsआउटपुट दिखाता है कि ऐसा नहीं है। आश्चर्य है कि यह एक SELinux या ACL समस्या है। मेह, आपको @ fuscata के उत्तर के साथ काम करने के लिए मिला। अच्छी नौकरी :-)
बेलमिना फर्नांडीज

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