File (command)
ফাইল কমান্ড হল ইউনিক্স এবং ইউনিক্স-সদৃশ অপারেটিং সিস্টেমের একটি স্ট্যান্ডার্ড প্রোগ্রাম যা কম্পিউটার ফাইলের মধ্যে থাকা তথ্যের ধরন শনাক্ত করার জন্য। ফাইলের মূল সংস্করণটি 1973 সালে ইউনিক্স রিসার্চ ভার্সন 4-এ উদ্ভূত হয়েছিল। সিস্টেম ভি বেশ কয়েকটি গুরুত্বপূর্ণ পরিবর্তন সহ একটি বড় আপডেট নিয়ে এসেছিল, বিশেষত ফাইলের ধরণের তথ্যকে বাইনারিতে সংকলন করার পরিবর্তে একটি বাহ্যিক পাঠ্য ফাইলে স্থানান্তরিত করে। বেশিরভাগ প্রধান বিএসডি এবং লিনাক্স ডিস্ট্রিবিউশনগুলি একটি ফ্রি, ওপেন-সোর্স রিইম্প্লিমেন্টেশন ব্যবহার করে যা ইয়ান ডারউইন স্ক্র্যাচ থেকে 1986-87-এ লিখেছিলেন; এটি সিস্টেম ভি সংস্করণের উপর ভিত্তি করে একটি বিন্যাস সহ একটি টেক্সট ফাইলে ফাইলের ধরণের তথ্য রাখে। এটি 1989 সালে জিওফ কলিয়ার দ্বারা প্রসারিত হয়েছিল এবং তারপর থেকে গাই হ্যারিস, ক্রিস লোথ এবং এরিক ফিশার সহ আরও অনেকের কাছ থেকে ইনপুট পেয়েছে; 1993 সালের শেষের দিক থেকে এর রক্ষণাবেক্ষণ ক্রিস্টোস জোলাস দ্বারা সংগঠিত হয়েছে। ওপেনবিএসডি সিস্টেমের স্ক্র্যাচ থেকে লিখিত নিজস্ব উপসেট বাস্তবায়ন রয়েছে, তবে এখনও ম্যাজিক ফাইল ফর্ম্যাট করা তথ্যের ডারউইন/জোলাস সংগ্রহ ব্যবহার করে। কমান্ডটি আইবিএম আই অপারেটিং সিস্টেমেও পোর্ট করা হয়েছে। একক ইউনিক্স নির্দিষ্টকরণ (এস. ইউ. এস) নির্দিষ্ট করে যে কমান্ড লাইনে নির্দিষ্ট করা ফাইলটিতে একাধিক পরীক্ষা করা হয়ঃ যদি ফাইলটি পড়া না যায়, বা এর ইউনিক্স ফাইলের ধরণ অনির্ধারিত থাকে, তবে ফাইল প্রোগ্রামটি নির্দেশ করবে যে ফাইলটি প্রক্রিয়া করা হয়েছিল কিন্তু এর ধরণ অনির্ধারিত ছিল। ফাইল অবশ্যই ডিরেক্টরি, ফিফো, সকেট, ব্লক স্পেশাল ফাইলের ধরন নির্ধারণ করতে সক্ষম হতে হবে এবং চরিত্র বিশেষ ফাইল শূন্য-দৈর্ঘ্যের ফাইলগুলি চিহ্নিত করা হয় যেমন ফাইলের প্রাথমিক অংশটি বিবেচনা করা হয় এবং ফাইলটি অবস্থান-সংবেদনশীল পরীক্ষা ব্যবহার করার জন্য সমগ্র ফাইলটি বিবেচনা করা হয় এবং ফাইলটি প্রসঙ্গ-সংবেদনশীল পরীক্ষা ব্যবহার করার জন্য ফাইলটি একটি ডেটা ফাইল ফাইল হিসাবে চিহ্নিত করা হয় এর অবস্থান-সংবেদনশীল পরীক্ষাগুলি সাধারণত ম্যাজিক নম্বরের পাঠ্য ডাটাবেসের বিরুদ্ধে ফাইলের মধ্যে বিভিন্ন অবস্থানের সাথে মিলে প্রয়োগ করা হয় (ব্যবহার বিভাগ দেখুন)। এটি অন্যান্য সহজ পদ্ধতি যেমন ফাইল এক্সটেনশন এবং এম. আই. এম. ই-এর মতো স্কিমগুলির থেকে আলাদা। সিস্টেম ভি বাস্তবায়নে, ইয়ান ডারউইন বাস্তবায়নে এবং ওপেনবিএসডি বাস্তবায়নে, ফাইল কমান্ডটি লিড বাইটগুলির অনুসন্ধান চালানোর জন্য একটি ডাটাবেস ব্যবহার করে। সেই ডাটাবেসটি ম্যাজিক নামে একটি ফাইলে প্রয়োগ করা হয়, যার অবস্থান সাধারণত/ইত্যাদি/ম্যাজিক,/ইউএসআর/শেয়ার/ফাইল/ম্যাজিক বা অনুরূপ অবস্থানে থাকে। ব্যবহার এস. ইউ. এস নিম্নলিখিত বিকল্পগুলি বাধ্যতামূলক করেঃ-এম ফাইল, অবস্থান-সংবেদনশীল পরীক্ষা সম্বলিত বিশেষভাবে বিন্যাসিত একটি ফাইল নির্দিষ্ট করুন; ডিফল্ট অবস্থান-সংবেদনশীল পরীক্ষা এবং প্রসঙ্গ-সংবেদনশীল পরীক্ষা করা হবে না। - এম ফাইল,-এম-এর জন্য, কিন্তু ডিফল্ট পরীক্ষা ফাইলের মধ্যে থাকা পরীক্ষার পরে করা হবে। - d, প্রদত্ত ফাইলের ডিফল্ট অবস্থান-সংবেদনশীল এবং প্রসঙ্গ-সংবেদনশীল পরীক্ষা সম্পাদন করুন;-M বা-m নির্দিষ্ট না করা পর্যন্ত এটি ডিফল্ট আচরণ। - এইচ, কোনও বিদ্যমান ফাইল বা ডিরেক্টরির দিকে নির্দেশ করে এমন প্রতীকী লিঙ্কগুলি উল্লেখ করবেন না। - এল, একটি বিদ্যমান ফাইল বা ডিরেক্টরির দিকে নির্দেশ করে এমন প্রতীকী লিঙ্কটি উল্লেখ করুন। - i, ফাইলটিকে অস্তিত্বহীন, একটি ব্লক বিশেষ ফাইল, একটি চরিত্র বিশেষ ফাইল, একটি ডিরেক্টরি, একটি ফিফো, একটি সকেট, একটি প্রতীকী লিঙ্ক বা একটি নিয়মিত ফাইল হিসাবে চিহ্নিত করা ছাড়া আর শ্রেণীবদ্ধ করবেন না। লিনাক্স এবং বিএসডি সিস্টেমগুলি এই বিকল্পের সাথে ভিন্নভাবে আচরণ করে এবং পরিবর্তে একটি ইন্টারনেট মিডিয়া টাইপ ("এমআইএমই টাইপ") আউটপুট করে যা স্বীকৃত ফাইল বিন্যাসকে চিহ্নিত করে। অন্যান্য ইউনিক্স এবং ইউনিক্স-সদৃশ অপারেটিং সিস্টেমগুলি এর চেয়ে অতিরিক্ত বিকল্প যোগ করতে পারে। ইয়ান ডারউইনের বাস্তবায়নে আরও অনেক কিছুর মধ্যে-'বিশেষ ফাইল',-কে 'কিপ-গোয়িং' বা-আর 'র' (নীচের উদাহরণ) যোগ করা হয়েছে। কমান্ডটি কেবল ফাইলটি দেখতে কেমন তা বলে, এটি কী তা নয় (যদি ফাইলটি বিষয়বস্তু দেখে)। একটি ফাইলে একটি ম্যাজিক নম্বর রেখে প্রোগ্রামটিকে বোকা বানানো সহজ, যার বিষয়বস্তু এটির সাথে মেলে না। সুতরাং কমান্ডটি নির্দিষ্ট পরিস্থিতি ব্যতীত অন্য কোনও নিরাপত্তা সরঞ্জাম হিসাবে ব্যবহারযোগ্য নয়। উদাহরণস্বরূপ $ফাইল file.c file.c: সি প্রোগ্রাম টেক্সট $ফাইল প্রোগ্রামঃ ইএলএফ 32-বিট এলএসবি এক্সিকিউটেবল, ইন্টেল 80386, সংস্করণ 1 (এসওয়াইএসভি), গতিশীলভাবে সংযুক্ত (ভাগ করা লিব ব্যবহার করে), স্ট্রিপ করা $ফাইল/ডেভ/এইচডিএ1/ডেভ/এইচডিএ1: ব্লক স্পেশাল (0/0) $ফাইল-এস/ডেভ/এইচডিএ1/ডেভ/এইচডিএ1: লিনাক্স/আই386 এক্সটি2 ফাইল সিস্টেম নোট করুন যে-এস একটি অ-মানক বিকল্প যা শুধুমাত্র ইয়ান ডারউইন শাখায় উপলব্ধ, যা ফাইলকে ডিভাইস ফাইলগুলি পড়তে বলে এবং কেবল ডিভাইস ফাইল হিসাবে চিহ্নিত করার পরিবর্তে তাদের বিষয়বস্তু সনাক্ত করার চেষ্টা করে। সাধারণত ফাইলটি ডিভাইস ফাইলগুলি পড়ার চেষ্টা করে না কারণ এই ধরনের ফাইল পড়ার ফলে অবাঞ্ছিত পার্শ্ব প্রতিক্রিয়া হতে পারে। $ফাইল-k-r libmagic-dev_5.35-4_armhf.deb #(লিনাক্সে) libmagic-dev_5.35-4_armhf.deb: ডেবিয়ান বাইনারি প্যাকেজ (বিন্যাস 2)-বর্তমান ar আর্কাইভ-ডেটা ইয়ান ডারউইনের অ-মানক বিকল্প-k এর মাধ্যমে প্রোগ্রামটি প্রথম আঘাতের পরেও থামে না, তবে অন্যান্য মিলযুক্ত নিদর্শনগুলির সন্ধান করে। - r বিকল্পটি, যা কিছু সংস্করণে পাওয়া যায়, অপ্রকাশিত নতুন লাইন অক্ষরটিকে তার অষ্টক উপস্থাপনার পরিবর্তে তার কাঁচা আকারে প্রদর্শিত করে। $ফাইল compressed.gz compressed.gz: gzip সংকুচিত তথ্য, ডিফ্লেটেড, মূল ফাইলের নাম, 'সংকুচিত', সর্বশেষ পরিবর্তিত হয়েছেঃ থু জানুয়ারী 26 14:08:23 2006, ওএসঃ ইউনিক্স $ফাইল-আই compressed.gz #(লিনাক্সে) compressed.gz: অ্যাপ্লিকেশন/এক্স-জিপ; চারসেট = বাইনারি $ফাইল data.ppm data.ppm: নেটপিবিএম পিপিএম "রবিট" চিত্র ডেটা $ফাইল/বিন/বিড়াল/বিন/বিড়ালঃ ম্যাক-ও 2 টি স্থাপত্য/বিন/বিড়াল সহ সর্বজনীন বাইনারি (স্থাপত্যের জন্য পিপিসি7400): ম্যাক-ও এক্সিকিউটেবল পিপিসি/বিন/বিড়াল (স্থাপত্যের জন্য আই386) গ্রন্থাগার গ্রন্থাগার ফাইলের ইয়ান ডারউইন/ক্রিস্টোস জোলাস সংস্করণের সংস্করণ 4 হিসাবে, ফাইলের কার্যকারিতা একটি গ্রন্থাগার গ্রন্থাগারে অন্তর্ভুক্ত করা হয়েছে যা সি (এবং সি-সামঞ্জস্যপূর্ণ) লিঙ্কের মাধ্যমে অ্যাক্সেসযোগ্য; ফাইলটি সেই গ্রন্থাগার ব্যবহার করে প্রয়োগ করা হয়। রেফারেন্স এক্সটার্নাল লিঙ্ক ম্যানুয়াল পেজ-একটি অ-আয়ন ডারউইন বাস্তবায়ন-একটি অ-আয়ন ডারউইন, অ-এস. ইউ. এস বাস্তবায়ন অন্যান্য সূক্ষ্ম মুক্ত ফাইল কমান্ড-প্রধান বি. এস. ডি এবং লিনাক্স বিতরণে ব্যবহৃত ইয়ান ডারউইনের ফাইলের সংস্করণের হোমপেজ। মেইলিং লিস্ট বিনওয়াক প্রকাশ করে, একটি ফার্মওয়্যার বিশ্লেষণ সরঞ্জাম যা লিবম্যাজিক স্বাক্ষর ট্রাইডি-এর উপর ভিত্তি করে ফাইলগুলি খোদাই করে, একটি বিকল্প যা পরিসংখ্যানের উপর ভিত্তি করে র্যাঙ্কযুক্ত উত্তর (শুধুমাত্র একটির পরিবর্তে) প্রদান করে। স্ট্যান্ডার্ড ইউনিক্স প্রোগ্রামগুলি ইউনিক্স এসইউএস2008 ইউটিলিটি প্ল্যান 9 আইবিএম আই কিউশেল কমান্ডগুলিকে নির্দেশ করে