أرشفة و ضغط الملفات في لينكس
- أهمية ضغط الملفات
- أداة أرشفة و ضغط الملفات في لينكس
- تحضير الملفات التي سيتم أرشفتها
- إنشاء أرشيف غير مضغوط في لينكس
- أرشفة مجلدات و ملفات متفرقة معاً في لينكس
- إنشاء أرشيف مضغوط في لينكس
- فك محتوى الأرشيف الغير مضغوط في لينكس
- فك محتوى الأرشيف المضغوط في لينكس
أهمية ضغط الملفات
عند الحاجة إلى تخزين أو نقل الملفات من جهاز إلى آخر فإنه علينا مراعات المساحة التي يتطلبها تخزينها و المدة التي يستغرقها نقلها حيث أنه كلما كان عددها و حجمها أكبر كلما استغرقت مساحة تخزين و مدة نقل أكبر.
يمكنك ضغط ملفاتك القديمة التي نادراً ما تستعملها حتى توفر مساحة أكثر في القرص الصلب.
مفهوم ضغط الملفات
لتقليل حجم الملفات و زيادة سرعة نقلها يمكن إنشاء نسخة مضغوطة منها، هذه النسخة تكون عبارة عن أرشيف واحد يحتوي على الملفات الأصلية نفسها. الملفات التي تكون في الأرشيف يمكن ضغطها أيضاً أثناء إنشاء الأرشيف مما يجعل حجمه يقل أكثر.
مفهوم فك ضغط الملفات
عند الحاجة لاسترجاع الملفات الأصلية التي تم وضعها في الأرشيف، فإنه يجب فعل العملية العكسية، أي فك الضغط عن الأرشيف.
أداة أرشفة و ضغط الملفات في لينكس
بشكل عام، الأداة tar
يمكن استخدامها على النحو التالية لبناء الأرشيف الخاص بالملفات و المجلدات المراد ضغطها معاً، و يمكن استخدامها أيضاً لفك الضغط عن الأرشيف و إعادة الملفات لحالتها الأصلية.
[options]
- يقصد بها الباراميترات الإختيارية التي يمكنك تمريرها للأمر.[archive-file]
- إسم الأرشيف المراد إنشاؤه أو استرداد الملفات و المجلدات الموجودة فيه.[files-and-folders-to-be-datad]
- مسار كل ملف أو مجلد مراد وضعه في الأرشيف مع الإشارة إلى أنه يجب وضع مسافة فارغة بين كل مسارين.
فيما يلي الباراميترات التي يمكنك استخدامها مع هذا الأمر لتحديد كيف ستتم عملية الأرشفة أو عملية استرداد الملفات الأصلية.
الباراميتر و استخدامه | |
---|---|
-c |
يستعمل هذا الباراميتر لإنشاء ( Create ) أرشيف جديد. |
-x |
يستعمل هذا الباراميتر لاستخراج ( Extract ) المجلدات و الملفات الموجودة في الأرشيف. |
-t |
يستعمل هذا الباراميتر لعرض ( Display ) أسماء المجلدات و الملفات الموجودة في الأرشيف. |
-f |
يستعمل هذا الباراميتر لتحديد إسم الأرشيف المراد إنشاؤه، إستخراج أو عرض محتواه. منطقياً، يجب استعمال هذا الباراميتر عند استعمال الباراميتر -c أو الباراميتر -x أو الباراميتر -t . |
-v |
يستعمل هذا الباراميتر لعرض التفاصيل ( Verbox ) التي تحدث عند تنفيذ الأمر، أي أسماء المجلدات و الملفات التي تم التعامل معها. |
-z |
يستعمل هذا الباراميتر لضغط الملفات بواسطة gzip بحيث ينتج عن ذلك أرشيف إمتداده .tgz أو .tar.gz |
-j |
يستعمل هذا الباراميتر لضغط الملفات بواسطة bzip بحيث ينتج عن ذلك أرشيف إمتداده .tbz2 أو .tar.bz2 |
-J |
يستعمل هذا الباراميتر لضغط الملفات بواسطة xz بحيث ينتج عن ذلك أرشيف إمتداده .tar.xz |
إسم الأداة tar
هو اختصار لعبارة ملف أرشيفي ( Tap Archive ).
تحضير الملفات التي سيتم أرشفتها
لتطبيق الأمثلة التي وضعناها في هذا الدرس، قم بإنشاء مجلد إسمه data
و بداخله قم بإنشاء مجلد إسمه folder
بالإضافة إلى ثلاث ملفات إسمها file1
و file2
و file3
كما في الصورة التالية.
إنشاء أرشيف غير مضغوط في لينكس
1- فيما يلي قمنا باستخدام الأمر tar
لإنشاء أرشيف إسمه data.tar
غير مضغوط وضعنا فيه المجلد data
.
Linux Terminal
data/
data/file1
data/file2
data/file3
data/folder/
- الباراميتر
c
إستعملناه لإنشاء الأرشيف. - الباراميتر
v
إستعملناه لعرض أسماء المجلدات و الملفات التي سيتم تضمينها في الأرشيف. - الباراميتر
f
إستعملناه لتحدد إسم الأرشيف الذي نريد إنشاؤه.
2- إذا قمت بعرض الملفات و المجلدات الموجودة فإنك ستجد الأرشيف data.tar
تم إنشاؤه بجانب المجلد data
.
Linux Terminal
data.tar data
إذا قمت بقارنة حجم المجلد data
مع حجم الأرشيف data.tar
فإنك ستجد أن حجم الأرشيف أكبر و سبب ذلك أنه يحتوي على نسخة من المجلد data
بكل ما فيه بالإضافة إلى البيانات الخاصة به و المتعلقة بعملية الأرشفة. لتصغير حجم الأرشيف لا بد من ضغطه. إذاً من حيث مساحة التخزين فإنه لا فائدة من الأرشيف ما لم يتم ضغطه.
ليس بالضرورة أن يتم وضع أسماء الباراميترات المستخدمة مع الأمر tar
كما فعلنا و لكن من المتعارف عليه أن يتم وضع الباراميتر f
كآخر باراميتر، أي قبل ذكر إسم الأرشيف.
أرشفة مجلدات و ملفات متفرقة معاً في لينكس
1- فيما يلي قمنا باستخدام الأمر tar
لإنشاء أرشيف غير مضغوط إسمه data-specified.tar
وضعنا فيه الملف file1
و الملف file2
و المجلد folder
فقط.
Linux Terminal
data/file1
data/file2
data/folder/
2- إذا قمت بعرض الملفات و المجلدات الموجودة فإنك ستجد الأرشيف data-specified.tar
أصبح موجوداً كما يلي.
Linux Terminal
data-specified.tar data.tar data
إنشاء أرشيف مضغوط في لينكس
1- فيما يلي قمنا باستخدام الأمر tar
لإنشاء أرشيف مضغوط من المجلد data
بصيغة gzip
و إسمه data.tar.gz
.
Linux Terminal
data/
data/file1
data/file2
data/file3
data/folder/
- الباراميتر
c
إستعملناه لإنشاء الأرشيف. - الباراميتر
z
إستعملناه لضغط الأرشيف بواسطة أداةgzip
. - الباراميتر
v
إستعملناه لعرض أسماء المجلدات و الملفات التي سيتم تضمينها في الأرشيف. - الباراميتر
f
إستعملناه لتحدد إسم الأرشيف الذي نريد إنشاؤه.
صيغة الأرشيف المضغوط جعلناها .tar.gz
و ذلك لأن .tar
تشير إلى أنه عبارة عن أرشيف و .gz
توضح أنه تم ضغطه بواسطة أداة gzip
.
صيغة الأرشيف المضغوط مهمة جداً لأنه من خلالها نستطيع مستقبلاً معرفة أنه علينا استخدام الأداة gzip
في حال أردنااستخراج محتوى الأرشيف بشكل صحيح.
2- إذا قمت الآن بعرض الملفات و المجلدات الموجودة فإنك ستجد الأرشيف data.tar.gz
أصبح موجوداً كما يلي.
Linux Terminal
data-specified.tar data.tar data.tar.gz data
فك محتوى الأرشيف الغير مضغوط في لينكس
في البداية، قبل استخراج محتوى الأرشيف، قم بحذف المجلد data
الذي فيه نفس محتوى الأرشيف حتى تفهم ما يحصل بدقة.
إذا لم تقم بحذف المجلد data
قبل استخراج محتوى الأرشيف data.tar
فإنك لن تلاحظ أي فرق و ذلك لأن الملفات التي يتم استخراجها سيتم وضعها كما هي بدلاً منها، و أنت في هذه الحالة لن تلاحظ أي فرق بين الملفات!
التحضير لاستخراج محتوى الأرشيف
1- يمكنك استخدام الأمر rm -r
كما يلي لحذف المجلد data
.
Linux Terminal
2- إذا قمت الآن بعرض المجلدات و الملفات الموجودة باستخدام الأمر ls
فإنك لن تجد ضمنها المجلد data
.
Linux Terminal
data-specified.tar data.tar data.tar.gz
إستخراج محتوى الأرشيف
1- فيما يلي قمنا باستخدام الأمر tar
لاستخراج المحتوى الموجود في الأرشيف الغير مضغوط data.tar
.
Linux Terminal
data/
data/file1
data/file2
data/file3
data/folder/
- الباراميتر
x
إستعملناه لاستخراج المحتوى من الأرشيف. - الباراميتر
v
إستعملناه لعرض أسماء المجلدات و الملفات التي تم إخراجها تباعاً من الأرشيف. - الباراميتر
f
إستعملناه لتحدد إسم الأرشيف الذي نريد استخراج محتواه.
2- إذا قمت الآن بعرض المجلدات و الملفات الموجودة باستخدام الأمر ls
فإنك ستجد المجلد data
قد عاد كما كان.
Linux Terminal
data-specified.tar data.tar data.tar.gz data
فك محتوى الأرشيف المضغوط في لينكس
في البداية، قبل استخراج محتوى الأرشيف، قم بحذف المجلد data
كما فعلنا في الفقرة السابقة حتى تلاحظ الفرق.
عند استخراج محتوى أرشيف مضغوط، فإنه يجب استعمال الباراميتر الذي يشير إلى نوع الضغط حتى يتم فك الضغط عن الأرشيف بشكل صحيح.
إستخراج محتوى الأرشيف
1- فيما يلي قمنا باستخدام الأمر tar
لاستخراج المحتوى الموجود في الأرشيف لبمضغوط data.tar.gz
.
Linux Terminal
data/
data/file1
data/file2
data/file3
data/folder/
- الباراميتر
x
إستعملناه لاستخراج المحتوى من الأرشيف. - الباراميتر
z
إستعملناه لفك ضغط الأرشيف بواسطة أداةgzip
. - الباراميتر
v
إستعملناه لعرض أسماء المجلدات و الملفات التي تم إخراجها تباعاً من الأرشيف. - الباراميتر
f
إستعملناه لتحدد إسم الأرشيف الذي نريد استخراج محتواه.
2- إذا قمت الآن بعرض المجلدات و الملفات الموجودة باستخدام الأمر ls
فإنك ستجد المجلد data
قد عاد كما كان.
Linux Terminal
data-specified.tar data.tar data.tar.gz data