জিএনইউ ইউটিলিটিগুলির জন্য, সম্পূর্ণ ডকুমেন্টেশন info
পৃষ্ঠাটিতে রয়েছে, যেখানে আপনি পড়তে পারেন:
-f
অগ্রাহ্য করা; 'টাচ' এর বিএসডি সংস্করণগুলির সাথে সামঞ্জস্যের জন্য।
স্পর্শের জন্য BSতিহাসিক বিএসডি ম্যান পৃষ্ঠাগুলি দেখুন , যেখানে স্পর্শটিকে বাধ্য করা-f
হয়েছিল ।
যদি আপনি সেই পুরানো বিএসডিগুলির উত্সের দিকে তাকান, কোনও utimes()
সিস্টেম কল ছিল না , সুতরাং touch
ফাইলটি রিড + রাইটিং মোডে খুলবে, একটি বাইট পড়বে, ফিরে চাইবে এবং আবার লিখবে যাতে শেষ অ্যাক্সেস এবং শেষ পরিবর্তনের সময়টি আপডেট করতে পারে ।
স্পষ্টতই, আপনার পড়ার এবং লেখার অনুমতি উভয়েরই দরকার ছিল ( touch
যদি access(W_OK|R_OK)
মিথ্যা ফেরত দেয় তবে তা করার চেষ্টা করা এড়ানো হবে )। অস্থায়ীভাবে অনুমতিগুলি অস্থায়ীভাবে 0666 এ পরিবর্তন করে এর-f
আশেপাশে কাজ করার চেষ্টা করেছি !
0666 অর্থ প্রত্যেককে পড়ার এবং লেখার অনুমতি। এটি অন্যথায় যেমন হতে পারে (যেমন আরও সীমাবদ্ধ অনুমতি যেমন 0600 এর পরেও স্পর্শের অনুমতি দেওয়া হত ) এর অর্থ এই সংক্ষিপ্ত উইন্ডো চলাকালীন হতে পারে, প্রক্রিয়াগুলি যা অন্যথায় ফাইলটিতে পড়তে বা লেখার অনুমতি লিখতে পারত সেগুলি আর হতে পারে না , কার্যকারিতা বিরতি ।
তার অর্থ তবে যে প্রক্রিয়াগুলিতে অন্যথায় ফাইলটিতে অ্যাক্সেস না থাকতো সেগুলির এখন সুরক্ষা ভঙ্গ করে এটি খোলার একটি ছোট্ট সুযোগ রয়েছে ।
এটি করার মতো খুব বুদ্ধিমান জিনিস নয়। আধুনিক touch
বাস্তবায়ন এটি করে না। সেই থেকে, utime()
সিস্টেম কল চালু করা হয়েছে, পরিবর্তিত পরিবর্তন এবং অ্যাক্সেসের সময়কে পৃথকভাবে ফাইলের সামগ্রীতে মিশ্রিত না করে (যার অর্থ এটি অ-নিয়মিত ফাইলগুলির সাথেও কাজ করে) মঞ্জুরি দেয় এবং তার জন্য কেবল লেখার অ্যাক্সেসের প্রয়োজন হয়।
বিকল্পটি touch
পাস হলে GNU এখনও ব্যর্থ হয় না -f
, তবে কেবল পতাকাটিকে উপেক্ষা করে। এইভাবে, বিএসডি-র পুরানো সংস্করণগুলির জন্য লিখিত স্ক্রিপ্টগুলি জিএনইউ সিস্টেমে পোর্ট করার সময় ব্যর্থ হয় না। আজকাল খুব বেশি প্রাসঙ্গিক নয়।
-f
বিকল্পটি কেবল উপেক্ষা করা হয়েছে। আর্গুমেন্ট পার্সারের মাধ্যমে ম্যাঙ্গেল করা হতে পারে এবং এটিই।