বাংলায় শেল ও শেলস্ক্রিপ্টিং শেখার কোর্স
  • শুরুর কথা
  • প্রথম খন্ড - শেল বেসিক
    • প্রথম অধ্যায় - শেল বেসিক
      • শেল ও প্রম্পট
      • কমান্ড
      • নেভিগেশন
      • আরো একটু ls
      • ফাইল
      • লিঙ্ক
      • লিনাক্স ফাইলসিস্টেম
    • দ্বিতীয় অধ্যায় - ম্যানিপুলেশন
      • ওয়াইল্ডকার্ড
      • ফাইল ও ডিরেক্টরি তৈরি করা
      • ফাইল ও ডিরেক্টরি কপি করা
      • ফাইল ও ডিরেক্টরি মুভ করা
      • ফাইল ও ডিরেক্টরি রিমুভ করা:
      • হার্ডলিঙ্ক ও সফ্টলিঙ্ক তৈরি করা
      • অনুশীলন
    • তৃতীয় অধ্যায় - রিডিরেকশন
      • স্ট্যান্ডার্ড ইনপুট, আউটপুট এবং এরর
      • স্ট্যান্ডার্ড আউটপুট রিডিরেকশন
      • স্ট্যান্ডার্ড এরর রিডিরেকশন
      • স্ট্যান্ডার্ড আউটপুট ও এরর একত্রে রিডিরেকশন
      • ফাইল সংযুক্তিকরণ
      • পাইপলাইন
    • চতুর্থ অধ্যায় - শেলের চোখে দেখা
      • এক্সপ্যানসন
      • পাথনেম এক্সপ্যানসন
      • গানিতিক এক্সপ্যানসন
      • ব্রেস এক্সপ্যানসন
      • প্যারামিটার এক্সপ্যানসন
      • কমান্ড সাবস্টিটিউশন
      • ক্যোটিং
      • স্কেইপিং ক্যারেক্টার
    • পঞ্চম অধ্যায় - কীবোর্ড ট্রিক্স
      • কমান্ডলাইন এডিটিং
      • কমপ্লিশন
      • কমান্ড হিস্ট্রি
    • ষষ্ঠ অধ্যায় - পারমিশন
      • ওনার, গ্রুপ এবং অন্যান্য
      • এক্সেস রাইট
      • ফাইল পারমিশন পরিবর্তন
      • ফাইল পারমিশন মাস্কিং
      • বিশেষ পারমিশন
      • ওনার ইউজার ও গ্রুপ পরিবর্তন
      • পরিচয় পরিবর্তন
      • পাসওয়ার্ড পরিবর্তন
    • সপ্তম অধ্যায় - প্রসেস
      • প্রসেস এর প্রাথমিক ধারণা
      • প্রসেস দেখা
      • প্রসেস নিয়ন্ত্রণ
      • সিগন্যাল
  • দ্বিতীয় খন্ড - কনফিগারেশন ও এনভায়রনমেন্ট
    • প্রথম অধ্যায় - এনভায়রনমেন্ট
      • এনভায়রনমেন্টের ভিতরে দেখা
      • যেভাবে এনভায়রনমেন্ট তৈরী হয়
      • এনভায়রনমেন্ট পরিবর্তন
    • দ্বিতীয় অধ্যায় - প্রম্পট সম্পাদনা
      • প্রম্পট কাস্টমাইজেশন
      • প্রম্পট রঙ করা
      • কার্সরের অবস্থান পরিবর্তন
  • তৃতীয় খন্ড - আটপৌরে কমান্ডলাইন
    • প্রথম অধ্যায় - প্যাকেজ ম্যানেজমেন্ট
    • দ্বিতীয় অধ্যায় - টেক্সট এডিটর
      • ন্যানো
        • ন্যানোর প্রাথমিক ব্যবহার
        • ন্যানো - এডিটিং এবং নেভিগেশন
        • ন্যানো কনফিগারেশন
      • ভিম
        • ভিম-এর এডিটিং মোড
        • ভিম-এর বেসিক এডিটিং
        • ভিম: সার্চ এ্যান্ড রিপ্লেস
        • ভিম: একাধিক ফাইল নিয়ে কাজ করা
      • ইম্যাকস্
        • ইম্যাকস্: প্রথম ধাপ
        • ইম্যাকস্: ক্যারেক্টার, কী এবং কমান্ড
        • ইম্যাকস্: বেসিক এডিটিং
        • ইম্যাকস্: সার্চ এ্যান্ড রিপ্লেস
        • ইম্যাকস্: একাধিক ফাইল এডিট করা
    • তৃতীয় অধ্যায় - স্টোরেজ মিডিয়া
      • লিনাক্সের চোখে স্টোরেজ ডিভাইস
      • মাউন্ট এবং আনমাউন্ট
      • পার্টিশন এবং ফরম্যাট করা
      • ফাইলসিস্টেম টেস্ট এবং রিপেয়ার করা
      • ডিভাইস ক্লোনিং
      • ইমেজ তৈরী
      • অপটিক্যাল মিডিয়ায় রাইট করা
    • চতুর্থ অধ্যায় - নেটওয়ার্কিং
      • নেটওয়ার্ক পরীক্ষণ এবং পর্যবেক্ষন
      • ফাইল ট্রান্সফার
      • নিরাপদ যোগাযোগ
    • পঞ্চম অধ্যায় - ফাইল সার্চ
      • Locate: নাম দিয়ে ফাইল সার্চ
      • find: শক্তিশালী সার্চ
        • find: টেস্ট
        • find: অপারেটর
        • find: একশন
        • find: অপশন
        • অনুশীলন
    • ষষ্ঠ অধ্যায় - আর্কাইভ ও ব্যাকআপ
      • ডাটা কম্প্রেশন
      • ডাটা আর্কাইভিং
      • dtrx
      • সিনক্রোনাইজেশন
    • সপ্তম অধ্যায় - আটপৌরে টুলস
      • রেঞ্জার(Ranger): ফাইল ম্যানেজার
      • মাট (Mutt): ইমেইল ক্লায়েন্ট
      • সিমিউজ(cmus): মিউজিক প্লেয়ার
      • ইলিঙ্কস (elinks): ওয়েব ব্রাউজার
      • উইচ্যাট (weechat) : আইআরসি ক্লায়েন্ট
      • ফিঞ্চ (finch) : চ্যাট ক্লায়েন্ট
    • অষ্টম অধ্যায় - প্রোগ্রাম কম্পাইলেশন
  • চতুর্থ খন্ড - টেক্সট ম্যানিপুলেশন
    • প্রথম অধ্যায় - রেগুলার এক্সপ্রেশন
      • গ্রেপ (grep)
Powered by GitBook
On this page
  • gzip ও gunzip
  • bzip2 ও bunzip2
  1. তৃতীয় খন্ড - আটপৌরে কমান্ডলাইন
  2. ষষ্ঠ অধ্যায় - আর্কাইভ ও ব্যাকআপ

ডাটা কম্প্রেশন

ডাটা কম্প্রেশনের মাধ্যমে আমরা বেশি ডাটা কম জায়গায় রাখতে পারি। বাস্তব জীবনে এর ব্যবহার প্রচুর। এমন অনেককিছুই আছে যা আমরা কম্প্রেসড্ অবস্থাতেই ব্যবহার করি। যেমন এমপিথ্রি মিউজিক ফাইল বা জেপিইজি ইমেজ।

ডাটা কম্প্রেশন টুলসগুলো ডাটা কম্প্রেসড করতে বিশেষ গাণিতিক পদ্ধতি ব্যবহার করে যাকে কম্প্রেশন এ্যালগরিদম বলে। খুব সহজ থেকে খুব কঠিন, বিভিন্নরকমের এ্যালগরিদম আছে। যেমন মনে করুন, একটা টেক্সট ফাইলে আপনি শুধু 'A' লিখলেন একহাজারবার। ফাইলের মূল ডাটার পরিমান হবে ১ হাজার বাইট। এখন আপনি একটি কম্প্রেশন মেথড তৈরী করলেন। সেটা দিয়ে কম্প্রেস করার সময় সেটি লিখলো, "একহাজারটা A". এটুকু লিখতে কিন্তু আপনার একহাজার বাইট লাগছে না। আনকম্প্রেস করার সময় আনকম্প্রেসিঙ টুলটি আবার একহাজারটি 'A' বসিয়ে দেবে। এটি খুব সাধারণ পদ্ধতি কিন্তু আসলে এভাবেও কম্প্রেশন করা হয়। বাস্তবে আরো চমৎকার সব এ্যালগরিদম ব্যবহার করা হয়।

কম্প্রেশন মেথড কীভাবে কাজ করে এটি না জানলেও ক্ষতি ছিল না। পরে মাথা না ঘামালেও চলবে। এবার আমরা দুটি কম্প্রেশন টুল এর ব্যবহার দেখি:

gzip ও gunzip

gzip ও gunzip যথাক্রমে ফাইল কম্প্রেস ও আনকম্প্রেস করে। আসুন এদের ব্যবহার করা যাক:

me@howtocode-pc:~$ ls -l /etc > etc-ls.txt
me@howtocode-pc:~$ ls -l etc-ls*
-rw-rw-r-- 1 me me 15820 Apr  4 19:30 etc-ls.txt
me@howtocode-pc:~$ gzip etc-ls.txt
me@howtocode-pc:~$ ls -l etc-ls*
-rw-rw-r-- 1 me me 3265 Apr  4 19:30 etc-ls.txt.gz
me@howtocode-pc:~$ gunzip etc-ls.txt.gz
me@howtocode-pc:~$ ls -l etc-ls*
-rw-rw-r-- 1 me me 15820 Apr  4 19:30 etc-ls.txt

আমরা প্রথমে ls -l /etc > etc-ls.txt কমান্ড থেকে /etc ডিরেক্টরির কন্টেন্ট লিস্ট দিয়ে একটি ফাইল বানিয়েছি etc-ls.txt নামে। এবার আমরা ls -l etc-ls* দিয়েছি এবং দেখেছি ওই ফাইলটির সাইজ 15820 বাইট। এবার gzip etc-ls.txt কমান্ড দিয়ে আমরা ফাইলটি কম্প্রেস করেছি। আবারও ls -l etc-ls* কমান্ড দিয়ে এবার আমরা দুটো জিনিস লক্ষ্য করেছি। প্রথমত, etc-ls.txt ফাইলটি নেই। বরং etc-ls.txt.gz তৈরী হয়েছে। এবং এর সাইজ অনেক কম, 3265 বাইট। এবার আমরা gunzip etc-ls.txt.gz কমান্ড দিয়ে আনকম্প্রেস করেছি। এবারও ls -l etc-ls* কমান্ড দিয়ে আমরা দেখলাম কম্প্রেসড ফাইলটি আনকম্প্রেসড হওয়া etc-ls.txt দ্বারা প্রতিস্থাপিত হয়েছে এবং এর সাইজ আগের অবস্থাতেই ফিরে এসেছে।

এবার দেখে নেয়া যাক gzip ও gunzip এর কিছু অপশন:

অপশন

কাজ

-c

আউটপুট স্ট্যান্ডার্ড আউটপুটে পাঠাবে। যেটাকে আমরা কোনো ফাইলে রিডিরেক্ট করতে পারি। এতে সুবিধা হল অরিজিনাল ফাইলটি মুছবে না।

-d

ডিকম্প্রেশন মোড। অর্থাৎ gzip gunzip এর মত কাজ করবে।

-f

ইতমধ্যে একইনামে কম্প্রেসড ফাইল থাকলেও নতুন করে কম্প্রেস করবে।

-h

হেল্প দেখাবে।

-l

কম্প্রেসড ফাইলের পরে ব্যবহার করতে হয়। ফাইলটি সম্পর্কে বিভিন্ন তথ্য দেখায়।

-r

রিকার্সিভ মোড।

-t

কম্প্রেসড ফাইল ঠিকঠাক আছে কিনা পরীক্ষা করবে।

-v

ভারবস মোড। বিভিন্ন তথ্য দেখাবে কাজ করার সময়।

-number

নাম্বারের জায়গা 1 থেকে নয়ের মধ্যে নাম্বার দেওয়া যাবে। 1 বা --fast দিলে সবচেয়ে দ্রুত কম্প্রেসশন করবে কিন্তু কম্প্রেসড হবে কম। অপরপক্ষে 9 বা --best দিলে সবচেয়ে আস্তে কিন্তু বেশি কম্প্রেসড করবে।

এবার আমরা নীচের কমান্ডটি দেখি:

me@howtocode-pc:~$ ls -l /etc | gzip -v > foo.txt.gz
79.5%

এখানে আমরা ls -l /etc এর ফলাফল পাইপ দিয়ে সরাসরি gzip -v কমান্ডে পরিচালিত করেছি এবং তার আউটপুটকে foo.txt.gz তে রিডিরেক্ট করেছি। আমরা এবার এই ফাইলটি টেস্ট করতে পারি এভাব:

me@howtocode-pc:~$ gzip -tv foo.txt.gz
foo.txt.gz:        OK

আবার আমরা চাইলে আনকম্প্রেস না করেই তথ্য পড়তে পারি এভাবে:

me@howtocode-pc:~$ zless foo.txt.gz

zless কম্প্রেসড ফাইলের ওপর less কমান্ডের মত কাজ করে।

bzip2 ও bunzip2

bzip2 ও bunzip2 কমান্ডটি একদম gzip ও gunzip এর মতই ব্যবহার করতে হয়। তবে এটি তুলনামূলক ধীর কিন্তু আরো উন্নত কম্প্রেসশন এ্যালগরিদম ব্যবহার করে।gzip ও gunzip এর প্রথম উদাহরণটি আমরা bzip2 ও bunzip2 এর জন্য দেখবো:

me@howtocode-pc:~$ ls -l /etc > etc-ls.txt
me@howtocode-pc:~$ ls -l etc-ls.txt
-rw-rw-r-- 1 me me 15820 Apr  4 21:17 etc-ls.txt
me@howtocode-pc:~$ bzip2 etc-ls.txt
me@howtocode-pc:~$ ls -l etc-ls*
-rw-rw-r-- 1 me me 2860 Apr  4 21:17 etc-ls.txt.bz2
me@howtocode-pc:~$ bunzip2 etc-ls.txt.bz2
me@howtocode-pc:~$ ls -l etc-ls*
-rw-rw-r-- 1 me me 15820 Apr  4 21:17 etc-ls.txt

আমরা একটা জিনিস এবার লক্ষ্য করছি তা হল এবার কম্প্রেসড ফাইলের এক্সটেনশন bz2, gz নয়। এবং আকারেও ছোট।

Previousষষ্ঠ অধ্যায় - আর্কাইভ ও ব্যাকআপNextডাটা আর্কাইভিং

Last updated 6 years ago