الأمر file هو معيار البرنامج من أنظمة التشغيل يونكس وشبيه يونكس للاعتراف من البيانات الواردة في ملف الكمبيوتر.

file
معلومات عامة
نوع
نظام التشغيل
المنصة
النموذج المصدري
المطورون
موقع الويب
معلومات تقنية
لغة البرمجة
الإصدار الأول
1973 (1973) ; 1986 (1986)
الإصدار الأخير
  • 5.45
    (27 يوليو 2023)
    [1] عدل القيمة على Wikidata
المستودع
الرخصة

التاريخ عدل

النسخة الأصلية file نشأت في ريسيرش يونكس 4 [2] في عام 1973. جلب نظام يونكس الخامس تحديثًا رئيسيًا مع العديد من التغييرات المهمة، أبرزها نقل معلومات نوع الملف إلى ملف نصي خارجي بدلاً من تجميعها في الملف الثنائي نفسه.

تستخدم معظم توزيعة برمجيات بيركلي وLinux الرئيسية تطبيقًا مجانيًا مفتوح المصدر كتبه إيان داروين [3] 1986 [3] من الصفر. تم توسيعه بواسطة جيف كولير في عام 1989 ومنذ ذلك الحين كان مدخلات من العديد من الآخرين، بما في ذلك جاي هاريس وكريس لوث وإريك فيشر؛ من أواخر عام 1993 فصاعدًا، تم تنظيم صيانته بواسطة Christos Zoulas . يحتوي نظام أوبن بي إس دي على تطبيق مجموعة فرعية خاص به مكتوب من البداية، ولكنه لا يزال يستخدم مجموعة Darwin / Zoulas من المعلومات المنسقة للملفات السحرية.

استعمال عدل

$ file /dev/hda1 /dev/hda1: block special (0/0)

الخيارات التالية:[4]

-M ملف ، تحديد ملف مهيأ خصيصا يحتوي على اختبارات حساسة للموقف؛ لن يتم إجراء الاختبارات الحساسة للموقف الافتراضية والاختبارات الحساسة للسياق.
-m ملف ، بالنسبة لـ -M ، ولكن سيتم إجراء الاختبارات الافتراضية بعد الاختبارات الموجودة في file .
، إجراء اختبارات حساسة للموقف وحساسة للسياق للملف المحدد؛ هذا هو السلوك الافتراضي ما لم يتم تحديد -M أو -m .
-h ، لا تقم بإلغاء تحديد الارتباطات الرمزية التي تشير إلى ملف أو دليل موجود.
-L ، قم بإلغاء تحديد الارتباط الرمزي الذي يشير إلى ملف أو دليل موجود.
-i ، لا تقم بتصنيف الملف إلى أبعد من تحديده إما: غير موجود أو ملف كتلة خاص أو ملف خاص للشخصيات أو دليل أو FIFO أو مأخذ توصيل أو رابط رمزي أو ملف عادي. تتصرف أنظمة Linux [5] و BSD [6] بشكل مختلف مع هذا الخيار، وبدلاً من ذلك، تقوم بإخراج نوع وسائط إنترنت («نوع امتدادات البريد المتعددة») يحدد تنسيق الملف المعترف به.

أمثلة عدل

$ file file.c file.c: C program text
$ file program program: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), stripped
$ file -s /dev/hda1 /dev/hda1: Linux/i386 ext2 filesystem

لاحظ أن -s هو خيار غير قياسي متوفر فقط في بعض الأنظمة الأساسية، والذي يخبر file بقراءة ملفات الجهاز ومحاولة تحديد محتوياتها بدلاً من مجرد تعريفها كملفات جهاز. عادةً لا يحاول file قراءة ملفات الجهاز لأن قراءة مثل هذا الملف يمكن أن يكون لها آثار جانبية غير مرغوب فيها.

$ file -k -r libmagic-dev_5.35-4_armhf.deb # (on Linux) libmagic-dev_5.35-4_armhf.deb: Debian binary package (format 2.0) - current ar archive - data

من خلال الخيار غير القياسي - k لا يتوقف البرنامج بعد العثور على الضربة الأولى، ولكنه يبحث عن أنماط مطابقة أخرى. يؤدي الخيار -r ، المتاح في بعض الإصدارات، إلى عرض حرف السطر الجديد غير القابل للطباعة في شكله الخام بدلاً من عرضه الثماني.

$ file compressed.gz compressed.gz: gzip compressed data, deflated, original filename, `compressed', last modified: Thu Jan 26 14:08:23 2006, os: Unix

مراجع عدل

  1. ^ أ ب "[File] file-5.45 is now available". 27 يوليو 2023. اطلع عليه بتاريخ 2023-07-28.
  2. ^ "Source of the UNIX V4 "file" man page". مؤرشف من الأصل في 2019-12-10.
  3. ^ أ ب The early history of this program is recorded in its private CVS repository; see [1] the log of the main program نسخة محفوظة 01 أبريل 2017 على موقع واي باك مشين.
  4. ^ The Open Group Base Specifications Issue 7 — file command نسخة محفوظة 12 أكتوبر 2018 على موقع واي باك مشين.
  5. ^ قالب:Man
  6. ^ قالب:Man