touchফাইলটি উপস্থিত না থাকলে একটি নতুন, খালি ফাইল তৈরি করে কারণ এটি করার জন্য ডিজাইন করা হয়েছিল। ইউটিলিটিটিতে বিশেষভাবে কেসটি পরিচালনা করতে কোড থাকতে হবে। ইউনিক্স ভি 7 এ ইউটিলিটি উপস্থিত হয়েছিল ; এর ম্যানুয়ালটিতে এটি বর্ণনা করা হয়েছে:
টাচ - আপডেটের তারিখ কোনও ফাইলের সর্বশেষ পরিবর্তিত
touchপ্রতিটি ফাইলের পরিবর্তিত তারিখ সেট করার চেষ্টা করে । এটি ফাইল থেকে একটি অক্ষর পড়ে এবং এটি আবার লিখে দিয়ে করা হয়। যদি ** ফাইল * উপস্থিত না থাকে তবে -cঅপশনটি নির্দিষ্ট না করা পর্যন্ত এটি তৈরির চেষ্টা করা হবে ।
( touchফাইলটি খালি থাকলে আমি কী করতাম জানি না The অন্তর্নিহিত সিস্টেম কলটি পরে এলো।)
touchফাইলটি বিদ্যমান করার জন্য কেন ডিজাইন করা হয়েছিল তা আমি নিশ্চিতভাবে জানি না তবে আমার সন্দেহ হয় এটির কারণেই এটি make। আপনি কেন বর্তমান সময়ের জন্য কোনও ফাইলের পরিবর্তনের সময় সেট করতে চান? এমন কিছু ক্ষেত্রে রয়েছে যা নির্দিষ্ট সময়ের জন্য পরিবর্তনের সময় সেট করা কার্যকর হতে পারে তবে সেই ক্ষমতাটি পরে এসেছিল, আসলটি touchকেবল পরিবর্তনের সময়টিকে বর্তমান সময়ের জন্য সেট করতে পারে। এটি করার একটি কারণ makeফাইলের উপর নির্ভর করে এমন কোনও নিয়ম পুনরায় চালানো ।
অর্থাৎ আপনি একটি ফাইল আছে অনুমান করা foo, এবং একটি Makefile যে কমান্ড জেনারেট করতে ঘোষণা barথেকে foo। আপনি যখন টাইপ করেন make bar, কমান্ডটি কার্যকর হয় এবং barতৈরি হয়। যদি barবিদ্যমান এবং তুলনায় নতুন হয় foo, make barকিছুই না, কারণ makeধরে নেয় যে barইতিমধ্যে তৈরি করা হয়েছে। যাইহোক, যদি barএটির চেয়ে বেশি বয়স্ক হন foo, মনে করুন যে barএটি আপ টু ডেট নয় এবং পুনরায় জন্মানো দরকার।
তবে কী তৈরি করার নিয়ম barবদলে গেছে? তারপরে আপনার দুটি বিকল্প রয়েছে:
rm bar; make bar
touch foo; make bar
fooজেনারেট করার জন্য আপনাকে উপস্থিত থাকতে হবে bar, অন্যথায় কমান্ডটি সাধারণত কাজ করে না।
"স্পর্শ" পরিভাষাটি makeইউটিলিটিতে উপস্থিত ছিল : make -t barকেবলমাত্র কমান্ডগুলি চালনার ভান করবে, এটি হ'ল barউত্পন্ন কমান্ড না চালিয়ে বর্তমান সময়ের পরিবর্তনের সময় নির্ধারণ করবে bar(আপনি যদি ভাবতেন যে আপনি এটি করতেন পরিবর্তনগুলি fooপ্রভাবিত করা উচিত নয় bar)। touchউপযোগ তাই এর একটি স্বতন্ত্র সংস্করণ ছিল make -tবৈশিষ্ট্য।
touch /forcefsckডাকা একটি খালি ফাইল তৈরি করতে ব্যবহার করি/forcefsck। ফাইলটি নিজেই কিছু ধারণ করার প্রয়োজন নেই, এটি কেবল উপস্থিত থাকা দরকার। ছাড়াtouch, আমার একটি ফাঁকা ফাইল ব্যবহারviবাnanoসংরক্ষণ করতে হবে। ব্যবহার করতে অনেক দ্রুতtouch।