فايل (أمر)

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

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

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

استعمال 
$ file /dev/hda1 /dev/hda1: block special (0/0) الخيارات التالية:

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

أمثلة 
$ 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

مراجع 
 

برامج يونكس القياسية
خدمات مواصفات يونكس المنفردة