मेरे पास समान नाम वाला फ़ोल्डर और फ़ाइल क्यों नहीं हो सकती है?


21

मुझे यह समस्या पहले कभी नहीं हुई, लेकिन किसी कारण से, मैं अपने फ़ोल्डर का नाम नहीं बदल सकता packages/

यह संरचना है:

root
  -  packages_old/
  -  packages

जब मैं फ़ोल्डर को थुनर से बदलने का प्रयास करता हूं, तो मुझे यह कहते हुए एक त्रुटि संदेश मिलता है कि फ़ाइल पहले से मौजूद है। उसी के साथ mv:

blender iso $ mv packages_old/ packages/
mv: accessing `packages/': Not a directory

मैं समान नाम रखने के लिए अपनी फ़ाइल और फ़ोल्डर का नाम बदलने में असमर्थ क्यों हूं:

root
  -  packages/
  -  packages

मैंने कसम खाई है कि मैंने पहले भी ऐसा किया है।


19
आपकी स्मृति शायद उतनी मूर्ख नहीं है जितना आप सोचते हैं कि यह है। यूनिक्स प्लेटफॉर्म में "सब कुछ एक फ़ाइल है"। आपके पास एक ही नाम के साथ एक फ़ाइल और फ़ोल्डर नहीं हो सकता है क्योंकि निर्देशिकाएं एक विशेष प्रकार की फ़ाइल हैं। यह .dनिर्देशिका में पारंपरिक एक्सटेंशन से संबंधित है /etc। मान लीजिए आपने किया ls packagesया vim packages- अगर आप निर्देशिका या फ़ाइल चाहते हैं तो सिस्टम को कैसे पता चलेगा?
jw013

2
क्या आप शायद हमें बता सकते हैं कि आप किस ओएस का उपयोग कर रहे हैं? क्योंकि आपके पास एक फ़ाइल नहीं हो सकती है और एक निर्देशिका का अधिकांश ओएस पर एक ही नाम है जो मुझे पता है
rahmu

2
@ j013, आपने टिप्पणी में उत्तर क्यों दिया है और उत्तर नहीं लिखा है ?
andcoz

1
आप इसे विंडोज पर भी नहीं कर सकते। मेरी विंडोज 7 मशीन पर, ऐसा करने की कोशिश करने से त्रुटि पैदा होती है:There is already a file with the same name as the folder name you specified. Specify a different name.
क्रिस डाउन

4
विंडोज में, डिफ़ॉल्ट सेटिंग्स एक्सटेंशन को अनदेखा करना है, इसलिए आपके पास उसी फ़ोल्डर में एक packageनिर्देशिका और एक package.txtफ़ाइल हो सकती है । विंडोज एक्सप्लोरर से, यह दिखाई देगा कि आपको "पैकेज" नामक प्रविष्टियों को प्राप्त करना है, जब वास्तव में, यह सिर्फ एक के फ़ाइल नाम का हिस्सा छिपा रहा है।
अर्सज

जवाबों:


35

यूनिक्स में, लगभग सब कुछ एक फ़ाइल है। एक निर्देशिका एक विशेष प्रकार की फ़ाइल है जो उपयोगकर्ता के दृष्टिकोण से अन्य फ़ाइलों को "समाहित" कर सकती है।

त्रुटि Not a directoryतब होती है क्योंकि आपकी मौजूदा फ़ाइल एक निर्देशिका नहीं है, और चूंकि एक निर्देशिका एक प्रकार की फ़ाइल है, और एक निर्देशिका में दो पहचान की गई फ़ाइलें नहीं हो सकती हैं, इसलिए ऑपरेशन नहीं किया जा सकता है।


6
आपकी स्मृति समस्या के लिए, शायद आपकी फ़ाइल और निर्देशिका में एक ही नाम था, लेकिन अलग-अलग मामलों में, जैसे "पैकेज" और "पैकेज"। फ़ाइल नाम केस-संवेदी होते हैं, इसलिए यह काम करेगा।
noamtm

2

क्योंकि अगर आप ऐसा करने में सक्षम होते हैं, तो मेरे जैसे प्रोग्रामर के लिए जीवन दुखी होगा जब मैं एक निर्देशिका में फ़ाइलों को पुनरावृत्त करने की कोशिश करता हूं।

निम्नलिखित छद्मकोश के लिए:

isDir('/path/to/same_file_and_folder_name')

क्या OS को सही या गलत उत्तर देना चाहिए?


इसे सिर्फ should दोनों ’वापस करना चाहिए।
एंथन


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