في المقالة التالية سوف نلقي نظرة على كيفية القيام بذلك zip وفك ضغط الملفات باستخدام gzip و bzip2. يعد الضغط مفيدًا جدًا عند إجراء نسخ احتياطي للملفات المهمة أو إرسال ملفات كبيرة عبر الإنترنت. يوجد اليوم العديد من البرامج لضغط وفك ضغط الملفات في جنو / لينكس.
أخبرنا أحد الزملاء بالفعل عن بعض من هؤلاء برامج مثل رر y الرمز البريدي في نفس هذه المدونة. في هذا البرنامج التعليمي ، سنلقي نظرة على اثنين منهم فقط ، مثل gzip و bzip2. كما أقول ، دعنا نرى كيفية استخدامها لضغط وفك ضغط الملفات مع بعض الأمثلة في أوبونتو.
ضغط وفك ضغط الملفات باستخدام gzip و bzip2
برنامج gzip
غزيب هي أداة لضغط وفك ضغط الملفات باستخدام امتداد خوارزمية ترميز Lempel-Ziv (LZ77).
-
ضغط الملفات
لضغط ملف اسمه ubunlog.رسالة قصيرة، استبداله بنسخة مضغوطة، سننفذ في المحطة (Ctrl + Alt + T):
gzip ubunlog.txt
سيحل Gzip محل الملف الأصلي ودعا ubunlog.txt بواسطة نسخة مضغوطة تسمى ubunlog.txt.gz.
يمكن أيضًا استخدام الأمر gzip بطرق أخرى. خير مثال هو أننا نستطيع إنشاء نسخة مضغوطة من إخراج أمر معين. انظر إلى الأمر التالي.
ls -l ../../Descargas / | gzip > ubunlog.txt.gz
يقوم الأمر أعلاه بإنشاء نسخة مضغوطة من قائمة الملفات في مجلد التنزيلات.
-
قم بالضغط وفك الضغط مع الاحتفاظ بالملف الأصلي
بشكل افتراضي ، سيتم ضغط برنامج gzip الملف المحدد ، مع استبداله بنسخة مضغوطة. ومع ذلك، يمكننا الاحتفاظ بالملف الأصلي وكتابة النتيجة إلى الإخراج القياسي. على سبيل المثال، الأمر التالي، ضغط ubunlog.txt واكتب النتيجة إلىput.txt.gz.
gzip -c ubunlog.txt > salida.txt.gz
وبنفس الطريقة نستطيع قم بفك ضغط ملف مضغوط تحديد اسم ملف الإخراج:
gzip -c -d salida.txt.gz > ubunlog1.txt
يقوم الأمر أعلاه بفك ضغط ملفput.txt.gz ويكتب النتيجة في الملف ubunlog1.txt. وفي الحالتين السابقتين . لن يتم حذف الملف الأصلي.
-
فك ضغط الملفات
لفك ضغط الملف ubunlog.txt.gz، استبداله بالنسخة الأصلية غير المضغوطةسنستخدم الأمر التالي في المحطة (Ctrl + Alt + T):
gzip -d ubunlog.txt.gz
يمكننا أيضًا استخدام gunzip لفك ضغط الملفات.
gunzip ubunlog.txt.gz
-
اعرض محتويات الملفات المضغوطة دون فك ضغطها
لعرض محتويات الملف المضغوط دون فك ضغطه باستخدام gzip ، سنستخدم الخيار -c كما هو موضح في الآتي:
gunzip -c ubunlog1.txt.gz
يمكننا أيضًا استخدام zcat فائدة لنفس الغرض، مثل أدناه:
zcat ubunlog.txt.gz
سنكون قادرين قم بتوجيه الإخراج باستخدام الأمر "less" لعرض صفحة الإخراج بصفحة كما هو موضح أدناه:
gunzip -c ubunlog.txt.gz | less
يمكن أيضًا استخدام الأمر less مع زكات:
zcat ubunlog.txt.gz | less
سيكون لدينا أيضًا خيار استخدام ملف برنامج zless. يؤدي هذا نفس وظيفة الأنابيب السابقة:
zless ubunlog.txt.gz
يمكننا الخروج من الترحيل بالضغط على مفتاح q.
-
ضغط الملف باستخدام gzip لتحديد مستوى الضغط
ميزة أخرى يجب وضعها في الاعتبار لـ gzip هي ذلك يدعم مستوى الضغط. يدعم 3 مستويات من الضغط على النحو التالي.
1 - أسرع (أسوأ)
9 - أبطأ (أفضل)
6 - المستوى الافتراضي
لضغط الملف المسمى ubunlog.txt، واستبداله بـ نسخة مضغوطة بأفضل مستوى ضغط، سوف نستخدم:
gzip -9 ubunlog.txt
-
ربط عدة ملفات مضغوطة
الاحتمال الآخر الذي يقدمه لنا gzip هو اجمع عدة ملفات مضغوطة في ملف واحد. يمكننا القيام بذلك بالطريقة التالية:
gzip -c ubunlog1.txt > salida.txt.gz gzip -c ubunlog2.txt >> salida.txt.gz
سيتم ضغط الأمرين أعلاه ubunlog1.txt و ubunlog2.txt وحفظها في ملف واحد يسمىput.txt.gz.
نستطيع عرض محتويات الملفات (ubunlog1. النص و ubunlog1.txt) دون استخراجها باستخدام أي من الأوامر التالية:
gunzip -c salida.txt.gz gunzip -c salida.txt zcat salida.txt.gz zcat salida.txt
لمزيد من التفاصيل حول gzip ، راجع ملف صفحات الرجل:
man gzip
برنامج bzip2
El bzip2 إنه مشابه جدًا لبرنامج gzip. الفرق الرئيسي هو أنه يستخدم خوارزمية ضغط مختلفة تسمى خوارزمية ضغط نص تصنيف Burrows-Wheeler وتشفير Huffman. تنتهي الملفات المضغوطة باستخدام bzip2 بالملحق .bz2.
كما قلت ، فإن استخدام bzip2 يشبه إلى حد كبير gzip. سوف يتعين علينا ببساطة استبدل gzip في الأمثلة أعلاه بـ bzip2 ، و gunzip بـ bunzip2 ، و zcat بـ bzcat وهلم جرا.
-
ضغط الملفات
لضغط ملف باستخدام bzip2 ، استبداله بنسخة مضغوطة، سوف ننفذ:
bzip2 ubunlog.txt
-
ضغط الملفات دون حذف الملف الأصلي
إذا لم نرغب في استبدال الملف الأصلي ، فسنستخدم امتداد الملف -ج الخيار وسنكتب النتيجة في ملف جديد.
bzip2 -c ubunlog.txt > salida.txt.bz2
-
فك ضغط الملفات
إلى فك ضغط ملف مضغوط سنستخدم أحد الاحتمالين التاليين:
bzip2 -d ubunlog.txt.bz2 bunzip2 ubunlog.txt.bz2
-
اعرض محتويات الملفات المضغوطة دون فك ضغطها
لمشاهدة محتوى ملف مضغوط دون فك ضغطه ، سيتعين علينا فقط استخدام أي من الخيارات:
bunzip2 -c ubunlog.txt.bz2 bzcat ubunlog.txt.bz2
لمزيد من التفاصيل ، يمكننا الرجوع إلى صفحات الرجل:
man bzip2