फ़ाइल का परिणामी उपयोगकर्ता इस बात पर निर्भर करता है कि संपादक क्या करता है। कुछ संपादक फ़ाइल को काट-छाँट करके सहेजते हैं, और फ़ाइल पर (बिना इनकोड बदले) लिख देते हैं। और कुछ संपादकों एक और नाम के लिए फ़ाइल का नाम बदलें ( file
करने के लिए file~
हमेशा की तरह है), और मूल के नाम के साथ एक नई फ़ाइल बनाना। मूल फ़ाइल को संशोधित करना मालिक को एक समान रखता है, एक नया बनाना एक नई फ़ाइल बनाता है जिसके पास प्रक्रिया का यूआईडी है।
संपादकों की मैं डेबियन पर है, nano
और joe
, साथ ही nvi
और vim
(में कम से कम संस्करण vim-tiny
) में जगह अधिलेखित करने के लिए लग रहे हैं। हालांकि मुझे लगता है vim
और Emacs शायद वे क्या कर में विन्यास कर रहे हैं।
स्टीफन परमाणु अद्यतन के बारे में टिप्पणी करते हैं । फिर से जगह बनाने के साथ समस्या यह है कि फ़ाइल को शून्य लंबाई तक काट दिया जाता है, फिर लिखा जाता है। सभी डेटा लिखे जाने से पहले एक और प्रक्रिया इसे खोल और पढ़ सकती है।
एक परमाणु अद्यतन कहते हैं के रूप में नए संस्करण बनाने के द्वारा किया जा होगा file.new
, तो नाम बदलने file.new
के लिए file
। बैकअप फ़ाइल को छोड़कर, कोई भी बना सकता है file.new
, लिंक कर सकता file
है file~
और फिर नाम बदल सकता file.new
है file
। नाम उस में परमाणु है, जो किसी भी प्रक्रिया को फ़ाइल को नाम से एक्सेस करता है, या तो पुराने या नए संस्करण को प्राप्त करता है, बीच में कुछ भी नहीं। कोई भी ओपन फाइल हैंडल उस फाइल की तरफ इशारा करेगा, जो फाइल पर एक सुसंगत दृश्य दे रही थी।
से फाइल अनुमति दृष्टिकोण से, एक ही फाइल (inode) से अधिक की बचत फ़ाइल स्वयं (लेकिन निर्देशिका) के लिए लेखन पहुँच की आवश्यकता है और इसका पुनः नामकरण और एक नया बनाने डायरेक्ट्री तक पहुंच (लेकिन मूल फ़ाइल के लिए नहीं लिखने की आवश्यकता है )।
(नाम बदलना और रीक्रिएट करना संयोगवश फ़ाइल अनुमतियों को ठीक करने का एक तरीका है, जब कोई किसी साझा निर्देशिका में किसी फ़ाइल को बनाता या संशोधित करता है, लेकिन समूह लेखन को उस तक पहुंच देना भूल जाता है।)