"Mv" के दौरान स्रोत विभाजन पर मुक्त स्थान क्यों नहीं बदलता है?


13

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

स्रोत और गंतव्य विभाजन के खाली स्थान आकार के योग के बजाय, यह उसी तरह क्यों काम कर रहा है?

जवाबों:


16

जैसे ही POSIX परिभाषित होता है, mv स्रोत फ़ाइल को गंतव्य पथ पर डुप्लिकेट करेगा, और यदि कुछ भी गलत नहीं होता है, तो स्रोत फ़ाइल को हटा दिया जाएगा:

  1. Source_file में निहित फ़ाइल पदानुक्रम को गंतव्य पथ में निहित फ़ाइल पदानुक्रम के रूप में दोहराया जाएगा

  2. Source_file में निहित फ़ाइल पदानुक्रम हटा दिया जाएगा। यदि यह किसी भी कारण से विफल होता है, तो mv मानक त्रुटि के लिए एक नैदानिक ​​संदेश लिखेगा, वर्तमान source_file के साथ अधिक कुछ नहीं करेगा, और किसी भी शेष source_files पर जाएं।

यदि आप एक ही फाइल सिस्टम पर चलते हैं तो आप केवल फाइल सिस्टम में एक स्थान से दूसरे में प्रवेश करते हैं।

यह गारंटी देता है कि चलती प्रक्रिया के दौरान त्रुटियां होने पर आप स्रोत फ़ाइल को नहीं खोएंगे।


16

यह रूढ़िवादी हो रहा है और कॉपी के सफल होने तक फाइलों को डिलीट नहीं कर रहा है। इससे यदि कुछ गलत हो जाता है तो उसे पुनर्प्राप्त करना आसान हो जाता है।


लेकिन dir के पास कई फाइलें हैं
Tim

7
@ समय: यह तब तक स्रोत फ़ाइलों को हटाना शुरू नहीं करता है जब तक कि सभी फाइलों को गंतव्य वॉल्यूम पर डुप्लिकेट नहीं किया गया हो। यदि आपको फ़ाइलों को एक बार में स्थानांतरित करने की आवश्यकता है, ताकि सबसे बड़ी फ़ाइल की तुलना में अधिक "अतिरिक्त" स्थान का उपयोग न हो, तो आपको ऐसा करने के लिए एक लूप बनाने की आवश्यकता है।
वारेन यंग

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