ডেটার ক্ষেত্রে "আরও বেশি" এবং "আরও দ্রুত" - এই দুটোই আমাদের চাহিদা। কিন্তু সমস্যা হলো "আরও বেশি" এবং "আরও দ্রুত" সাধারণত একে অপরের বিপরীত। এখানেই ফাইল কম্প্রেশন বা সংকোচনের প্রয়োজনীয়তা পড়ে। লিনাক্সে ফাইল জিপ এবং আনজিপ করার кільটি পদ্ধতি রয়েছে, এবং আমরা আপনাকে সেগুলোর পেছনের পদ্ধতিগুলো দেখাব।
প্রায় সকল লিনাক্স ডিস্ট্রিবিউশনে (সাধারণত যাকে লিনাক্স ডিস্ট্রো বলা হয়) বেশ কিছু কম্প্রেশন টুল বিল্ট-ইন রয়েছে। এর মাঝে জিপ (Zip) সম্ভবত সবচেয়ে জনপ্রিয়। জিপ ইউটিলিটি গ্রাফিক্যাল ইউজার ইন্টারফেস (GUI) এবং টার্মিনাল - দুটোই থেকে ব্যবহার করা যায়।
- সংকোচন করা ফাইলগুলোতে যান এবং সেগুলো সিলেক্ট করুন। তারপর রাইট-ক্লিক করে Compress অপশনটি বেছে নিন।
- জিপ আর্কাইভের জন্য একটি নাম দিন। মনে রাখবেন, আপনি অন্য দুটি কম্প্রেশন টাইপও বেছে নিতে পারেন। এটি ডিস্ট্রোর মধ্যে ভিন্ন হতে পারে।
- शीঘ্রই আপনি আপনার জিপ আর্কাইভটি দেখতে পাবেন। লক্ষ্য করুন, আর্কাইভের সাইজ একত্রিত ফাইলগুলোর মোট সাইজের চেয়ে অনেক কম।
- আনজিপ করার জন্য জিপ আর্কাইভটি খুঁজে বের করুন এবং সেটিতে রাইট-ক্লিক করুন। Extract Here বা Extract to… সিলেক্ট করুন। Extract Here ফাইলগুলোকে বর্তমান ডিরেক্টরিতে বের করবে। Extract to… আপনাকে অন্য কোনো লোকেশন বেছে নেওয়ার সুবিধা দেবে।
ফাইলগুলো বের হয়ে গেল। লক্ষ্য করুন, সেগুলো আবার ১০০ এমবি করে ফুল সাইজে ফিরে এল।
কিছু লিনাক্স ডিস্ট্রোতে আনজিপ করার অন্যান্য বিল্ট-ইন পদ্ধতিও রয়েছে। এই উদাহরণে আপনি আর্কাইভ ম্যানেজার ব্যবহার করতে পারেন।
- আর্কাইভটিতে রাইট-ক্লিক করুন এবং Open With Archive Manager সিলেক্ট করুন।
- একক্লিক করে বের করার ফাইলগুলো হাইলাইট করুন। আপনি এক, কয়েক বা সব ফাইল সিলেক্ট করতে পারেন। তারপর উপরের বাম কোণ থেকে Extract বাটনটি চাপুন।
- এখন ফাইল ম্যানেজার ব্যবহার করে ফাইলগুলো কোথায় বের করবেন সেটি বেছে নিন। তারপর উপরের ডান কোণ থেকে Extract চাপুন।
- বের করা শেষ হলে, আপনি অথবা কাজ চালিয়ে যেতে পারেন অথবা Show the Files বাটনটি চাপুন।
ফাইলটি আবার ফুল সাইজে ফিরে এল। আর্কাইভের ভিতরে একটি কপি রয়েছে।
টার্মিনাল খুলুন এবং জিপ করা ফাইলগুলো যে ডিরেক্টরিতে আছে সেখানে নেভিগেট করুন। কমান্ডটি লিখুন: zip ziptest.zip *।
zip লিনাক্সকে জিপ ইউটিলিটি ব্যবহার করার নির্দেশ দেয়, ziptest.zip আর্কাইভের প্রত্যাশিত নাম বলে দেয়, এস্টেরিস্ক (*) হচ্ছে একটি 와일্ডকার্ড যা বর্তমান ডিরেক্টরির সকল ফাইল জিপ করার অর্থ বহন করে।
এটি ফাইলগুলো জিপ করে, সেগুলো লিস্ট করে এবং বলে দেয় কতটুকু ডিফ্লেট বা কম্প্রেস হয়েছে।
জিপ কমান্ডের সাথে बहুত সारे অ্যাকশন ব্যবহার করা যায়। সেগুলো দেখতে চাইলে zip –help লিখুন, আপনি নিচের ছবির মতো কিছু দেখতে পাবেন।
টার্মিনালে কমান্ডটি ব্যবহার করুন: unzip ziptest.zip, এখানে unzip হচ্ছে কমান্ড এবং ziptest.zip হচ্ছে আনজিপ করার আর্কাইভের নাম।
এটি আনজিপ হচ্ছে ফাইলগুলো দেখাবে, যেন আপনি বুঝতে পারেন কখন কাজটি শেষ হয়েছে।
জিপ কমান্ডের মতোই আনজিপ কমান্ডের সাথে অনেক অ্যাকশন ব্যবহার করা যায়। সেগুলো দেখতে unzip –help লিখুন।
Bzip2 আরেকটি কম্প্রেশন ইউটিলিটি যা প্রায় সকল লিনাক্স ডিস্ট্রোতে বিল্ট-ইন রয়েছে। বড় পার্থক্য হলো bzip2 একাধিক ফাইলকে একই আর্কাইভে জিপ করতে পারে না। প্রতিটি ফাইলের আলাদা জিপ আর্কাইভ তৈরি হয়।
কমান্ডটি লিখুন: bzip2 -kv9 testfile1.txt testfile2.txt, এখানে bzip2 হচ্ছে কমান্ড।
-kv9 এর অর্থ: k মানে keep the originals (মূল ফাইলগুলো রাখুন), v মানে verbose (ক्या হচ্ছে সেটি দেখান), এবং 9 মানে সর্বোচ্চ কম্প্রেশন লেভেল। আপনি ১ থেকে ৯ পর্যন্ত যেকোনো লেভেল বেছে নিতে পারেন। কম্প্রেশন লেভেল যত বেশি, জিপ করতে তত বেশি সময় লাগবে।
আউটপুটটি জিপ চেয়ে বেশি তথ্য দেয়, কিন্তু ফলাফল প্রায় একই।
কমান্ডটি লিখুন: bzip2 -kvd testfile.1.txt.bz2 testfile2.txt.bz2। -kvd অপশনগুলোয়: k ফর keep the archives (আর্কাইভ রাখুন), v ফর verbose output, এবং d ফর decompress (ডিকম্প্রেস)।
আপনি ফাইলগুলো ডিকম্প্রেস হচ্ছে দেখবেন এবং কখন শেষ হয়েছে সেটি জানবেন।
Bzip2 অপশনগুলো দেখতে bzip2 –help লিখুন। অ-গুরুত্বপূর্ণ ফাইলগুলোর সাথে অপশনগুলো টেস্ট করে দেখুন সেগুলো কী করতে পারে।
এটি প্রায় সকল ডিস্ট্রোর সাথে থাকা জনপ্রিয় কম্প্রেশন ইউটিলিটির শেষটি। এটি bzip2 এবং zip চেয়ে অপশন হিসেবে হালকা। যাইহোক, কম্প্রেশন কোয়ালিটি প্রায় একই।
কমান্ডটি লিখুন: gzip -kv9 testfile.1.txt testfile2.txt। -kv9 অপশনগুলো: k ফর keep the files (ফাইলগুলো রাখুন), v ফর verbose output, এবং 9 ফর ১ থেকে ৯ এর মধ্যে সর্বোচ্চ কম্প্রেশন লেভেল।
ভার্বোস আউটপুট দেখাচ্ছে gzip অন্যান্য জিপ পদ্ধতির মতোই ভালো কাজ করে।
Gzip আর্কাইভ আনজিপ করার দুটি পদ্ধতি রয়েছে। একটি gzip ব্যবহার করে, অন্যটি gunzip ব্যবহার করে।
gzip কমান্ডের জন্য: gzip -kvd testfile1.txt.gz testfile2.txt.gz। লক্ষ্য করুন d অপশনটি। এটার মানে decompress।
gunzip কমান্ডের জন্য: gunzip testfile1.txt.gz testfile.2.txt.gz। gzip와의 একমাত্র পার্থক্য হলো gunzip-এ বেসিক ডিকম্প্রেশনের জন্য কোনো অপশন দরকার নেই।
tar-কে কেন এখনো উল্লেখ করা হয়নি? এটি একটি আর্কাইভিং টুল, যা একসাথে অনেক ফাইলকে একই আর্কাইভে রাখে সহজ ট্রান্সপোর্টের জন্য। ফাইলগুলোয় সাইজ কতটুকু হোক, tar ফাইলটির সাইজ প্রায় একই থাকবে।
কিন্তু আপনি যদি tar-এর সাথে কোনো জিপ পদ্ধতি কম্বাইন করেন, তাহলে আপনি কিছু অত্যন্ত কার্যকর পাবেন। আপনি ফাইলগুলোর একটি সুন্দর কম্প্রেসড সিঙ্গেল প্যাকেজ পাবেন।
অন্য জিপ পদ্ধতিগুলো ডিরেক্টরির ফাইলগুলোর সাথে ব্যবহার করলে, আপনি ডিরেক্টরির প্রতিটি ফাইলের জন্য একটি কম্প্রেসড আর্কাইভ পাবেন। কিন্তু gzip অপশনসহ tar ডিরেক্টরিতে ব্যবহার করলে, এটি সবকিছু কম্প্রেস করে একই আর্কাইভ তৈরি করে।
কমান্ডটি লিখুন: tar -czvf Documents.tgz Documents।
-czvf অপশনগুলো: c ফর create a new archive (নতুন আর্কাইভ তৈরি করুন), z ফর compress with gzip, v ফর verbose output, এবং f ফর file equals archive, অর্থাৎ আর্কাইভটি মূল ডিরেক্টরির ফাইল স্ট্রাকচার বজায় রাখবে।
নতুন আর্কাইভের নাম দিতে হবে, এই উদাহরণে সেটি Documents.tgz। .tgz ফাইল এক্সটেনশন ব্যবহার করলে অন্যরা বুঝতে পারবে যে এটি একটি tar আর্কাইভ যাকে gzip করা হয়েছে। শেষে Documents হচ্ছে আর্কাইভ এবং কম্প্রেস করা ডিরেক্টরি।
আউটপুট নিচের ছবির মতো হবে।
ফাইল ম্যানেজারে আপনি tar আর্কাইভটি দেখতে পাবেন এবং এটি কম্প্রেসড।
একটি gzip করা tar আর্কাইভ আনজিপ করতে, একই tar কমান্ডটি ব্যবহার করুন किंचित ভিন্ন অপশনসহ।
কমান্ডটি লিখুন: tar -xzvf Documents.tgz Documents।
-xzvf অপশনগুলো: x ফর extract (বের করুন), z ফর unzip with gzip, v ফর verbose (কাজটি দেখতে পाने), এবং f ফর file=archive মানে ফাইল স্ট্রাকচার বজায় রাখুন। Documents.tgz হচ্ছে আনপ্যাক এবং আনজিপ করার আর্কাইভ, এবং Documents হচ্ছে সেই ডিরেক্টরি যাতে কন্টেন্টগুলো যাবে।
ফলাফল নিচের ছবিতে দেখানো হয়েছে। দুটি ফাইল ফুল সাইজে ফিরে এল এবং সেগুলো Documents ডিরেক্টরিতে আছে।
Tar অপশনগুলো দেখতে tar –help লিখুন, আপনি অপশনগুলোর অনেক পৃষ্ঠা পাবেন। লক্ষ্য করুন gzip-এর পাশাপাশি অন্যান্য জিপ পদ্ধতিও রয়েছে, তাই আপনি আপনার পছন্দমতো বেছে নিতে পারেন।
প্রায় সকল লিনাক্স ডিস্ট্রোতে আরও দুটি কম্প্রেশন ইউটিলিটি পাওয়া যায়। তবে সেগুলো তত জনপ্রিয় নয়। তবুও এখানে উল্লেখ করা হয়েছে যাতে আপনি সেগুলোর বিষয়ে জানেন।
LZMA লিনাক্স ডিস্ট্রোতে পাওয়া যাওয়া অন্যটি কমান্ড-লাইন কম্প্রেশন ইউটিলিটি। এটি 7-Zip-এ ব্যবহৃত কম্প্রেশন অ্যালগরিদম।
XZ ইউটিলিটি লিনাক্স ডিস্ট্রোতে পাওয়া যাওয়া একটি কমান্ড-লাইন কম্প্রেশন টুল। এর অপশনগুলো bzip2-এর সাথে মিলত জুলত। এটি LZMA2 অ্যালগরিদমের উপর ভিত্তি করে তৈরি, যা আবার LZMA-র উপর ভিত্তি করে তৈরি।
এই ইউটিলিটিগুলোর অধিক তথ্য পেতে lzma –help এবং xz –help কমান্ডগুলো ব্যবহার করুন।
আমরা শুধু প্রায় সকল লিনাক্স ডিস্ট্রোর সাথে বিল্ট-ইন কম্প্রেশন টুলগুলো নিয়ে আলোচনা করেছি। তবুও, লিনাক্সে ফাইল জিপ এবং আনজিপ করার আরও অনেক পদ্ধতি রয়েছে। কিছুর GUI রয়েছে, কিছু কমান্ড-লাইন ইউটিলিটি, আর কিছু GUI এবং কমান্ড লাইন দুটোই থেকে ব্যবহার করা যায়। আপনি লিনাক্সে এই জিপ টুলগুলোর কোনটিই ব্যবহার করেন? আপনার পছন্দমতো কোনটি এবং কেন? কমেন্টে জানান।