تنسيق أرشيف شار
SHAR (أرشيف Shell) هو تنسيق أرشيف يستند إلى Unix ويقوم بتجميع الملفات معًا في برنامج نصي Shell واحد. يقوم التنسيق بترميز الملفات في برنامج نصي عادي يمكن تنفيذه على نظام يشبه Unix لإعادة إنشاء الملفات الأصلية. تم استخدام SHAR على نطاق واسع في الأيام الأولى لنظام Unix لتوزيع البرامج ومشاركة مجموعات من الملفات، خاصة عبر البريد الإلكتروني أو Usenet. على الرغم من أنه تم استبداله إلى حد كبير بتنسيقات أكثر حداثة مثل tar وzip، إلا أن SHAR يظل تنسيقًا تاريخيًا مهمًا في نظام Unix البيئي، حيث يتميز ببساطته وقدرته على الإنشاء والاستخراج باستخدام أوامر shell الأساسية.
معلومات أرشيف SHAR العامة
أرشيفات SHAR (أرشيفات Shell) هي تنسيق يستند إلى Unix يُستخدم لتجميع ملفات متعددة في برنامج نصي واحد عادي. عند تنفيذه، يقوم هذا البرنامج النصي بإعادة إنشاء الملفات والأدلة الأصلية على نظام يشبه Unix. كانت SHAR شائعة بشكل خاص في الأيام الأولى لنظام Unix لتوزيع البرامج والوثائق ومجموعات الملفات الأخرى عبر البريد الإلكتروني أو Usenet. في حين أن تنسيقات الضغط الحديثة قد حلت محل SHAR إلى حد كبير، إلا أنها تظل تنسيقًا مهمًا في تاريخ Unix نظرًا لبساطتها وسهولة استخدامها مع أوامر Shell الأساسية.
تاريخ تنسيق أرشيف SHAR
- الثمانينيات: ظهرت SHAR كوسيلة مناسبة لتجميع الملفات في برنامج نصي واحد للتوزيع على أنظمة Unix. لقد كان مفيدًا بشكل خاص في البيئات التي كان فيها البريد الإلكتروني وUsenet الوسيلة الأساسية لمشاركة البرامج والملفات.
- أوائل التسعينيات: مع نمو استخدام الإنترنت، استمر SHAR في كونه تنسيقًا شائعًا لتوزيع الملفات عبر البريد الإلكتروني، حيث كان من السهل نقل تنسيقه البسيط القائم على النص عبر الشبكات المبكرة.
- منتصف التسعينيات: أدى ظهور تنسيقات الأرشيف الأكثر تقدمًا مثل tar، جنبًا إلى جنب مع أدوات الضغط مثل gzip، إلى انخفاض استخدام SHAR، على الرغم من بقائه قيد الاستخدام للتوزيع البسيط القائم على النص.
- العقد الأول من القرن الحادي والعشرين: أصبح SHAR أكثر من تنسيق متخصص، يُستخدم بشكل أساسي في مجتمعات يونكس محددة أو لأغراض تاريخية. إن سهولة إنشائه وتوافقه مع أوامر shell الأساسية جعلته مناسبًا لمهام معينة.
- اليوم: على الرغم من استبدال SHAR إلى حد كبير بتنسيقات الأرشيف الحديثة، إلا أنه لا يزال معروفًا بدوره في تاريخ Unix ويستخدم أحيانًا في الأنظمة القديمة أو للأغراض التعليمية.
هيكل أرشيف شل
تم تصميم بنية ملف SHAR (أرشيف Shell) ليكون برنامجًا نصيًا ذاتي الاستخراج يمكن تنفيذه على أنظمة تشبه Unix. على عكس الأرشيفات الثنائية، فإن ملفات SHAR هي نص عادي ويتم تفسيرها بواسطة الصدفة. فيما يلي نظرة عامة على بنية أرشيف SHAR النموذجي:
- Header: يبدأ أرشيف SHAR برأس يتضمن عادةً تعليقات حول الأرشيف، مثل تاريخ الإنشاء والمؤلف ووصف المحتويات. قد يتضمن هذا القسم أيضًا تعليمات لتفريغ الأرشيف.
- توجيهات الملف:
- يتم تمثيل كل ملف داخل أرشيف SHAR بسلسلة من أوامر الصدفة. تبدأ هذه الأوامر عادةً بأوامر echo أو cat التي تكتب محتوى الملف إلى المواقع المناسبة على النظام.
- تتضمن توجيهات الملف أيضًا أوامر لتعيين أذونات الملف الصحيحة، وذلك باستخدام أوامر chmod بعد إنشاء كل ملف.
- محتوى الملف: يتم تضمين المحتوى الفعلي لكل ملف في أرشيف SHAR، ويتم ترميزه عادةً باستخدام أساليب تعتمد على النص مثل uuencoding. وهذا يضمن إمكانية تضمين الملفات الثنائية بأمان في الأرشيف ونقلها كنص عادي.
- بنية الدليل: إذا كان أرشيف SHAR يحتوي على أدلة، فإن البرنامج النصي يتضمن أوامر لإنشاء هذه الأدلة باستخدام أوامر mkdir قبل استخراج الملفات إليها.
- التذييل: يُختتم أرشيف SHAR بتذييل، والذي يتضمن غالبًا تعليقات إضافية أو مجموع اختباري أو بيانات وصفية أخرى للتحقق من سلامة الملفات المستخرجة. وقد يتضمن التذييل أيضًا رسالة تشير إلى إتمام عملية الاستخراج بنجاح.
طرق ضغط SHAR
لا تتضمن ملفات SHAR (أرشيف Shell) بطبيعتها أي طرق ضغط داخل التنسيق نفسه. بدلاً من ذلك، فهي عبارة عن نصوص برمجية نصية عادية مصممة لحزم الملفات لتسهيل توزيعها واستخراجها في بيئات تشبه Unix. ومع ذلك، يمكن تطبيق الضغط بعدة طرق مختلفة:
- غير مضغوطة: بشكل افتراضي، تكون أرشيفات SHAR عبارة عن ملفات نصية غير مضغوطة، مما يجعلها قابلة للقراءة والتنفيذ بسهولة كبرامج نصية. يحافظ هذا الأسلوب على البساطة والتوافق الواسع، مما يسمح بتفكيك الملفات بسهولة باستخدام أوامر shell القياسية.
- الضغط الخارجي: يمكن ضغط ملفات SHAR باستخدام أدوات ضغط خارجية مثل GZIP أو BZIP2 أو ZIP بعد إنشائها. يؤدي هذا إلى تقليل الحجم الإجمالي للملف للتوزيع أو التخزين ولكنه يتطلب إلغاء الضغط قبل تنفيذ أرشيف SHAR. على سبيل المثال، قد يتم توزيع ملف SHAR كملف .shar.gz أو .shar.bz2.
- الضغط بعد التفريغ: في بعض الحالات، قد تتضمن أرشيفات SHAR أوامر داخل البرنامج النصي لضغط الملفات الفردية بعد استخراجها. يعد هذا أقل شيوعًا ولكن يمكن استخدامه عندما يلزم ضغط ملفات معينة داخل الأرشيف كجزء من عملية التفريغ.
- الدمج مع TAR: على الرغم من أن SHAR نفسه لا يتضمن الضغط، إلا أنه يمكن دمجه مع أرشيف TAR (الذي يمكن بعد ذلك ضغطه) لإنشاء ملف .tar.shar.gz أو ملف مشابه. تسمح هذه الطريقة بأرشفة وضغط مجموعات أكبر من الملفات في خطوة واحدة.
.shar العمليات المدعومة
تدعم Aspose.Zip API مجموعة متنوعة من العمليات للعمل مع ملفات .shar، وهي ملفات صور قرص شائعة الاستخدام لتوزيع البرامج وإنشاء نسخ احتياطية. فيما يلي بعض العمليات الرئيسية التي تدعمها Aspose.Zip API لملفات .shar:
- إنشاء أرشيفات SHAR: تقدم ملفات SHAR، بالإضافة إلى بساطتها، أسلوبًا متعدد الاستخدامات لتوزيع البرامج وإنشاء النسخ الاحتياطية. يمكّنك Aspose.Zip من الاستفادة من هذا التنسيق بسلاسة من خلال مجموعة شاملة من الوظائف. قم بإنشاء أرشيفات SHAR جديدة تمامًا من الملفات والأدلة الموجودة لديك. تعتبر هذه الوظيفة مثالية لصياغة أدوات تثبيت البرامج أو النسخ الاحتياطية الشاملة. قد لا يدعم Aspose.Zip جميع الوظائف المرتبطة بالأرشيف التقليدي مثل ZIP وRAR و7Z والتنسيقات الأخرى لملفات SHAR.
هيكل ملف .shar
- رأس البرنامج النصي لـ Shell: رأس البرنامج النصي القياسي لـ Shell (على سبيل المثال، #!/bin/sh).
- بيانات تعريف الملف: معلومات حول كل ملف، بما في ذلك اسم الملف والأذونات ووقت التعديل.
- محتوى الملف: محتوى الملف الفعلي، المشفر عادةً بتنسيق base64 أو تنسيق مشابه.
- أوامر Shell: أوامر لإنشاء الدلائل وكتابة محتوى الملف على القرص.
** ملف SHAR هو في الأساس برنامج نصي لـ Shell **. إنه تنسيق يستند إلى نص ويحتوي على أوامر لإعادة إنشاء بنية الملف الأصلي عند تنفيذه. الهيكل الأساسي:
تراجع أرشيف SHAR
أسباب الرفض
اليوم، تعتبر أرشيفات SHAR تنسيقًا قديمًا ونادرًا ما يتم استخدامها في توزيع البرامج الحديثة. ربما لا يزال من الممكن مواجهتها في أرشيفات البرامج التاريخية أو في المواقف المتخصصة حيث يكون التوافق مع الأنظمة القديمة جدًا مطلوبًا، ولكن تم استبدالها إلى حد كبير بطرق أرشفة أكثر كفاءة وموثوقية. <ر>
- وظائف محدودة: تفتقر أرشيفات SHAR إلى الميزات الموجودة في تنسيقات الأرشيف الحديثة مثل الضغط ومعالجة الأخطاء والحفاظ على البيانات التعريفية.
- المخاوف الأمنية:، باعتبارها نصوص برمجية لـ Shell، من المحتمل أن تحتوي ملفات SHAR على تعليمات برمجية ضارة، مما يشكل خطرًا أمنيًا.
- الكفاءة: بالمقارنة مع التنسيقات الأحدث، يعد SHAR بشكل عام أقل كفاءة من حيث سرعة التخزين والاستخراج.
- ظهور بدائل أفضل: توفر التنسيقات مثل ZIP وTAR و7-Zip أداءً فائقًا وأمانًا وميزات، مما يجعلها الخيار المفضل لمعظم المستخدمين.
أمثلة على استخدام أرشيفات SHAR
يوفر Aspose.Zip القدرة على إنشاء ملفات SHAR (أرشيف Shell)، مما يسمح لك بتجميع ملفات متعددة في أرشيف واحد لسهولة التوزيع على أنظمة UNIX وLinux. ومع ذلك، من المهم ملاحظة أن Aspose.Zip يدعم حاليًا إنشاء أرشيفات SHAR فقط ولا يتضمن وظائف لعمليات أخرى مثل استخراج ملفات SHAR الموجودة أو تعديلها. فيما يلي أمثلة توضح كيفية إنشاء أرشيفات SHAR باستخدام Aspose.Zip في مشاريعك.
Create SHAR Arcive via C#
using(SharArchive a = new SharArchive())
{
a.CreateEntry(“first.bin”, “data.bin”);
a.Save(“result.shar”);
}
![]() | ![]() | ![]() |
---|
معلومات إضافية
لقد كان الناس يسألون
1. كيف يمكنني استخراج الملفات من أرشيف SHAR؟
لاستخراج الملفات من أرشيف SHAR، عليك تنفيذ ملف SHAR نفسه. سيقوم البرنامج النصي بتشغيل الأوامر لإعادة إنشاء بنية الملف الأصلي.
2. هل لا تزال أرشيفات SHAR مستخدمة حتى اليوم؟
نادرًا ما يتم استخدام أرشيفات SHAR اليوم. توفر تنسيقات الأرشيف الحديثة مثل ZIP وTAR و7-Zip ميزات وأمانًا فائقين، مما يجعلها الخيار المفضل لمعظم المستخدمين.
3. ما هي القيود المفروضة على أرشيفات SHAR؟
تحتوي أرشيفات SHAR على العديد من القيود، بما في ذلك نقص الضغط والدعم المحدود للبيانات الوصفية والمخاطر الأمنية المحتملة بسبب طبيعتها كنصوص برمجية، وعدم الكفاءة مقارنة بتنسيقات الأرشيف الحديثة.