পূর্বের আর্টিকেলে আমরা দেখিয়েছিলাম tar কমান্ড দিয়ে আর্কাইভ তৈরির পদ্ধতি। tar লিনাক্সের জন্য খুব কমন কম্প্রেশন স্কিম, কিন্তু উইন্ডোজ ও macOS X ব্যবহারকারীদের জন্য এটো জনপ্রিয় নয়, যারা অধিকাংশ আর্কাইভ ZIP ফরম্যাটে তৈরি করেন।
লিনাক্সে Zip (তैयারির জন্য) এবং Unzip (এক্সপ্যান্ড করার জন্য) ব্যবহার করা খুব সহজ। বরং অধিকাংশ GUI আর্কাইভ ম্যানেজমেন্ট প্রোগ্রাম (Ark, File Roller, Xarchiver) যেকোনো কমান্ড লাইন আর্কাইভিং প্রোগ্রামের ফ্রন্টএন্ড হিসেবে কাজ করে, Zip-ও এর ব্যতিক্রম নয়। অবশ্যই আমরা টার্মিনাল থেকে Zip ব্যবহার করতে পারি। পদ্ধতিটি নিচে:
প্রথম ধাপ, অনুমান মতো: টার্মিনাল খুলুন।
এরপর টাইপ করুন "sudo apt-get install zip unzip" (কোটেশন ছাড়া), যাতে zip ও unzip ইনস্টলড আছে নিশ্চিত হয়।
নোট: যদি দুটি প্রোগ্রাম ইতিমধ্যে ইনস্টলড থাকে, তবে উপরের চিত্রের মতো মেসেজ আসবে।
ইনস্টল হলে zip দিয়ে আর্কাইভ তৈরি বা মডিফাই করা যায়, unzip দিয়ে এক্সপ্যান্ড করা যায়। এই আর্টিকেলের জন্য ডেস্কটপে Stuff নামক একটি নতুন ফোল্ডার তৈরি করব। টার্মিনালে এক কমান্ডে: mkdir /home/username/Desktop/Stuff (username আপনার실로 রিপ্লেস করুন, নিচের চিত্র অনুযায়ী, এবং Stuff ফোল্ডার আগে থাকলে নাম পরিবর্তন করুন)।
Stuff ফোল্ডার বানালে cd কমান্ড দিয়ে সেটি কারেন্ট ওয়ার্কিং ডিরেক্টরি করুন: cd /home/username/Desktop/Stuff
এখন টাইপ করুন touch doc1.txt doc2.txt doc3.txt && mkdir Files যাতে Stuff ফোল্ডারের ভিতরে তিনটি ডকুমেন্ট (doc1.txt, doc2.txt, doc3.txt) এবং Files নামক একটি ফোল্ডার তৈরি হয়।
আরেক কমান্ড: নতুন Files ফোল্ডারে প্রবেশের জন্য cd Files (কারণ সেখানে কিছু অন্য ডকুমেন্ট রাখব)।
শেষে টাইপ করুন touch doc4.txt doc5.txt doc6.txt তিনটি নতুন ডকুমেন্ট তৈরি করতে।
এখন cd ../.. টাইপ করে ডেস্কটপকে আবার ওয়ার্কিং ডিরেক্টরি করুন।
জিপ ফাইল তৈরির আগের লাস্ট স্টেপ: ডেস্কটاپে আপনি дуইটি "এক্সট্রা" ডকুমেন্ট তৈরি করুন একই নামে যেগুলো আমরা ইতিমধ্যে তৈরি করেছি। touch doc2.txt doc3.txt টাইপ করুন।
এখন দুটি "এক্সট্রা" টেক্সট ফাইল খুলে কিছু টেক্সট যোগ করুন। অর্থপূর্ণ বা দীর্ঘ হোক না কেন, শুধু আমরা দেখতে পাই এই ডকুমেন্টগুলো আমাদের আগে তৈরি করা ফাইলগুলোর থেকে আলাদা।
এখন জিপ ফাইল তৈরি শুরু করি। zip ব্যবহারের সিম্পলেস্ট পদ্ধতি: আর্কাইভের নাম বলুন, তারপর প্রতিটি ফাইল এক্সপ্লিসিটলি নাম দিন যেগুলো আর্কাইভে যাবে। ধরে নিচ্ছি ওয়ার্কিং ডিরেক্টরি ডেস্কটপ, তাই টাইপ করুন zip test Stuff/doc1.txt Stuff/doc2.txt Stuff/doc3.txt যাতে test.zip নামক একটি আর্কাইভ তৈরি হয় (কমান্ডে ".zip" এক্সটেনশন দরকার নেই, অটোমেটিক্যালি অ্যাড হয়ে যাবে), যাতে Stuff ফোল্ডারের doc1.txt, doc2.txt, doc3.txt থাকবে।
আউটপুটে দেখবেন তিনটি ডকুমেন্ট (doc1.txt, doc2.txt, doc3.txt) আর্কাইভে অ্যাড হয়েছে।
টেস্ট করতে আর্কাইভে ডাবল-ক্লিক করুন (ডেস্কটপে থাকা উচিত)। স্ট্যান্ডার্ড আর্কাইভ প্রোগ্রামে (KDE-তে Ark, GNOME-এ File Roller, Xfce-এ Xarchiver) খুলবে।
Files ফোল্ডারের কথা কী? সেটি এবং এর ভেতরের ডকুমেন্টগুলো আর্কাইভে অ্যাড করতে চাইলে উপরের কমান্ডে Stuff/Files/* অ্যাড করুন।
এস্টারিস্ক মানে ফোল্ডারের ভিতরে সবকিছু ইনক্লুড। যদি Files ফোল্ডারের ভিতরে আরেকটি ফোল্ডার থাকত, সেটিও অ্যাড হত। কিন্তু সেটির ভেতরের আইটেমগুলো ইনক্লুড হত না। সেজন্য -r (recursive বা রিকার্সিভলি) যোগ করতে হবে।
দ্রষ্টব্য: উপরের দুটি কমান্ড জিপ আর্কাইভে ফাইল "অ্যাড" করার জন্য ডিজাইন করা নয়; সেগুলো আর্কাইভ তৈরি করার জন্য ডিজাইন করা। কিন্তু আর্কাইভ ইতিমধ্যে এক্সিস্ট করলে কমান্ডটি সิม্পলি নতুন ফাইলগুলো এক্সিস্টিং আর্কাইভে অ্যাড করে দেয়। আমরা যদি একবারে এই আর্কাইভ তৈরি করতে চাইতাম (শিক্ষামূলক উদ্দেশ্যে ধাপে ধাপে ফাইল অ্যাড করা বদলে), তবে সিম্পলি zip -r test Stuff/* টাইপ করলেই একই আর্কাইভ তৈরি হত।
কমান্ড ও আউটপুট থেকে দেখবেন Stuff ফোল্ডারের তিনটি ফাইল এবং Files ফোল্ডারের তিনটি ডকুমেন্ট ইনক্লুড হয়েছে—সব কিছু এক সিম্পল কমান্ডে।
ডেস্কটপে তৈরি করা দুটি "এক্সট্রা" ডকুমেন্টের কী? zip-র কাজ: আর্কাইভে ইতিমধ্যে এক্সিস্ট করা ফাইল যোগ করতে চাইলে নতুন ফাইলগুলো পুরনো ফাইলগুলোর ওপর রাইট করে। যেহেতু ডেস্কটপে তৈরি করা ডকুমেন্টগুলোতে কন্টেন্ট আছে (doc2.txt-এ "hello world!", doc3.txt-এ "yay" যোগ করা হয়েছিল), সেগুলো অ্যাড করলে টেস্ট করা যাবে। প্রথমে দুটি "এক্সট্রা" ডকুমেন্ট Stuff ফোল্ডারে ড্র্যাগ করুন।
নতুন ডকুমেন্টগুলো এক্সিস্টিং ওনদের ওপর রাইট করতে চাইবে (ফোল্ডারের কথা, জিপ আর্কাইভের নয়), এটাকে হলে দিন।
এখন সেগুলো আর্কাইভে অ্যাড করুন: zip test Stuff/doc2.txt Stuff/doc3.txt
উপরের কমান্ড এখন ফাইল আপডেট হচ্ছে দেখাচ্ছে, অ্যাড হচ্ছে না। আর্কাইভ চেক করলে ফাইলগুলো একই লাগবে, কিন্তু doc2.txt ও doc3.txt খুললে দেখবেন এখন সেগুলোতে কন্টেন্ট আছে, আমাদের ওরিজিনাল ফাইলগুলো ব্ল্যাঙ্ক ছিল।
লিনাক্সে কখনো কখনো ফাইল হাইড করা থাকে নামের শুরুতে পিরিয়ড (".") দিয়ে। এটি কনফিগারেশন ফাইলের জন্য খুব কমন, যেগুলো এক্সিস্ট করবে কিন্তু ভিজিবল নয় (ক্লাটার কমায় এবং অকস্মাত ডিলিট হওয়া রোধ করে)। এই ফাইলগুলো জিপ ফাইলে সহজে অ্যাড করা যায়। প্রথমে ধরি আমরা একটি ডিরেক্টরির সকল ফাইল দিয়ে backup নামক জিপ ফাইল বানাতে চাই। টার্মিনালে zip backup * টাইপ করুন।
এটি সকল ফাইল ও ফোল্ডার অ্যাড করবে, যদিও ফোল্ডার ভেতরের আইটেমগুলো ইনক্লুড হবে না। সেগুলো ইনক্লুড করতে আবার -r যোগ করুন: zip -r backup *।
এখন ফোল্ডার, ফাইল, এবং হিডেন ফাইল রিকার্সিভলি অ্যাড করার কমান্ড আসলে খুব সিম্পল: zip -r backup .
আনজিপ করা খুব সহজ। কিছু করার আগে, ডেস্কটপের ডকুমেন্টগুলো (doc2.txt, doc3.txt) এবং Stuff ফোল্ডার ডিলিট করুন। একবার গেলে unzip test.zip টাইপ করলে আওরিজিনাল জিপ আর্কাইভের কন্টেন্ট কারেন্ট ডিরেক্টরিতে এক্সপ্যান্ড হবে।
নোট: ডকুমেন্টগুলো ডিলিট না করলে আমরা এক্সিস্টিং ফাইলে আনজিপ করার চেষ্টা করব, তখন প্রতিটি ডকুমেন্ট রিপ্লেস করতে চাইলে কিনা পুছবে।
এটিই! জিপ ও আনজিপ করা একটি কমন টাস্ক, এবং GUI অপশন থাকলেও, প্র্যাক্টিস করলে টার্মিনাল থেকে সেম টাস্কগুলো করা খুব কঠিন নয়।