Unix file types
সাতটি স্ট্যান্ডার্ড ইউনিক্স ফাইলের ধরন হল নিয়মিত, ডিরেক্টরি, প্রতীকী লিঙ্ক, ফিফো বিশেষ, ব্লক বিশেষ, চরিত্র বিশেষ এবং পোসিক্স দ্বারা সংজ্ঞায়িত সকেট। বিভিন্ন ওএস-নির্দিষ্ট বাস্তবায়নগুলি পোসিক্সের প্রয়োজনের চেয়ে বেশি প্রকারের অনুমতি দেয় (যেমন। সোলারিস দরজা)। একটি ফাইলের ধরন ls-l কমান্ড দ্বারা চিহ্নিত করা যেতে পারে, যা ফাইল-সিস্টেম অনুমতি ক্ষেত্রের প্রথম অক্ষরের ধরন প্রদর্শন করে। নিয়মিত ফাইলগুলির জন্য, ইউনিক্স কোনও অভ্যন্তরীণ ফাইল কাঠামো আরোপ বা সরবরাহ করে না; অতএব, তাদের কাঠামো এবং ব্যাখ্যা সম্পূর্ণরূপে তাদের ব্যবহারকারী সফ্টওয়্যারের উপর নির্ভরশীল। তবে, ফাইল কমান্ডটি সাধারণত তাদের মধ্যে কী ধরনের তথ্য রয়েছে তা নির্ধারণ করতে ব্যবহার করা যেতে পারে। উপস্থাপনা সংখ্যাসূচক স্ট্যাট কাঠামোতে, ফাইলের ধরন এবং অনুমতি (মোড) একটি বিট ক্ষেত্রে একসাথে সংরক্ষণ করা হয়, যার আকার কমপক্ষে 12 বিট (সাতটি সম্ভাব্য ধরনের ফাইলের মধ্যে প্রকার নির্দিষ্ট করার জন্য 3 বিট; অনুমতির জন্য 9 বিট)। অনুমতিগুলির জন্য বিন্যাসটি পি. ও. এস. আই. এক্স দ্বারা কমপক্ষে-উল্লেখযোগ্য 9 বিট হিসাবে সংজ্ঞায়িত করা হয়েছে, তবে বাকিগুলি অনির্ধারিত। প্রচলিত নিয়ম অনুসারে, মোডটি একটি 16-বিট মান যা একটি শীর্ষস্থানীয় শূন্য ছাড়াই ছয়-সংখ্যার অষ্টক সংখ্যা হিসাবে লেখা হয়। বিন্যাস অংশটি সীসা 4-বিট (2 অষ্টক সংখ্যা) দখল করে এবং "010" (বাইনারিতে) সাধারণত একটি নিয়মিত ফাইলকে বোঝায়। পরবর্তী 3টি বিট (1 অঙ্ক) সাধারণত সেটুইড, সেটগিড এবং স্টিকির জন্য ব্যবহৃত হয়। শেষ অংশটি ইতিমধ্যেই অনুমতি ধারণ করার জন্য পোসিক্স দ্বারা সংজ্ঞায়িত করা হয়েছে। একটি সাধারণ ফাইলের জন্য একটি উদাহরণ হল "100644"। এই বিন্যাসটি অন্যান্য জায়গার মধ্যে গিট, টার এবং আর-এ দেখা যায়। এস. আই. এস. ডি. আই. আর-এর মতো ম্যাক্রো ব্যবহার করে ফাইলের ধরন পরীক্ষা করা যেতে পারে। এই ধরনের চেক সাধারণত এস. আই. এফ. এম. টি (প্রায়শই লিড 4 বিট কনভেনশনের জন্য অষ্টক সংখ্যা "170000") দিয়ে মোডটি মাস্ক করে এবং ফলাফল এস. আই. এফ. ডি. আই. আর-এর সাথে মেলে কিনা তা পরীক্ষা করে করা হয়। এস. আই. এফ. এম. টি একটি মূল পি. ও. এস. আই. এক্স ধারণা নয়, তবে একটি এক্স/ওপেন সিস্টেম ইন্টারফেস (এক্স. এস. আই) এক্সটেনশন; শুধুমাত্র পি. ও. এস. আই. এক্স-এর সাথে সামঞ্জস্যপূর্ণ সিস্টেমগুলি কিছু অন্যান্য পদ্ধতি ব্যবহার করতে পারে। মোড স্ট্রিং উদাহরণস্বরূপ ls-l আউটপুটে একটি লাইন নিনঃ drwxr-xr-x 2 মূল রুট 0 জানুয়ারী 1 1970 হোম পোসিক্স দীর্ঘ বিন্যাসের (-l বিকল্প) জন্য আউটপুটের বিন্যাস নির্দিষ্ট করে। বিশেষ করে, প্রথম ক্ষেত্রটিকে (প্রথম স্থানের আগে) "ফাইল মোড স্ট্রিং" বলা হয়, এখানে drwxr-xr-x। এর প্রথম অক্ষরটি ফাইলের ধরন বর্ণনা করে, এখানে ডি (ডিরেক্টরি)। এই স্ট্রিংয়ের বাকি অংশ ফাইলের অনুমতি নির্দেশ করে। বাস্তবায়নের উদাহরণ এল. এস-এর জি. এন. ইউ কোরিয়ুটিলস সংস্করণটি মোড স্ট্রিং পেতে একটি কল টু ফাইলমোড (), একটি গ্লিবসি ফাংশন (জি. এন. ইউ. এল. আই. বি লাইব্রেরিতে উন্মুক্ত) ব্যবহার করে। ফ্রিবিএসডি একটি সহজ পদ্ধতি ব্যবহার করে তবে অল্প সংখ্যক ফাইলের প্রকারের অনুমতি দেয়। ডিরেক্টরি সবচেয়ে সাধারণ বিশেষ ফাইল হল ডিরেক্টরি। একটি ডিরেক্টরি ফাইলের বিন্যাস ব্যবহৃত ফাইল সিস্টেম দ্বারা সংজ্ঞায়িত করা হয়। যেহেতু ইউনিক্সের অধীনে নেটিভ এবং নন-নেটিভ উভয় ক্ষেত্রেই বেশ কয়েকটি ফাইল সিস্টেম পাওয়া যায়, তাই কোনও একটি ডিরেক্টরি ফাইল বিন্যাস নেই। একটি ডিরেক্টরি এলএস-ডিএল বা স্ট্যাটের আউটপুটে মোড ক্ষেত্রের প্রথম অক্ষর হিসাবে ডি দিয়ে চিহ্নিত করা হয়, যেমন। $ls-dl/drwxr-xr-x 26 রুট রুট 4096 সেপ্টেম্বর 22 09:29/$স্ট্যাট/ফাইলঃ "/" আকারঃ 4096 ব্লকঃ 8 আইও ব্লকঃ 4096 ডিরেক্টরি ডিভাইসঃ 802h/2050d ইনোডঃ 128 লিঙ্কঃ 26 অ্যাক্সেসঃ (0755/drwxr-xr-x) ইউআইডিঃ (0/রুট) জিডঃ (0/রুট)। প্রতীকী লিঙ্ক একটি প্রতীকী লিঙ্ক হল অন্য ফাইলের একটি রেফারেন্স। এই বিশেষ ফাইলটি রেফারেন্স করা ফাইলের পথের পাঠ্য উপস্থাপনা হিসাবে সংরক্ষণ করা হয় (যার অর্থ গন্তব্য একটি আপেক্ষিক পথ হতে পারে, বা আদৌ বিদ্যমান নাও থাকতে পারে)। একটি প্রতীকী লিঙ্ক মোড স্ট্রিংয়ের প্রথম অক্ষর হিসাবে একটি এল (ছোট হাতের এল) দিয়ে চিহ্নিত করা হয়, যেমন। এই সংক্ষিপ্ত ls-l আউটপুটেঃ lrwxrwxrwx. টার্মক্যাপ->/usr/শেযর/মিস্ক/টার্মক্যাপ lrwxrwxrwx. S03xinetd->/init. d/xinetd FIFO (পাইপ নামে পরিচিত) ইউনিক্সের একটি অন্যতম শক্তি হল আন্তঃপ্রক্রিয়া যোগাযোগ। ওএস দ্বারা প্রদত্ত সুবিধাগুলির মধ্যে রয়েছে পাইপ, যা একটি প্রক্রিয়ার আউটপুটকে অন্যটির ইনপুটের সাথে সংযুক্ত করে। এটি ঠিক আছে যদি উভয় প্রক্রিয়া একই ব্যবহারকারীর দ্বারা শুরু করা একই মূল প্রক্রিয়া স্থানে বিদ্যমান থাকে, তবে এমন পরিস্থিতি রয়েছে যেখানে যোগাযোগ প্রক্রিয়াগুলিকে অবশ্যই এফআইএফও ব্যবহার করতে হবে, এখানে নামযুক্ত পাইপ হিসাবে উল্লেখ করা হয়েছে। এরকম একটি পরিস্থিতি ঘটে যখন প্রক্রিয়াগুলি বিভিন্ন ব্যবহারকারীর নাম এবং অনুমতির অধীনে কার্যকর করা আবশ্যক। নামযুক্ত পাইপগুলি হল বিশেষ ফাইল যা ফাইল সিস্টেমের যে কোনও জায়গায় থাকতে পারে। এগুলি mkfifo মাইপাইপের মতো mkfifo কমান্ড দিয়ে তৈরি করা যেতে পারে। একটি নামযুক্ত পাইপকে মোড স্ট্রিংয়ের প্রথম অক্ষর হিসাবে পি দিয়ে চিহ্নিত করা হয়, যেমন। এই সংক্ষেপে এলএস-এল আউটপুটঃ পিআরডাব্লু-আরডাব্লু----. মাইপাইপ সকেট একটি বিশেষ ফাইল যা আন্তঃপ্রক্রিয়া যোগাযোগের জন্য ব্যবহৃত হয়, যা দুটি প্রক্রিয়ার মধ্যে যোগাযোগ সক্ষম করে। তথ্য পাঠানোর পাশাপাশি, প্রক্রিয়াগুলি একটি ইউনিক্স ডোমেইন সকেট সংযোগ জুড়ে ফাইল বর্ণনাকারী পাঠাতে পারে সেন্ডএমএসজি () এবং আরইসিভিএমএসজি () সিস্টেম কল ব্যবহার করে। নামযুক্ত পাইপগুলির বিপরীতে যা শুধুমাত্র একমুখী তথ্য প্রবাহের অনুমতি দেয়, সকেটগুলি সম্পূর্ণ দ্বৈত-সক্ষম। একটি সকেটকে মোড স্ট্রিংয়ের প্রথম অক্ষর হিসাবে এস দিয়ে চিহ্নিত করা হয়, যেমন। ইউনিক্সে, প্রায় সমস্ত জিনিস ফাইল হিসাবে পরিচালিত হয় এবং ফাইল সিস্টেমে একটি অবস্থান থাকে, এমনকি হার্ড ড্রাইভের মতো হার্ডওয়্যার ডিভাইসগুলিও। বড় ব্যতিক্রম হল নেটওয়ার্ক ডিভাইস, যা ফাইল সিস্টেমে উপস্থিত হয় না কিন্তু আলাদাভাবে পরিচালিত হয়। ডিভাইস ফাইলগুলি ডিভাইসে অ্যাক্সেসের অধিকার প্রয়োগ করতে এবং উপযুক্ত ডিভাইস ড্রাইভারদের কাছে ফাইলগুলির ক্রিয়াকলাপ পরিচালনা করতে ব্যবহৃত হয়। ইউনিক্স চরিত্রগত যন্ত্র এবং ব্লক যন্ত্রের মধ্যে পার্থক্য করে। পার্থক্যটি মোটামুটিভাবে নিম্নরূপঃ চরিত্রের যন্ত্রগুলি শুধুমাত্র ইনপুটের একটি ক্রমিক প্রবাহ সরবরাহ করে বা আউটপুট ব্লক যন্ত্রগুলির একটি ক্রমিক প্রবাহ গ্রহণ করে যা এলোমেলোভাবে অ্যাক্সেসযোগ্য যদিও, উদাহরণস্বরূপ, ডিস্ক পার্টিশনে উভয় অক্ষরের যন্ত্র থাকতে পারে যা পার্টিশনের ব্লকগুলিতে আন-বাফারড র্যান্ডম অ্যাক্সেস সরবরাহ করে এবং ব্লক ডিভাইসগুলি যা পার্টিশনের ব্লকগুলিতে বাফারড র্যান্ডম অ্যাক্সেস সরবরাহ করে। একটি অক্ষর যন্ত্রকে মোড স্ট্রিংয়ের প্রথম অক্ষর হিসাবে সি দিয়ে চিহ্নিত করা হয় এবং একটি ব্লক যন্ত্রকে বি দিয়ে চিহ্নিত করা হয়, যেমন। এই সংক্ষেপে এলএস-এল আউটপুটঃ সিআরডাব্লু-আরডাব্লু-আরডাব্লু-./ডেভ/নাল ব্রডাব্লু-আরডাব্লু-----/ ডেভ/এসডিএ রেফারেন্স ইউনিক্স ফাইল সিস্টেম প্রযুক্তি