`টাচ`-এর জন্য -f বিকল্পটি কী ব্যবহার করে?


23

থেকে man touch:

-f     (ignored)

কিন্তু উপেক্ষা দ্বারা বোঝানো যা আমি তা পাই না ।

আমি নিম্নলিখিত চেষ্টা করেছি:

$ ls -l file
-rw-rw-r-- 1 pandya pandya 0 Mar 20 16:17 file

$ touch -f file
$ ls -l file
-rw-rw-r-- 1 pandya pandya 0 Mar 20 16:18 file

এবং লক্ষ্য করেছেন যে এটি সত্ত্বেও টাইমস্ট্যাম্পগুলি পরিবর্তন করে -f

সুতরাং, আমি জানতে চাই কী -fবোঝায় বা এটি কী করে।


2
আমি ধরে নিই যে -fবিকল্পটি কেবল উপেক্ষা করা হয়েছে। আর্গুমেন্ট পার্সারের মাধ্যমে ম্যাঙ্গেল করা হতে পারে এবং এটিই।
টমাস

1
(উপেক্ষা করা) এর অর্থ পতাকাটি অগ্রাহ্য করা হয়েছে, আদেশ নয় command
তহবিল মনিকার লসুইট

উত্তর:


47

জিএনইউ ইউটিলিটিগুলির জন্য, সম্পূর্ণ ডকুমেন্টেশন infoপৃষ্ঠাটিতে রয়েছে, যেখানে আপনি পড়তে পারেন:

-f
অগ্রাহ্য করা; 'টাচ' এর বিএসডি সংস্করণগুলির সাথে সামঞ্জস্যের জন্য।

স্পর্শের জন্য BSতিহাসিক বিএসডি ম্যান পৃষ্ঠাগুলি দেখুন , যেখানে স্পর্শটিকে বাধ্য করা-f হয়েছিল ।

যদি আপনি সেই পুরানো বিএসডিগুলির উত্সের দিকে তাকান, কোনও utimes()সিস্টেম কল ছিল না , সুতরাং touchফাইলটি রিড + রাইটিং মোডে খুলবে, একটি বাইট পড়বে, ফিরে চাইবে এবং আবার লিখবে যাতে শেষ অ্যাক্সেস এবং শেষ পরিবর্তনের সময়টি আপডেট করতে পারে

স্পষ্টতই, আপনার পড়ার এবং লেখার অনুমতি উভয়েরই দরকার ছিল ( touchযদি access(W_OK|R_OK)মিথ্যা ফেরত দেয় তবে তা করার চেষ্টা করা এড়ানো হবে )। অস্থায়ীভাবে অনুমতিগুলি অস্থায়ীভাবে 0666পরিবর্তন করে এর-f আশেপাশে কাজ করার চেষ্টা করেছি !

0666 অর্থ প্রত্যেককে পড়ার এবং লেখার অনুমতি। এটি অন্যথায় যেমন হতে পারে (যেমন আরও সীমাবদ্ধ অনুমতি যেমন 0600 এর পরেও স্পর্শের অনুমতি দেওয়া হত ) এর অর্থ এই সংক্ষিপ্ত উইন্ডো চলাকালীন হতে পারে, প্রক্রিয়াগুলি যা অন্যথায় ফাইলটিতে পড়তে বা লেখার অনুমতি লিখতে পারত সেগুলি আর হতে পারে না , কার্যকারিতা বিরতি ।

তার অর্থ তবে যে প্রক্রিয়াগুলিতে অন্যথায় ফাইলটিতে অ্যাক্সেস না থাকতো সেগুলির এখন সুরক্ষা ভঙ্গ করে এটি খোলার একটি ছোট্ট সুযোগ রয়েছে ।

এটি করার মতো খুব বুদ্ধিমান জিনিস নয়। আধুনিক touchবাস্তবায়ন এটি করে না। সেই থেকে, utime()সিস্টেম কল চালু করা হয়েছে, পরিবর্তিত পরিবর্তন এবং অ্যাক্সেসের সময়কে পৃথকভাবে ফাইলের সামগ্রীতে মিশ্রিত না করে (যার অর্থ এটি অ-নিয়মিত ফাইলগুলির সাথেও কাজ করে) মঞ্জুরি দেয় এবং তার জন্য কেবল লেখার অ্যাক্সেসের প্রয়োজন হয়।

বিকল্পটি touchপাস হলে GNU এখনও ব্যর্থ হয় না -f, তবে কেবল পতাকাটিকে উপেক্ষা করে। এইভাবে, বিএসডি-র পুরানো সংস্করণগুলির জন্য লিখিত স্ক্রিপ্টগুলি জিএনইউ সিস্টেমে পোর্ট করার সময় ব্যর্থ হয় না। আজকাল খুব বেশি প্রাসঙ্গিক নয়।


3
বিকাশকারীদের মতে / -fঅ্যাপ্লিকেশন / লাইব্রেরি / ম্যাক / ডকুমেন্টেশন / ডারউইন / রেফারেন্স / Mac ম্যাক ওএস এক্সে এখনও কাজ করে (তবে কোনও সন্দেহ নেই যে জিইউআই ব্যবহার করে একই কার্যকারিতা "আরও ভাল," সম্পাদনের কমপক্ষে 57 টি ভিন্ন উপায় রয়েছে! )
আলেফজারো

20
জিইউআই ব্যবহার করা প্রয়োজন "আরও ভাল" নয়। স্ক্রিপ্টগুলি ব্যবহার করার বিষয়টি হ'ল স্টাফকে স্বয়ংক্রিয়করণ করা, যার মধ্যে আপনার স্ক্রিপ্টটি যতটা সম্ভব ইউনিক্সি ডায়ালেক্টের উপর অযৌক্তিকভাবে চালানো নিশ্চিত হওয়া বা কমপক্ষে বেশিরভাগ উপভাষায় আপনার মুখোমুখি হওয়ার সম্ভাবনা রয়েছে এবং এটিই এই পুরানো, অবহেলিত সামঞ্জস্যতার সমস্যা উদ্বেগের কারণ হয়ে উঠেছে ।
গুট্রাম ব্লহম

@ এলফজারো কারণ ওএস এক্স-এর সংস্করণটি বিএসডি সংস্করণ, যা জিএনইউ এর সাথে সামঞ্জস্যতা বজায় রেখেছে।
বর্মার

14

-fকিছুই করে না এটি historicতিহাসিক সামঞ্জস্যের জন্য রাখা হয়েছে (বিএসডি touchঅনুসারে info touch), যাতে অ্যাপ্লিকেশনগুলি যা এটির প্রত্যাশা করে তা পাস না করে এবং কোনও ত্রুটি বার্তা ফিরে পায় বলে এটি বিদ্যমান নেই। এটি জিএনইউ কোর্টিলস বলে ধরে নিলে, আপনি উত্সে দেখতে পারেন যে breakএটি কিছু না করে বিকল্প প্রসেসিং সুইচটির বাইরে চলে যায়।

উপেক্ষিত বিকল্প হিসাবে, 1992-এ যুক্ত -fহওয়া জিএনইউ touchকমান্ডের প্রথম সংস্করণ থেকে উপস্থিত রয়েছে (ভিন্ন দেখুন )। দেখে মনে হচ্ছে, কমপক্ষে ফ্রিবিএসডি ভি 9-তে, -f"ফাইলের অনুমতিগুলি বর্তমানে এটির অনুমতি না দেয় এমনকি" আপডেটটি জোর করার চেষ্টা [গুলি] (যেমন সুক্মিন্ডারের সন্ধান অনুসারে))


2
infoপৃষ্ঠা বলেছে উপেক্ষা করা; 'টাচ' এর বিএসডি সংস্করণগুলির সাথে সামঞ্জস্যের জন্য।
হিমেইল

@ হেইমাইল ব্যতীত আমি এমন কোনও বিএসডি খুঁজে পাইনি যা স্পর্শ করার জন্য "-f" যুক্তি দিয়ে জাহাজে পৌঁছেছে, সুতরাং এটি অবশ্যই বেশ পুরানো হবে be
ক্রিস ডাউন

হুম .. আমি সবেমাত্র কোরিউটিলস ম্যানুয়ালটি পরীক্ষা করেছি , যা বলে: "উপেক্ষা করা হয়েছে; বিএসডি সংস্করণের স্পর্শের সাথে সামঞ্জস্য করার জন্য।"
পান্ড্যা

3
-fফাইলের অনুমতি বিএসডি-তে অনুমতি দেওয়ার পরেও জোর করে আপডেট করার চেষ্টা করার জন্য / ব্যবহার করা হয়েছিল। ভি 10-এ নয়, তবে ভি 9: freebsd.org/cgi/… (কমপক্ষে ফ্রিবিএসডি এর)।
রানিয়াম

@ সুস্মিন্দার এস, ধন্যবাদ! আমি উত্তরে আপনার তথ্য যুক্ত করব।
ক্রিস ডাউন

12

যখনই আপনি "অপশন এক্সটিকে উপেক্ষা করা হবে" - হেল্প আউটপুট বা ম্যানপেজে দেখবেন, তার অর্থ: প্রোগ্রামটি এক্স বিকল্পটি গ্রহণ করে - আপনি একটি সিনট্যাক্স ত্রুটি পান না - তবে এর কোনও প্রভাব নেই। প্রোগ্রামটি অপশনের অভাবে এটি একই কাজ করে।

অন্যান্য উত্তরগুলি যেমন দেখায়, এটি পশ্চাদপদ সামঞ্জস্যের জন্য করা হয়। একটি বিকল্প ব্যবহার কিছু প্রভাব যাই হোক না কেন তা এখন আর দরকারী, এবং বিকল্প নির্বিশেষে একই জিনিস করছেন ডান সামঞ্জস্য আচরণ।


0

Historic তিহাসিক উত্স কোডটিতে মন্তব্যটি দেখার সময় , লাইন 22:

  22   -f                     (ignored)\n\

-f বিকল্পটি জিম মেয়ারিংয়ের প্রাথমিক প্রকাশের পর থেকে উপেক্ষা করার উদ্দেশ্যে ছিল।

এবং বিকল্পগুলি হ্যান্ডেল করতে স্যুইচ বিবৃতিতে কিছু করার জন্য একটি স্পষ্ট কেস (লাইন 150/151) রয়েছে:

 150         case 'f':
 151           break;

1992 এর পর থেকে নিম্নলিখিত লেখকরা এই বিকল্পটিকে এড়িয়ে চলতে উত্সাহিত করেছিল তা লক্ষণীয়। সম্ভবত একটি ব্যবহারের দৃশ্যের জন্য বিকল্প -f এবং অন্যথায় বিরতি প্রয়োজন?

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.