GNU उपयोगिताओं के लिए, पूर्ण प्रलेखन infoपृष्ठ पर है, जहाँ आप पढ़ सकते हैं:
-f
अवहेलना करना; 'टच' के बीएसडी संस्करणों के साथ संगतता के लिए।
स्पर्श के लिए ऐतिहासिक बीएसडी मैन पेज देखें , जहां स्पर्श-f को बाध्य करना था ।
यदि आप उन पुराने बीएसडी के स्रोत को देखते हैं utimes(), तो कोई सिस्टम कॉल नहीं था , इसलिए touchफ़ाइल को रीड + राइट मोड में खोलें, एक बाइट पढ़ें, वापस खोजें और इसे फिर से लिखें ताकि अंतिम पहुंच और अंतिम संशोधन समय को अपडेट कर सकें ।
जाहिर है, आपको अनुमतियाँ पढ़ने और लिखने दोनों की ज़रूरत थी ( touchयदि access(W_OK|R_OK)वह झूठे लौटे तो ऐसा करने की कोशिश करने से बचें )। अस्थायी रूप से अनुमतियों को 0666 में बदलकर-f चारों ओर काम करने की कोशिश की !
0666 का मतलब है हर व्यक्ति को पढ़ने और लिखने की अनुमति। ऐसा होना ही चाहिए था, जैसा कि अन्यथा (जैसे 0600 जैसी अधिक प्रतिबंधात्मक अनुमति के साथ जो कि अभी भी स्पर्श की अनुमति देता है ), जिसका अर्थ उस छोटी खिड़की के दौरान हो सकता है, जो प्रक्रियाएं अन्यथा फ़ाइल को पढ़ने या लिखने की अनुमति देंगी , कार्यक्षमता को तोड़ना ।
हालांकि इसका मतलब यह है कि ऐसी प्रक्रियाएं जो अन्यथा फ़ाइल तक पहुंच नहीं होती हैं, अब इसे खोलने का एक छोटा अवसर है, सुरक्षा को तोड़ना ।
यह बहुत समझदार बात नहीं है। आधुनिक touchकार्यान्वयन ऐसा नहीं करते हैं। तब से, utime()सिस्टम कॉल को पेश किया गया है, जिससे फ़ाइलों की सामग्री (जिसका अर्थ है कि यह गैर-नियमित फ़ाइलों के साथ भी काम करता है) के साथ अलग-अलग होने के बिना संशोधन और एक्सेस समय को बदलने की अनुमति मिलती है और उसके लिए केवल लिखने की आवश्यकता होती है।
विकल्प touchपारित होने के बाद भी GNU विफल नहीं -fहोता है, लेकिन केवल ध्वज की उपेक्षा करता है। इस प्रकार, बीएसडी के उन पुराने संस्करणों के लिए लिखी गई स्क्रिप्ट जीएनयू सिस्टम में पोर्ट होने पर विफल नहीं होती हैं। आजकल ज्यादा प्रासंगिक नहीं है।
-fविकल्प के रूप में सिर्फ नजरअंदाज कर दिया गया है। हो सकता है कि तर्क पार्सर के माध्यम से मंगाई गई हो और यह बात है।