table of contents
| ملف(1) | General Commands Manual | ملف(1) |
الاسم¶
file —
يحدد نوع
الملف
موجز¶
file
[-bcdEhiklLNnprsSvzZ0]
[--apple] [--exclude-quiet]
[--extension]
[--mime-encoding]
[--mime-type]
[-e testname]
[-F separator]
[-f namefile]
[-m magicfiles]
[-P name=value] file
... file -C
[-m magicfiles]
file [--help]
الوصف¶
توثق صفحة
الدليل هذه
الإصدار 5.47
من الأمر
file.
يختبر
file كل
معطى في
محاولة
لتصنيفه.
هناك ثلاث
مجموعات من
الاختبارات،
تُنفذ بهذا
الترتيب:
اختبارات
نظام
الملفات،
والاختبارات
السحرية،
واختبارات
اللغة. يؤدي
الاختبار
الأول
الذي ينجح
إلى طباعة
نوع الملف.
سيحتوي
النوع
المطبوع
عادةً على
إحدى
الكلمات
text
(يحتوي
الملف على
محارف
قابلة
للطباعة
فقط وبعض
محارف
التحكم
الشائعة،
ومن
المحتمل أن
تكون
قراءته
آمنة على
طرفية ASCII)
، أو
executable
(يحتوي
الملف على
نتيجة
ترجمة
برنامج
بصيغة
مفهومة
لنواة UNIX أو
غيرها)، أو
data
وتعني أي
شيء آخر
(عادة ما
تكون
البيانات
“ثنائية”
أو غير
قابلة
للطباعة).
الاستثناءات
هي تنسيقات
الملفات
المعروفة
(ملفات الـ
core،
وأرشيفات tar)
المعروفة
باحتوائها
على بيانات
ثنائية. عند
تعديل
الملفات
السحرية أو
البرنامج
نفسه، تأكد
من
الحفاظ
على هذه
الكلمات
المفتاحية.
يعتمد
المستخدمون
على معرفة
أن جميع
الملفات
القابلة
للقراءة في
دليل ما قد
طُبعت لها
كلمة “text”. لا
تفعل كما
فعلت
بيركلي
وتغير “shell commands text”
إلى “shell script”.
تعتمد
اختبارات
نظام
الملفات
على فحص
القيمة
الراجعة من
استدعاء
النظام stat(2).
يتحقق
البرنامج
لمعرفة ما
إذا كان
الملف
فارغًا، أو
ما إذا كان
نوعًا من
الملفات
الخاصة. أي
أنواع
ملفات
معروفة
ومناسبة
للنظام
الذي تعمل
عليه
(المقابس،
أو الروابط
الرمزية،
أو
الأنابيب
المسماة (FIFOs)
في الأنظمة
التي
تطبقها)
تُكتشف
حدسيًا إذا
كانت معرفة
في ملف
الترويسة
للنظام
<sys/stat.h>.
تُستخدم
الاختبارات
السحرية
للتحقق من
الملفات
التي تحتوي
على بيانات
بتنسيقات
ثابتة
معينة.
المثال
النموذجي
على ذلك هو
ملف a.out
وهو ملف
تنفيذي
ثنائي
(برنامج
مترجم)،
وتنسيقه
معرف في
<elf.h> ،
<a.out.h>
وربما
<exec.h> في
دليل
المضمنات
القياسي.
تمتلك هذه
الملفات
“رقمًا
سحريًا”
مخزنًا في
مكان محدد
قرب بداية
الملف
يُعلم نظام
تشغيل
يونكس بأن
الملف هو
ملف تنفيذي
ثنائي،
ويحدد نوعه
من بين عدة
أنواع.
طُبّق
مفهوم
“الرقم
السحري”
بالتبعية
على ملفات
البيانات.
وأي ملف
يمتلك
معرفًا
ثابتًا عند
إزاحة
ثابتة
صغيرة داخل
الملف يمكن
عادةً وصفه
بهذه
الطريقة.
تُقرأ
المعلومات
المعرفة
لهذه
الملفات من
ملف السحر
المصرّف
/usr/share/file/magic.mgc ، أو
الملفات
الموجودة
في الدليل
/usr/share/file/magic إذا
لم يكن
الملف
المصرّف
موجودًا.
وبالإضافة
إلى ذلك،
إذا وُجد
$HOME/.magic.mgc أو
$HOME/.magic ،
فسيُستخدم
تفضيلًا
على ملفات
السحر
الخاصة
بالنظام.
إذا لم
يتطابق
الملف مع أي
من
الإدخالات
في الملف
السحري،
فيُفحص
لمعرفة ما
إذا كان
يبدو ملفًا
نصيًا. يمكن
تمييز أطقم
المحارف ASCII و
ISO-8859-x و Extended-ASCII ذات
الـ 8 بت غير
التابعة
لمعيار ISO
(مثل تلك
المستخدمة
في أنظمة Macintosh و
IBM PC)، و Unicode
المرمز بـ
UTF-8، و Unicode
المرمز بـ
UTF-16، وأطقم
محارف EBCDIC من
خلال
النطاقات و
تسلسلات
البايتات
المختلفة
التي تشكل
نصًا
قابلاً
للطباعة في
كل طقم. إذا
اجتاز
الملف أيًا
من هذه
الاختبارات،
يُبلغ عن
طقم محارفه.
تُعرف
ملفات ASCII و ISO-8859-x و
UTF-8 و extended-ASCII على
أنها “text”
لأنها
ستكون
قابلة
للقراءة في
الغالب على
أي طرفية
تقريبًا؛
أما UTF-16 و EBCDIC فهي
“character data” فقط
لأنها، رغم
احتوائها
على نص، إلا
أنه نص
يتطلب
ترجمة قبل
أن يمكن
قراءته.
بالإضافة
إلى ذلك،
سيحاول
file تحديد
خصائص أخرى
للملفات من
النوع
النصي. إذا
كانت سطور
الملف
تنتهي بـ CR
أو CRLF أو NEL،
بدلاً من LF
القياسي في
يونكس،
فسيُبلغ عن
ذلك. ستُعرف
أيضًا
الملفات
التي تحتوي
على
تسلسلات
هروب مضمنة
أو كتابة
فوقية.
بمجرد أن
يحدد file
طقم
المحارف
المستخدم
في ملف من
النوع
النصي،
فإنه
سيحاول
تحديد
اللغة التي
كُتب بها
الملف. تبحث
اختبارات
اللغة عن
سلاسل نصية
معينة (قارن
بـ <names.h>)
والتي يمكن
أن تظهر في
أي مكان في
الكتل
القليلة
الأولى من
الملف. على
سبيل
المثال،
تشير
الكلمة
المفتاحية
.br
إلى أن
الملف هو
على الأرجح
ملف إدخال
troff(1) ،
تمامًا كما
تشير
الكلمة
المفتاحية
struct
إلى برنامج C.
هذه
الاختبارات
أقل
موثوقية من
المجموعتين
السابقتين،
لذا تُنفذ
في النهاية.
تختبر
روتينات
اختبار
اللغة
أيضًا بعض
المتفرقات
(مثل
أرشيفات
tar(1) وملفات
JSON).
أي ملف لا يمكن تحديده على أنه كُتب بأي من أطقم المحارف المدرجة أعلاه يقال عنه ببساطة إنه “data”.
الخيارات¶
--apple- يجعل الأمر
fileيخرج نوع الملف ورمز المنشئ كما هو مستخدم في إصدارات MacOS القديمة. يتكون الرمز من ثمانية أحرف، الأربعة الأولى تصف نوع الملف، والأربعة الأخيرة تصف المنشئ. يعمل هذا الخيار بشكل صحيح فقط لتنسيقات الملفات التي لديها مخرجات معرفة بنمط آبل (apple-style). -b,--brief- لا يسبق أسطر المخرجات بأسماء الملفات (الوضع الموجز).
-C,--compile- يكتب ملف مخرجات magic.mgc يحتوي على نسخة محللة مسبقًا من الملف السحري أو الدليل.
-c,--checking-printout- يؤدي إلى
طباعة فحص
للنموذج
المحلل
للملف
السحري.
يُستخدم
هذا عادةً
بالاقتران
مع الخيار
-mلـ تنقيح ملف سحري جديد قبل تثبيته. -d- يطبع معلومات التنقيح الداخلية إلى الخطأ القياسي stderr.
-E- عند حدوث أخطاء في نظام الملفات (الملف غير موجود إلخ)، بدلاً من معالجة الخطأ كمخرجات عادية كما يفرض معيار POSIX والاستمرار، يصدر رسالة خطأ ويخرج.
-e,--excludetestname- يستبعد
الاختبار
المسمى في
testname من
قائمة
الاختبارات
التي
أُجريت
لتحديد نوع
الملف.
أسماء
الاختبارات
الصالحة هي:
- apptype
- نوع تطبيق
EMX(فقط على EMX). - ascii
- أنواع مختلفة من الملفات النصية (سيحاول هذا الاختبار تخمين ترميز النص، بغض النظر عن إعداد خيار ‘encoding’).
- encoding
- ترميزات نصية مختلفة لاختبارات السحر البرمجية (soft magic).
- tokens
- يتم تجاهله للتوافق مع الإصدارات السابقة.
- cdf
- يطبع تفاصيل ملفات المستندات المركبة (Compound Document Files).
- compress
- يتحقق من الملفات المضغوطة وينظر بداخلها.
- csv
- يتحقق من ملفات القيم المفصولة بفاصلة (CSV).
- elf
- يطبع تفاصيل ملف ELF، بشرط تمكين اختبارات السحر البرمجية والعثور على سحر elf.
- json
- يفحص ملفات JSON (RFC-7159) من خلال تحليلها للتحقق من الامتثال.
- soft
- يستشير الملفات السحرية.
- simh
- يفحص ملفات شريط SIMH.
- tar
- يفحص ملفات tar من خلال التحقق من مجموع التحقق لترويسة tar البالغة 512 بايت. يمكن أن يوفر استبعاد هذا الاختبار وصفًا أكثر تفصيلاً للمحتوى باستخدام طريقة السحر البرمجية.
- text
- مرادف لـ ‘ascii’.
--exclude-quiet- مثل
--excludeولكن يتجاهل الاختبارات التي لا يعرفهاfile. مخصص للتوافق مع الإصدارات الأقدم منfile. --extension- يطبع قائمة مفصولة بشرطة مائلة للامتدادات الصالحة لنوع الملف الذي عُثر عليه.
-F,--separatorseparator- يستخدم السلسلة النصية المحددة كفاصل بين اسم الملف ونتيجة الملف المعادة. القيمة المبدئية هي ‘:’.
-f,--files-fromnamefile- يقرأ أسماء
الملفات
المراد
فحصها من
namefile (واحد
لكل سطر)
قبل قائمة
المعطيات.
يجب توفر
إما namefile أو
معطى اسم
ملف واحد
على الأقل؛
لاختبار
الإدخال
القياسي،
استخدم ‘-’
كمعطى لاسم
الملف. يرجى
ملاحظة أنه
يتم فك
تغليف namefile
وتُعالج
أسماء
الملفات
المضمنة
عند مواجهة
هذا الخيار
وقبل إجراء
أي معالجة
أخرى
للخيارات.
يسمح هذا
بمعالجة
قوائم
متعددة من
الملفات
بمعطيات
سطر أوامر
مختلفة في
نفس
استدعاء
file. وهكذا، إذا كنت تريد تعيين الفاصل، فأنت بحاجة إلى القيام بذلك قبل تحديد قائمة الملفات، مثل: “-F@-fnamefile” ، بدلاً من: “-fnamefile-F@”. -h,--no-dereference- يؤدي هذا
الخيار إلى
عدم تتبع
الروابط
الرمزية (في
الأنظمة
التي تدعم
الروابط
الرمزية).
هذا هو
المبدئي
إذا لم
يُعرف
متغير
البيئة
POSIXLY_CORRECT. -i,--mime- يجعل الأمر
fileيخرج سلاسل نوع mime بدلاً من السلاسل التقليدية التي يمكن للبشر قراءتها. وبالتالي قد يقول ‘text/plain; charset=us-ascii’ بدلاً من “ASCII text”. --mime-type,--mime-encoding- مثل
-i، ولكن يطبع فقط العناصر المحددة. -k,--keep-going- لا يتوقف
عند
التطابق
الأول، بل
يستمر. سيتم
سبق
التطابقات
اللاحقة
بالسلسلة
‘\012- ’. (إذا كنت
تريد سطرًا
جديدًا،
فراجع
الخيار
-r.) يأتي النمط السحري ذو القوة الأعلى (راجع الخيار-l) أولاً. -l,--list- يعرض قائمة
من الأنماط
وقوتها
مرتبة
تنازليًا
حسب قوة
magic(5)
المستخدمة
للمطابقة
(راجع أيضًا
الخيار
-k). -L,--dereference- يؤدي هذا
الخيار إلى
تتبع
الروابط
الرمزية،
كما هو
الحال في
الخيار
المشابه
المسمى في
ls(1) (في
الأنظمة
التي تدعم
الروابط
الرمزية).
هذا هو
المبدئي
إذا عُرف
متغير
البيئة
POSIXLY_CORRECT. -m,--magic-filemagicfiles- يحدد قائمة بديلة من الملفات والأدلة التي تحتوي على السحر. يمكن أن يكون هذا عنصرًا واحدًا، أو قائمة مفصولة بنقطتين. إذا وُجد ملف سحري مترجم بجانب ملف أو دليل، فسيُستخدم بدلاً منه.
-N,--no-pad- لا يحشو أسماء الملفات بحيث تتماذى في المخرجات.
-n,--no-buffer- يفرض تفريغ المخرجات القياسية stdout بعد فحص كل ملف. هذا مفيد فقط عند فحص قائمة من الملفات. يهدف استخدامه من قبل البرامج التي تريد مخرجات نوع الملف من أنبوب.
-p,--preserve-date- في الأنظمة
التي تدعم
utime(3) أو utimes(2)
، يحاول
الحفاظ على
وقت الوصول
للملفات
التي
حُللت،
للتظاهر
بأن
fileلم يقرأها أبدًا. -P,--parametername=value- يضبط حدود
المعاملات
المختلفة.
الاسم المبدئي الشرح bytes1M أقصى عدد من البايتات للقراءة من الملف elf_notes256 أقصى عدد من ملاحظات ELF التي تمت معالجتها elf_phnum2K أقصى عدد من أقسام برنامج ELF التي تمت معالجتها elf_shnum32K الحد الأقصى لأقسام ELF المعالجة elf_shsize128MB الحد الأقصى لحجم قسم ELF المعالج encoding65K الحد الأقصى لعدد البايتات لتحديد الترميز indir50 حد الاستدعاء الذاتي للسحر غير المباشر name150 حد عدد استخدام سحر الاسم/الاستخدام regex8K حد الطول لعمليات بحث التعبير النمطي -r,--raw- لا تترجم
المحارف
غير
القابلة
للطباعة
إلى \ooo. عادةً
ما يترجم
fileالمحارف غير القابلة للطباعة إلى تمثيلها الثماني. -s,--special-files- عادةً،
يحاول
fileفقط قراءة وتحديد نوع ملفات المعطيات التي يبلغ stat(2) بأنها ملفات عادية. يمنع هذا حدوث مشكلات، لأن قراءة الملفات الخاصة قد تؤدي إلى عواقب غريبة. يؤدي تحديد الخيار-sإلى جعلfileيقرأ أيضًا ملفات المعطيات التي هي ملفات خاصة كتلية أو محرفية. هذا مفيد لتحديد أنواع أنظمة ملفات البيانات في أقسام القرص الخام، والتي هي ملفات خاصة كتلية. يتسبب هذا الخيار أيضًا في تجاهلfileلحجم الملف كما يبلغه stat(2) نظرًا لأن بعض الأنظمة تبلغ عن حجم صفري لأقسام القرص الخام. -S,--no-sandbox- في الأنظمة
التي يتوفر
فيها libseccomp
(https://github.com/seccomp/libseccomp) ،
يعطل
الخيار
-Sالعزل (sandboxing) المُمكّن مبدئيًا. هذا الخيار مطلوب لكي ينفذfileبرامج فك ضغط خارجية، أي عند تحديد الخيار-zوعدم توفر أدوات فك الضغط المدمجة. لا يؤثر هذا الخيار في الأنظمة التي لا يتوفر فيها العزل. -v,--version- اطبع إصدارة البرنامج ثم اخرج.
-z,--uncompress- حاول النظر داخل الملفات المضغوطة.
-Z,--uncompress-noreport- حاول النظر داخل الملفات المضغوطة، ولكن بلغ عن معلومات حول المحتويات فقط وليس الضغط.
-0,--print0- أخرج
محرفًا
فارغًا ‘\0’
بعد نهاية
اسم الملف.
مفيد لـ cut(1)
المخرجات.
لا يؤثر هذا
في الفاصل،
الذي لا
يزال يُطبع.
إذا كُرر هذا الخيار أكثر من مرة، فسيطبع
fileاسم الملف فقط يليه NUL ثم الوصف (أو نص الخطأ ERROR: text) يليه NUL ثانٍ لكل مدخلة. --help- اطبع رسالة مساعدة ثم اخرج.
البيئة¶
يمكن
استخدام
متغير
البيئة
MAGIC لضبط
اسم ملف
السحر
المبدئي.
إذا ضُبط
هذا
المتغير،
فلن يحاول
file فتح
$HOME/.magic. يضيف
file
الامتداد
“.mgc” إلى
قيمة هذا
المتغير
حسب
الاقتضاء.
يتحكم
متغير
البيئة
POSIXLY_CORRECT (في
الأنظمة
التي تدعم
الروابط
الرمزية)
فيما إذا
كان file
سيحاول
تتبع
الروابط
الرمزية أم
لا. إذا
ضُبط،
يتتبع file
الرابط
الرمزي،
وإلا فلا.
يُتحكم في
هذا أيضًا
عبر
الخيارين
-L و -h.
الملفات¶
- /usr/share/file/magic.mgc
- قائمة السحر المجمعة المبدئية.
- /usr/share/file/magic
- دليل يحتوي على ملفات السحر المبدئية.
حالة الخروج¶
سيخرج
file
بالقيمة
0 إذا
نجحت
العملية أو
بالقيمة
>0 إذا
وُجه خطأ.
تتسبب
الأخطاء
التالية في
ظهور رسائل
تشخيصية،
لكنها لا
تؤثر في رمز
خروج
البرنامج
(كما يتطلب
POSIX)، ما لم
يُحدد
الخيار
-E:
- تعذر العثور على ملف
- لا يوجد إذن لقراءة ملف
- تعذر تحديد نوع الملف
أمثلة¶
$ file file.c file /dev/{wd0a,hda}
file.c: C program text
file: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),
dynamically linked (uses shared libs), stripped
/dev/wd0a: block special (0/0)
/dev/hda: block special (3/0)
$ file -s /dev/wd0{b,d}
/dev/wd0b: data
/dev/wd0d: x86 boot sector
$ file -s /dev/hda{,1,2,3,4,5,6,7,8,9,10}
/dev/hda: x86 boot sector
/dev/hda1: Linux/i386 ext2 filesystem
/dev/hda2: x86 boot sector
/dev/hda3: x86 boot sector, extended partition table
/dev/hda4: Linux/i386 ext2 filesystem
/dev/hda5: Linux/i386 swap file
/dev/hda6: Linux/i386 swap file
/dev/hda7: Linux/i386 swap file
/dev/hda8: Linux/i386 swap file
/dev/hda9: empty
/dev/hda10: empty
$ file -i file.c file /dev/{wd0a,hda}
file.c: text/x-c
file: application/x-executable
/dev/hda: application/x-not-regular-file
/dev/wd0a: application/x-not-regular-file
انظر أيضًا¶
المطابقة للمعايير¶
يُعتقد أن هذا البرنامج يتجاوز تعريف واجهة System V لـ FILE(CMD)، بقدر ما يمكن تحديده من اللغة الغامضة الواردة فيه. سلوكه متوافق في الغالب مع برنامج System V الذي يحمل نفس الاسم. ومع ذلك، فإن هذه الإصدارة تعرف المزيد من السحر، لذا ستنتج مخرجات مختلفة (وإن كانت أكثر دقة) في كثير من الحالات.
الاختلاف الرئيس الوحيد بين هذه الإصدارة و System V هو أن هذه الإصدارة تعامل أي مساحة بيضاء كفاصل، لذا يجب هروب المسافات في سلاسل الأنماط. على سبيل المثال،
>10 string language impress (imPRESS data)
في ملف سحر موجود يجب تغييرها إلى
>10 string language\ impress (imPRESS data)
بالإضافة إلى ذلك، في هذه الإصدارة، إذا كانت سلسلة النمط تحتوي على شرطة مائلة خلفية، فيجب هروبها. على سبيل المثال
0 string \begindata Andrew Toolkit document
في ملف سحر موجود يجب تغييرها إلى
0 string \\begindata Andrew Toolkit document
تتضمن
إصدارات SunOS 3.2
وما بعدها
من Sun Microsystems أمر
file مشتق
من نظام System V،
ولكن مع بعض
التوسيعات.
تختلف هذه
الإصدارة
عن إصدارة Sun
بطرق بسيطة
فقط. وهي
تتضمن
توسيع
المعامل
‘&’ ،
المستخدم
على سبيل
المثال
كـ،
>16 long&0x7fffffff >0 not stripped
الأمن¶
في
الأنظمة
التي يتوفر
فيها libseccomp
(https://github.com/seccomp/libseccomp) ،
يفرض file
قصر
استدعاءات
النظام على
الاستدعاءات
الضرورية
فقط لعمل
البرنامج.
لا يوفر هذا
الإلزام أي
فائدة
أمنية
عندما
يُطلب من
file فك ضغط
ملفات
المدخلات
بتشغيل
برامج
خارجية
باستخدام
الخيار -z.
لتمكين
تنفيذ
برامج فك
الضغط
الخارجية،
يجب تعطيل
العزل
باستخدام
الخيار
-S.
دليل السحر¶
جُمعت مدخلات ملف السحر من مصادر مختلفة، بشكل رئيس من USENET، وساهم بها مؤلفون مختلفون. سيقوم Christos Zoulas (العنوان أدناه) بجمع مدخلات ملف سحر إضافية أو مصححة. سيُوزع توحيد لمدخلات ملف السحر بشكل دوري.
ترتيب
المدخلات
في ملف
السحر مهم.
واعتمادًا
على النظام
الذي
تستخدمه،
قد يكون
ترتيب
تجميعها
غير صحيح.
إذا كان أمر
file
القديم
يستخدم ملف
سحر،
فاحتفظ
بملف السحر
القديم
لأغراض
المقارنة
(أعد تسميته
إلى
/usr/share/file/magic.orig).
التاريخ¶
كان هناك
أمر file في
كل إصدارة
UNIX منذ
إصدارة Research Version 4
على الأقل
(صفحة
الدليل
مؤرخة في
نوفمبر 1973).
قدمت
إصدارة System V
تغييرًا
رئيساً
واحدًا:
القائمة
الخارجية
لأنواع
السحر. أدى
هذا إلى
إبطاء
البرنامج
قليلاً
ولكنه جعله
أكثر مرونة
بكثير.
هذا البرنامج، المبني على إصدارة System V، كتبه Ian Darwin ⟨ian@darwinsys.com⟩ دون النظر في شيفرة المصدر الخاصة بأي شخص آخر.
نقح John Gilmore الشيفرة بشكل موسع، مما جعلها أفضل من الإصدارة الأولى. وجد Geoff Collyer العديد من أوجه القصور وقدم بعض مدخلات ملف السحر. مساهمات معامل ‘&’ بواسطة Rob McMahon، ⟨cudcv@warwick.ac.uk⟩ ، 1989.
قام Guy Harris، ⟨guy@netapp.com⟩ ، بإجراء العديد من التغييرات من عام 1993 حتى الوقت الحاضر.
التطوير والصيانة الرئيسية من عام 1990 حتى الوقت الحاضر بواسطة Christos Zoulas ⟨christos@astron.com⟩.
عُدّل
بواسطة Chris Lowth
⟨chris@lowth.com⟩ ، عام 2000:
للتعامل مع
الخيار -i
لإخراج
سلاسل نوع
mime،
باستخدام
ملف سحر
بديل ومنطق
داخلي.
عُدّل بواسطة Eric Fischer ⟨enf@pobox.com⟩ ، يوليو 2000، لتحديد رموز المحارف ومحاولة تحديد لغات الملفات غير التابعة لـ ASCII.
عُدّل بواسطة Reuben Thomas ⟨rrt@sc3d.org⟩ ، من 2007 إلى 2011، لتحسين دعم MIME، ودمج سحر MIME وغير MIME، ودعم الأدلة بالإضافة إلى ملفات السحر، وتطبيق العديد من إصلاحات العلل، وتحديث وإصلاح الكثير من السحر، وتحسين نظام البناء، وتحسين التوثيق، وإعادة كتابة روابط بايثون بلغة بايثون صرفة.
قائمة المساهمين في دليل ‘magic’ (ملفات السحر) أطول من أن تُدرج هنا. أنتم تعرفون أنفسكم؛ شكراً لكم. العديد من المساهمين مدرجون في ملفات المصدر.
إشعار قانوني¶
حقوق النشر (c) لـ Ian F. Darwin، تورونتو، كندا، 1986-1999. مشمول بحقوق نشر Berkeley Software Distribution القياسية؛ انظر ملف COPYING في توزيعة المصدر.
كُتب الملفان tar.h و is_tar.c بواسطة John Gilmore من برنامج tar(1) المتاح للملكية العامة، ولا تغطيهما الرخصة المذكورة أعلاه.
العلل¶
يرجى الإبلاغ عن العلل وإرسال الرقع إلى متتبع العلل في https://bugs.astron.com/ أو القائمة البريدية في ⟨file@astron.com⟩ (قم بزيارة https://mailman.astron.com/mailman/listinfo/file أولاً للاشتراك).
للقيام به¶
إصلاح المخرجات بحيث لا تكون اختبارات أعلام MIME و APPLE مطلوبة في كل مكان، ويتم الإخراج الفعلي في مكان واحد فقط. يتطلب هذا تصميماً. اقتراح: ادفع المخرجات المحتملة إلى قائمة، ثم اختر القيمة التي دُفعت آخراً (الأكثر تحديداً، كما نأمل) في النهاية، أو استخدم قيمة مبدئية إذا كانت القائمة فارغة. لا ينبغي أن يؤدي هذا إلى إبطاء التقييم.
التعامل
مع MAGIC_CONTINUE
وطباعة \012-
بين
المدخلات
أمر أخرق
ومعقد؛ أعد
هيكلته
ومركزيته.
بعض منطق الترميز مرمز بشكل صلب في encoding.c ويمكن نقله إلى ملفات السحر إذا توفر لدينا تعليق توضيحي !:charset.
الاستمرار في سحق كل علل السحر. انظر Debian BTS للحصول على مصدر جيد.
تخزين سلاسل طويلة عشوائيًا، على سبيل المثال لأنماط %s، بحيث يمكن طباعتها. يصلح علة دبيان رقم #271672. يمكن القيام بذلك عن طريق تخصيص السلاسل في مجمع سلاسل، وتخزين مجمع السلاسل في نهاية ملف السحر وتحويل جميع مؤشرات السلاسل إلى إزاحات نسبية من مجمع السلاسل.
إضافة بناء جملة للإزاحات النسبية بعد المستوى الحالي (علة دبيان رقم #466037).
جعل file -ki يعمل، أي إعطاء أنواع MIME متعددة.
إضافة مكتبة zip لكي نتمكن من استراق النظر داخل مستندات Office2007 لطباعة مزيد من التفاصيل حول محتوياتها.
إضافة خيار لطباعة عناوين URL لمصادر أوصاف الملفات.
دمج عمليات البحث عن السكريبتات وإضافة طريقة لربط أسماء الملفات القابلة للتنفيذ بأنواع MIME (على سبيل المثال، وجود قيمة سحرية لـ !:mime تؤدي إلى البحث عن السلسلة الناتجة في جدول). سيؤدي هذا إلى تجنب إضافة نفس السحر بشكل متكرر لكل مفسر hash-bang جديد.
عند توفر واصف ملف، يمكننا التخطي وتعديل المخزن المؤقت بدلاً من إدارة المخزن المؤقت الملتوية التي نقوم بها الآن.
إصلاح “name” و “use” للتحقق من الاتساق في وقت التجميع (تكرار “name” ، أو “use” يشير إلى “name” غير معرف). جعل “name” / “use” أكثر كفاءة من خلال الاحتفاظ بقائمة مرتبة من الأسماء. تخصيص حالة خاصة لـ ^ لقلب ترتيب البايتات (endianness) في المحلل بحيث لا يلزم هروبها، وتوثيق ذلك.
إذا كانت
الإزاحات
المحددة
داخلياً في
الملف
تتجاوز حجم
المخزن
المؤقت
(متغير HOWMANY
في file.h)، فإننا
لا ننتقل
إلى تلك
الإزاحة،
بل نستسلم.
سيكون من
الأفضل لو
أجريت
إدارة
المخزن
المؤقت عند
توفر واصف
الملف لكي
نتمكن من
البحث في
أنحاء
الملف. يجب
الحذر رغم
ذلك لأن
لهذا
اعتبارات
في الأداء
وبالتالي
اعتبارات
أمنية، لأن
المرء
يمكنه
إبطاء
الأمور
بالبحث
المتكرر.
يوجد دعم الآن للاحتفاظ بمخازن مؤقتة منفصلة ووجود إزاحات من نهاية الملف، ولكن لا تزال إدارة المخزن المؤقت الداخلية بحاجة إلى إصلاح شامل.
التوفر¶
يمكنك الحصول على أحدث إصدار للمؤلف الأصلي عبر FTP مجهول على ftp.astron.com في الدليل /pub/file/file-X.YZ.tar.gz.
ترجمة¶
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>
هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org
| 17 يونيو 2025 | Linux 6.4.0-150700.53.40-default |