লিনাক্স শুরুর সময় আপনি কিছু নতুন টার্মিনোলজি এবং লিঙ্গোর সámica করবেন যেগুলো আপনার কাছে অপরিচিত। অনেক ব্যবহারকারীর জন্য এটি কিছু নতুন শেখার সুযোগ, অন্যদের জন্য অনাবশ্যক জার্গনের ব্যবহার লিনাক্স ও ওপেন সোর্স বিশ্বকে জটিল করে তুলে।
আপনি যদি একই জুতায় থাকেন কিন্তু লিনাক্সের ইউনিকনেস গ্রহণ করার চেয়ে পলায়ন করার চেয়ে, তবে আমরা কিছু সবচেয়ে সাধারণ লিনাক্স টার্ম, জার্গন, এবং লিঙ্গো সংকলন করেছি যাতে লিনাক্সে আপনার ট্রানজিশন যতটা সম্ভব স্মূথ হয়।
১. লিনাক্স
সর্বाधিক সাধারণ ও প্রমুখ টার্ম দিয়ে শুরু: "লিনাক্স।" আপনি ভাবতে পারেন যে যে কেউ লিনাক্স ইনস্টল করেছেন সে স্বাভাবিকভাবেই জানে এটি কী। কিন্তু প্রতিবার এটা সত্য নয়। কিছু ব্যবহারকারীর ভুল ধারণা আছে যে লিনাক্স একটি অপারেটিং সিস্টেম। বরং, লিনাক্স হল একটি ফ্রি ও ওপেন-সোর্স কার্নেল যা লাইনাস টরভাল্ডস ১৯৯১ সালে ডেভেলপ করেছেন, যা আমাদের পরবর্তী জার্গনে আনে।
২. কার্নেল
কার্নেল হল আপনার কম্পিউটারের যে অংশটি অপারেটিং সিস্টেমকে হার্ডওয়্যারের সাথে ইন্টারঅ্যাক্ট করতে সাহায্য করে। আপনি যখন মাউস দিয়ে অন-স্ক্রিন বাটনে ক্লিক করেন বা কীবোর্ডে কোনো কী প্রেস করেন, তখন তথ্যটি কার্নেলের মধ্য দিয়ে যায় যা Folge ওএসের সাথে কমিউনিকেট করে ডেটা ইনপুট হিসেবে নেওয়া এবং হার্ডওয়্যার (মনিটর) ব্যবহার করে আউটপুট প্রদর্শন করা।
৩. GNU
GNU, "GNU's Not Unix" এর একটি রিকার্সিভ এক্রোনিম, হল ওপেন-সোর্স টুলের একটি সংকলন যা কেউই ফ্রিতে ব্যবহার করতে পারে নিজের অ্যাপ ও অপারেটিং সিস্টেম ডেভেলপ করতে। রিচার্ড স্টলম্যান द्वारा প্রতিষ্ঠিত GNU প্রজেক্ট, ফ্রি সফটওয়্যার ডেভেলপ ও ডিস্ট্রিবিউট করার লক্ষ্যে কাজ করে এবং প্রতিটি ডেভেলপারকে ওপেন-সোর্স টুল প্রদান করে।
লিনাক্স কার্নেল GNU-এর GPL (General Public License) আন্ডারে লাইসেন্সড এবং তাই এটিকে GNU/লিনাক্স নামে ডাকা হয়। ওপেন-সোর্স GNU টুল এবং লিনাক্স কার্নেল ব্যবহার করে যে কোনো অপারেটিং সিস্টেম ডেভেলপ করা হয়, সেটি লিনাক্স ডিস্ট্রিবিউশনের ক্যাটেগরিতে পড়ে। কিন্তু ডিস্ট্রিবিউশন কী, আপনি জিজ্ঞাসা করতে পারেন?
৪. ডিস্ট্রিবিউশন (স্পিনস, ফ্লேভার্স, এবং রিমিক্সেস)
উপরোক্ত কথা অনুযায়ী, কম্পিউটার হার্ডওয়্যারের সাথে কমিউনিকেশন করার জন্য লিনাক্স কার্নেল ব্যবহার করে এমন যেকোনো অপারেটিং সিস্টেমকে লিনাক্স ডিস্ট্রিবিউশন বলা হয়। "ডিস্ট্রিবিউশন" শব্দটি, বা সংক্ষেপে ডিস্ট্রো, শেয়ারিং প্রসেস থেকে এসেছে, মূলত লিনাক্স-ভিত্তিক অপারেটিং সিস্টেমগুলো ফ্রিতে "ডিস্ট্রিবিউট" করার প্রক্রিয়া।
ডেভেলপাররা এবং লিনাক্স টিংকারেররাও মেইনস্টREAM লিনাক্স ডিস্ট্রোর স্পিনস ও রিমিক্সেস রিলিজ করে। একটি "স্পিন" বা "রিমিক্স" মূল অপারেটিং সিস্টেমের একটি কাস্টমাইজড বা ডেরাইভড ভার্সনকে বোঝায়। সাধারণত, বেস ওএস এবং এর স্পিনের পার্থক্য ডেস্কটপ ইন্টারফেস বা প্যাকেজ সিলেকশনে থাকে, বা উভয়েই।
উবুন্টু নিই উদাহরণস্বরূপ। এর নিজস্ব কয়েকটি ফ্লেভার আছে যেন Xubuntu, Lubuntu, এবং Kubuntu, প্রত্যেকটি ভিন্ন ডেস্কটপ এনভায়রনমেন্ট সহ। একইভাবে, ফেডোরা তার অনঅফিশিয়াল ডেরাইভেটিভগুলোকে "স্পিনস" বলে। মোটামুটি, স্পিন, রিমিক্স, এবং ফ্লেভার - প্রতিটি একই অর্থ বহন করে।
৫. ডেস্কটপ এনভায়রনমেন্টস
ব্যবহারকারীদের জন্য কম্পিউটিং সহজ করার জন্য, অপারেটিং সিস্টেমগুলোর একটি ডেস্কটপ থাকে যা সিস্টেম ম্যানেজ করার একটি গ্রাফিক্যাল উপায় প্রদান করে। উইন্ডোজ এবং macOS তাদের সিগনেচার ডেস্কটপের জন্য বিখ্যাত, কিন্তু লিনাক্স তার কাজ ভিন্নভাবে করে।
লিনাক্সে, আপনি অনেক ডেস্কটপ পাবেন, যাদের আরও ভালোভাবে ডেস্কটপ এনভায়রনমেন্ট বলা হয়, যেগুলো ফ্রিতে ইনস্টল করার জন্য উপলব্ধ। ডেস্কটপ এনভায়রনমেন্ট সাধারণত একটি উইন্ডো ম্যানেজার প্রোগ্রাম এবং বেশ কিছু অ্যাপ ও উইজেটের সাথে আসে যা, উইন্ডো ম্যানেজারের সাথে একত্রিত হলে, ইউজার এক্সপেরিয়েন্স সমৃদ্ধ করে। কিছু জনপ্রিয় ডেস্কটপ এনভায়রনমেন্ট হল GNOME, KDE Plasma, XFCE, Pantheon, এবং LXDE।
৬. উইন্ডো ম্যানেজার্স
উইন্ডো ম্যানেজার হল প্রোগ্রাম যা আপনার স্ক্রিনে উইন্ডোর প্লেসমেন্ট এবং মুভমেন্ট কন্ট্রোল করে। যদিও উইন্ডো ম্যানেজার সাধারণত ডেস্কটপ এনভায়রনমেন্টের সাথে পেছনে থেকে কাজ করে, আপনি সেগুলো আলাদাভাবেও আপনার লিনাক্স মেশিনে ব্যবহার করতে পারেন। সেগুলো নন-টেকনিক্যাল ব্যবহারকারীদের জন্য সেট আপ করা কিছুটা জটিল হতে পারে, যা মূলত কারণ যে সবাই সেগুলো প্রথম পছন্দ করে না।
উইন্ডো ম্যানেজার লাইটওয়েট এবং ডেস্কটপ এনভায়রনমেন্টের চেয়ে ভালো পারফরম্যান্স দেয় কারণ সেগুলো অপ্রয়োজনীয় অ্যাপ ও উইজেটের সাথে শিপ করে না। আপনি যদি উইন্ডো ম্যানেজার বেছে নেন, তবে আপনাকে একটি স্ট্যান্ডঅ্যালোন মেনু এবং কম্পোজিটরও ইনস্টল করতে হবে।
i3wm, bspwm, awesome, এবং Fluxbox কিছু জনপ্রিয় উইন্ডো ম্যানেজার। KDE Plasma এবং GNOME ডেস্কটপ हुडের নিচে KWin এবং Mutter উইন্ডো ম্যানেজার ব্যবহার করে।
৭. টার্মিনাল
আপনি যদি লিনাক্সে নতুন হন, তবে আপনি একটি কালো উইন্ডো যা অনেক টেক্সট लिये আছে তার ঝলক পাওয়ার কথা মনে করতে পারেন। সেটিই লিনাক্স টার্মিনাল, যাকে কমান্ড লাইন ও বলা হয়।
টার্মিনাল হল একটি প্রোগ্রাম যা আপনার অপারেটিং সিস্টেমের শেল কন্ট্রোল করতে ব্যবহৃত হয়। একটি শেল হল একটি টেক্সট-ভিত্তিক বা গ্রাফিক্যাল ইন্টারফেস যা আপনি আপনার ডেস্কটপের সাথে ইন্টারঅ্যাক্ট করতে ব্যবহার করেন। লিনাক্স টার্মিনাল উইন্ডোজের কমান্ড প্রম্পটের সমান এবং এটি একটি অ্যাডমিনিস্ট্রেটরকে তাদের সিস্টেম দক্ষতার সাথে কন্ট্রোল ও ম্যানেজ করতে সাহায্য করে।
অন্যান্য ওএসগুলোরা টার্মিনাল এমুলেটর ব্যবহার করা থেকে দীর্ঘ আগে आगे বড়েছে, কিন্তু কমান্ড লাইন লিনাক্স-ভিত্তিক অপারেটিং সিস্টেমগুলোর সaden이라도 প্রചলিত।
৮. রুট
লিনাক্সে, রুট দুটি জিনিস বোঝায়: রুট ডিরেক্টরি এবং রুট ইউজার। রুট ডিরেক্টরি হল প্যারেন্ট ডিরেক্টরি যেটি আপনার সিস্টেমের সকল ফাইল ও ফোল্ডার ধারণ করে। আপনি আপনার কমান্ডে রুট ডিরেক্টরি বোঝাতে 와일্ডকার্ড "/" (ফরওয়ার্ড স্ল্যাশ) ব্যবহার করতে পারেন।
অন্যদিকে, রুট ইউজার, যাকে সুপারইউজারও বলা হয়, বা সাদা রুট, সে ইউজার যিনি সকল অ্যাডমিনিস্ট্রেটিভ প্রিভিলেজ রাখেন। রুট ইউজার যেকোনো ফাইল ভিউ ও এডিট করতে পারেন, সিস্টেম বা অন্যান্য ইউজারে পরিবর্তন আনতে পারেন, এবং এমনকি পুরো ডিরেক্টরি হায়ারার্কি ডিলিট করতে পারেন। সহজ কথায়, এটি সর্বোচ্চ কন্ট্রোলযুক্ত লিনাক্স ইউজার।
৯. প্যাকেজ ম্যানেজার্স
লিনাক্সে, অ্যাপগুলো প্যাকেজের আকারে ডিস্ট্রিবিউট হয় এবং আপনার ডিস্ট্রিবিউশনের অফিশিয়াল রিপোজিটরিতে উপলব্ধ থাকে। একটি প্যাকেজ ম্যানেজার হল একটি প্রোগ্রাম যা লিনাক্স সিস্টেমে প্যাকেজ ম্যানেজ করতে ব্যবহৃত হয়। এটি আপনাকে আপনার ডিস্ট্রোর রিপোজিটরি থেকে প্যাকেজ যোগ বা ডিলিট করতে দেয়। আপনি প্যাকেজ ম্যানেজার দিয়ে অডিশনাল থার্ড-পার্টি রিপোজিটরিও যোগ করতে পারেন যদি চান।
APT, RPM, এবং pacman - লিনাক্স ডিস্ট্রোতে পাওয়া যাওয়া তিনটি সবচেয়ে জনপ্রিয় প্যাকেজ ম্যানেজার। ডেবিয়ান এবং উবুন্টু-ভিত্তিক ডিস্ট্রিবিউশন APT প্যাকেজ ম্যানেজার ব্যবহার করে; ফেডোরা, CentOS, এবং RHEL-এ RPM প্যাকেজ ম্যানেজার থাকে, যেখানে আর্ক লিনাক্স এবং এর ডেরাইভেটিভস pacman-এর সাথে শিপ করে।
১০. সোর্স এবং বাইনারি প্যাকেজ
লিনাক্সে একটি প্যাকেজ হল একটি আর্কাইভ যেটি একটি প্রোগ্রামের এক্সিকিউশন বা ইনস্টলেশনের জন্য প্রয়োজনীয় ফাইলগুলো ধারণ করে। লিনাক্সে সফটওয়্যার সাধারণত প্যাকেজ হিসেবে ডিস্ট্রিবিউট হয় এবং ব্যবহারকারীদের জন্য দুটি ধরণের প্যাকেজ উপলব্ধ: সোর্স এবং বাইনারি প্যাকেজ।
সোর্স প্যাকেজে একটি প্রোগ্রামের সোর্স কোড থাকে যা একজন ইউজারকে ম্যানুয়ালি কম্পাইল ও ইনস্টল করতে হয় সফটওয়্যার চালানোর জন্য। একটি বাইনারি প্যাকেজ, অন্যদিকে, সফটওয়্যারের জন্য প্রি-বিল্ট এবং প্রি-কম্পাইলড এক্সিকিউটেবল ধারণ করে।
১১. রিপোজিটরি
সফটওয়্যার রিপোজিটরি হল রিমোট সার্ভার যেগুলো প্যাকেজের একটি সংকলন এবং সম্পর্কিত মেটাডেটা স্টোর করে। প্রতিটি লিনাক্স ডিস্ট্রোর হয় নিজস্ব রিপোজিটরি সেট থাকে বা তার প্যারেন্ট ডিস্ট্রোর রিপোজিটরি ব্যবহার করে ব্যবহারকারীদের সফটওয়্যার প্রদান করে।
১২. বুটলোডার (GRUB)
একটি বুটলোডার হল আপনার কম্পিউটার বুট করার জন্য দায়ী প্রোগ্রাম। সাধারণত, অপারেটিং সিস্টেম এবং এর ডেটা নন-ভোলেটাইল স্টোরেজ ডিস্কে স্টোর থাকে, HDD উদাহরণস্বরূপ। বুটলোডার বুট টাইমে সঠিক অপারেটিং সিস্টেম লোড করতে সাহায্য করে এবং প্রাথমিক প্রসেসগুলো মেমরিতে অ্যাড করে।
GRUB হল উইন্ডোজকে লিনাক্সের সাথে ডুয়াল-বুট করার সময় সবচেয়ে বেশি ব্যবহৃত বুটলোডারlerden একটি। অন্যান্য উদাহরণ হল LILO, BURG, এবং Syslinux।
১৩. প্রসেস
আপনার সিস্টেমে আপনি যেকোনো প্রোগ্রাম লঞ্চ করেন সেটি ব্যাকগ্রাউন্ডে প্রসেসের একটি সংকলন হিসেবে চলে। একটি প্রসেস হল একটি চলমান প্রোগ্রামের মৌলিক উদাহরণ যা আপনার কম্পিউটারে কম্পিউটেশন করে।
আপনি যা ইন্টারনেট ব্রাউজ করতে খুললেন সেই ওয়েব ব্রাউজার একটি প্রসেস, বা প্রসেসের একটি সেট লঞ্চ করে যা আপনাকে এর সাথে ইন্টারঅ্যাক্ট করতে এবং ইন্টারনেট ব্রাউজ করতে সাহায্য করে। একইভাবে, আপনার সিস্টেমের ফাইল ম্যানেজার, টার্মিনাল, মিডিয়া প্লেয়ার, এবং অন্যান্য সকল প্রোগ্রাম আউটপুট প্রোডিউস করতে প্রসেসের ওপর নির্ভর করে।
১৪. শেলস (Bash, Zsh, ইত্যাদি)
উপরোক্ত উल्लেখ অনুযায়ী, একটি শেল হল একটি ইন্টারফেস যা আপনাকে আপনার সিস্টেমের সাথে ইন্টারঅ্যাক্ট করতে সাহায্য করে। এটি কমান্ড-লাইন ইন্টারফেস হতে পারে টার্মিনালের মতো বা গ্রাফিক্যাল হতে পারে GNOME Shell-এর মতো। একটি শেল যেকোনো কমান্ড আপনি টার্মিনালে লিখলে সেটির জন্য একটি কমান্ড ইন্টারপ্রিটার হিসেবে কাজ করে।
আপনি লিনাক্সে বেশ কিছু ভিন্ন শেল ইনস্টল করতে পারেন। উদাহরণস্বরূপ Bash, Zsh, Fish, sh, Ksh, ইত্যাদি। প্রতিটি শেলের একই ভূমিকা: ব্যবহারকারী এবং প্রসেসকে সিস্টেমের অন্যান্য প্রসেসের সাথে ইন্টারঅ্যাক্ট করতে সাহায্য করা।
১৫. শেল স্ক্রিপ্টিং
যখন আপনি একসাথে অনেক লিনাক্স কমান্ড লিখে সেগুলো একটি একক ফাইলে র্যাপ করে দেন, তখন ফলাফলস্বরূপ ফাইলটি "শেল স্ক্রিপ্ট" নামে ডাকা হয়। শেল স্ক্রিপ্টিং হল লিনাক্স কমান্ড ব্যবহার করে স্ক্রিপ্ট লিখার প্রক্রিয়া, যা আপনার সিস্টেমে ইনস্টলড শেল দ্বারা ইন্টারপ্রেট হয়। ব্যাচ স্ক্রিপ্ট হল লিনাক্সে শেল স্ক্রিপ্টের উইন্ডোজ সমতুল্য।
শেল স্ক্রিপ্টিংর সবচেয়ে জনপ্রিয় ফরম হল Bash স্ক্রিপ্টিং, যা Bash শেল ব্যবহার করে স্ক্রিপ্ট লিখা ও এক্সিকিউট করার প্রক্রিয়া বোঝায়। শেল স্ক্রিপ্ট আপনার লিনাক্স মেশিনে টাস্ক অটোমেট করার একটি শক্তিশালী উপায়; সেগুলো কম্পিউটিংকে ব্যবহারকারীদের জন্য অনেক সহজ এবং মজेदार করে তোলে।
লিনাক্স সম্পর্কে আরও অনেক কিছু শিখতে বাকি!
টার্ম এবং জার্গন জানা আপনাকে লিনাক্স পাওয়ার ইউজার হওয়ার লক্ষ্যের এক ধাপ কাছাকাছি নিয়ে আসে। লিনাক্সকে এর পুরো পটেনশিয়ালে ব্যবহার করতে পারতে, আপনাকে কমান্ড লাইন দক্ষ হওয়া উচিত এবং জানা উচিত কীভাবে অপারেটিং সিস্টেমকে ট্রাবলশুট করতে হয় যাতে সেটি আপনার জন্য কাজ করে, 나 অন্যথা।