فايل (أمر)
نوع | |
---|---|
نظام التشغيل | |
المنصة | |
النموذج المصدري | |
المطورون | |
موقع الويب |
لغة البرمجة | |
---|---|
الإصدار الأول |
1973 ; 1986 |
الإصدار الأخير |
|
المستودع | |
الرخصة |
الأمر file
هو معيار البرنامج من أنظمة التشغيل يونكس وشبيه يونكس للاعتراف من البيانات الواردة في ملف الكمبيوتر.
التاريخ
[عدل]النسخة الأصلية 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
مراجع
[عدل]- فايل على موقع Open Hub (الإنجليزية)
- فايل على موقع Free Software Directory (الإنجليزية)
- ^ ا ب "[File] file-5.45 is now available". 27 يوليو 2023. اطلع عليه بتاريخ 2023-07-28.
- ^ "Source of the UNIX V4 "file" man page". مؤرشف من الأصل في 2019-12-10.
- ^ ا ب The early history of this program is recorded in its private CVS repository; see [1] the log of the main program نسخة محفوظة 01 أبريل 2017 على موقع واي باك مشين.
- ^ The Open Group Base Specifications Issue 7 — file command نسخة محفوظة 12 أكتوبر 2018 على موقع واي باك مشين.
- ^ Linux User Manual – User Commands –
- ^ NetBSD General Commands Manual –