.TMP Temporary File
.tmp

Temporary File

ملف TMP ليس صيغة ملفات — بل اصطلاح تسمية. التطبيقات تُنشئ ملفات .tmp كتخزين مؤقت أثناء العمل: حفظ تلقائي من Word، تحميلات متصفح غير مكتملة، صفحات مبادلة قواعد بيانات. المحتوى الداخلي يعتمد كلياً على التطبيق الذي أنشأ الملف.

بنية الصيغة
Header schema
Records structured data
نص1983
بواسطة FileDex
غير قابل للتحويل

تحويل ملفات TMP غير وارد — TMP اصطلاح تسمية وليس صيغة. استخدم أمر file -bi لتحديد المحتوى الفعلي ثم تعامل معه كتلك الصيغة.

أسئلة شائعة

ما هو ملف TMP؟

TMP ليس صيغة ملفات — بل اصطلاح تسمية تستخدمه التطبيقات لتمييز الملفات المؤقتة. محتوى ملف .tmp يعتمد كلياً على التطبيق الذي أنشأه: Word يحفظ نسخاً تلقائية، المتصفح يحفظ تحميلات غير مكتملة، قواعد البيانات تكتب صفحات مبادلة. الامتداد لا يُخبرك بما بداخل الملف.

هل يمكنني حذف ملفات TMP بأمان؟

نعم، بشرط إغلاق جميع التطبيقات أولاً. الملفات الأقدم من أسبوع التي لا يستخدمها أي برنامج آمنة للحذف. على Windows: اكتب %temp% في شريط عنوان مستكشف الملفات واحذف الملفات القديمة. أداة Disk Cleanup تفعل هذا تلقائياً مع فحص عمر الملفات.

كيف أعرف ما بداخل ملف TMP؟

افتح الملف في محرر بايتات سداسي عشري (مثل HxD على Windows) وقارن أول بضعة بايتات مع التوقيعات المعروفة لتحديد نوع المحتوى الفعلي بغض النظر عن الامتداد. ملفات Word التلقائية تظهر كمستندات Office، والأرشيفات تظهر كملفات ZIP. على Windows يمكنك أيضاً إعادة تسمية الامتداد للصيغة المتوقعة ومحاولة الفتح.

لماذا تتراكم ملفات TMP وتملأ القرص؟

التطبيقات تُنشئ وتحذف ملفات مؤقتة باستمرار أثناء العمل. التراكم يحدث عند انهيار التطبيق قبل التنظيف أو نسيان المطوّر لكود الحذف. على الهواتف بسعة 32-64 غيغابايت، تراكم ملفات WhatsApp و Chrome المؤقتة يسبب إشعار "مساحة التخزين ممتلئة". نظّف دورياً عبر إعدادات التخزين.

كيف أنظّف الملفات المؤقتة على Windows؟

افتح الإعدادات > النظام > التخزين وفعّل Storage Sense للتنظيف التلقائي. للتنظيف اليدوي: اكتب %temp% في مستكشف الملفات واحذف المحتويات. أداة Disk Cleanup تعرض حجم الملفات المؤقتة قبل الحذف وتتجنب الملفات المستخدمة حالياً من التطبيقات النشطة.

هل يمكن استرجاع ملف من TMP بعد انهيار البرنامج؟

أحياناً. ملفات TMP من Microsoft Office غالباً نسخ معاد تسميتها من المستند — غيّر الامتداد إلى .docx أو .xlsx وحاول الفتح. تحميلات المتصفح المتوقفة هي نسخ جزئية. افحص مجلد الملفات المؤقتة فوراً بعد الانهيار مرتبة حسب وقت التعديل — أدوات التنظيف قد تحذف الملف خلال ساعات.

ما يميز .TMP

ليست صيغة
TMP اصطلاح تسمية وليس معيار
لا يوجد RFC أو تسجيل IANA أو تسجيل في LOC أو معرّف PRONOM. الامتداد .tmp يعني "مؤقت" لكنه لا يُخبرك بما بداخل الملف. ثلاثة ملفات .tmp قد تحتوي نصاً و ZIP وصفحات قاعدة بيانات.
حد 65,535 اسم
Windows GetTempFileName تتوقف عند 65K
واجهة Win32 تستخدم فقط 16 بت من العداد السداسي عشري لكل بادئة ومجلد. عند الوصول للحد، الأداء يتراجع — Microsoft توصي بأسماء GUID للعمليات الكثيفة.
tmpfs: ذاكرة لا قرص
مجلد /tmp في Linux غالباً في الذاكرة
أنظمة Linux الحديثة تُركّب /tmp كنظام ملفات tmpfs مدعوم بالذاكرة (50% من RAM افتراضياً). سريع جداً لكن المحتويات تختفي عند إعادة التشغيل. /var/tmp يبقى على القرص.
ثغرة TOCTOU
tmpnam() ملغاة منذ 2008
الفجوة بين توليد الاسم وإنشاء الملف تسمح بهجمات الروابط الرمزية. mkstemp() تُصلح هذا بإنشاء ذرّي مع O_EXCL. صفحة man لـ tmpnam تقول: "لا تستخدم هذه الدوال أبداً."

امتداد .tmp يُشير إلى أن الملف مؤقت — لكنه لا يُخبرك بأي شيء عن المحتوى الداخلي. ملف TMP قد يحتوي مستند Word غير مكتمل أو تحميل متصفح متوقف أو صفحات مبادلة قاعدة بيانات أو بايتات عشوائية. لا يوجد معيار رسمي أو تسجيل في IANA أو توقيع magic bytes — الامتداد مجرد اصطلاح تسمية.

اكتشف التفاصيل التقنية

كيف يُنشئ Windows ملفات TMP

واجهة برمجة Win32 تستخدم دالة GetTempFileName لتوليد أسماء بنمط: بادئة + رقم سداسي عشري + .TMP. مثال: ~abc1A2F.TMP. الدالة تستخدم فقط 16 بت من العداد الرقمي، مما يحدّ بـ 65,535 اسم فريد لكل بادئة ومجلد.

دالة GetTempPath تُحدد مجلد الملفات المؤقتة بفحص متغيرات البيئة بالترتيب: TMP أولاً، ثم TEMP، ثم USERPROFILE، وأخيراً مجلد Windows كاحتياطي. المسار النموذجي للمستخدم: C:\Users\اسم المستخدم\AppData\Local\Temp.

لماذا تتراكم ملفات TMP

تتراكم لأربعة أسباب: (1) انهيار التطبيق قبل تنفيذ كود التنظيف. (2) المطوّر نسي إضافة أمر الحذف. (3) دوال GetTempFileName و mkstemp لا تحذف تلقائياً — فقط tmpfile() تفعل ذلك. (4) أدوات التنظيف التلقائي تتجنب الملفات الحديثة حتى لو كانت يتيمة.

على Windows، أداة Storage Sense تحذف الملفات المؤقتة الأقدم من فترة محددة (1 أو 14 أو 30 أو 60 يوماً). على Linux، خدمة systemd-tmpfiles-clean تعمل يومياً وتحذف ملفات /tmp الأقدم من 10 أيام افتراضياً.

كيف تعرف ما بداخل ملف TMP

استخدم أمر file -bi mystery.tmp لتحديد نوع المحتوى من magic bytes. ملفات Word التلقائية تظهر كـ application/vnd.openxmlformats. ملفات ZIP تظهر كـ application/zip. النصوص تظهر كـ text/plain. أمر xxd mystery.tmp | head يعرض أول البايتات بالنظام السداسي عشري.

هل حذف ملفات TMP آمن؟

نعم، بشرطين: (1) لا يوجد تطبيق يستخدمها حالياً. (2) الملفات قديمة بما يكفي (أسبوع على الأقل). أغلق جميع التطبيقات قبل التنظيف. على Windows: اكتب %temp% في شريط عنوان مستكشف الملفات واحذف الملفات القديمة. على Linux: الأمر find /tmp -name '*.tmp' -mtime +7 -delete يحذف الملفات الأقدم من أسبوع.

مساحة القرص على الهواتف ذات التخزين المحدود

الهواتف بسعة 32-64 غيغابايت تتأثر بتراكم الملفات المؤقتة بشكل ملحوظ. تطبيقات مثل WhatsApp و Chrome تُنشئ ملفات مؤقتة باستمرار. إشعار "مساحة التخزين ممتلئة" غالباً يعني أن مجلد الملفات المؤقتة يحتاج تنظيفاً. على Android: الإعدادات > التخزين > الملفات المؤقتة. على Windows: أداة Disk Cleanup تعرض حجم الملفات المؤقتة قبل الحذف.

أمان الملفات المؤقتة

دالة tmpnam() القديمة تُولّد اسماً ثم يُنشئ المُستدعي الملف في خطوة منفصلة. في الفجوة بين الخطوتين، يمكن لمهاجم على نظام مشترك إنشاء رابط رمزي (Symlink) في ذلك المسار، مما يُعيد توجيه الكتابة إلى ملف حساس. دالة mkstemp() تُلغي هذا الخطر بإنشاء الملف ذرّياً مع صلاحيات 0600 (قراءة/كتابة للمالك فقط).

مقارنة .TMP مع البدائل

مقارنة .TMP مع الصيغ البديلة
المقارنة المعيار الفائز
.MKSTEMP() vs .TMPNAM()
الأمان
mkstemp() تُنشئ الملفات المؤقتة ذرّياً مع O_EXCL وصلاحيات 0600، مما يُلغي ثغرات TOCTOU. tmpnam() تُولّد اسماً فقط — الفجوة قبل الإنشاء تسمح بهجمات الروابط الرمزية. ملغاة في POSIX.1-2008.
MKSTEMP() أفضل
.TMPFILE() vs .GETTEMPFILENAME
التنظيف التلقائي
POSIX tmpfile() تحذف الملف تلقائياً عند إغلاقه أو انتهاء العملية — لا خطر تراكم. Windows GetTempFileName تُنشئ الملف لكن لا تحذفه أبداً. التطبيقات يجب أن تتولى التنظيف يدوياً.
TMPFILE() أفضل
.TMPFS (/TMP) vs ./VAR/TMP
البقاء بعد إعادة التشغيل
tmpfs مدعوم بالذاكرة (50% من RAM افتراضياً) — سريع لكن المحتويات تختفي عند إعادة التشغيل. /var/tmp مدعوم بالقرص ويبقى. استخدم tmpfs للبيانات المؤقتة و /var/tmp للملفات التي تحتاج البقاء.
/VAR/TMP أفضل
.MKSTEMP() vs .GETTEMPFILENAME
تجنب تصادم الأسماء
mkstemp() تستبدل أحرف القالب بنص عشوائي وتفتح ذرّياً — التصادم مستحيل. GetTempFileName تستخدم عداد 16 بت محدود بـ 65,535 اسم لكل بادئة ومجلد.
MKSTEMP() أفضل

المرجع التقني

نوع MIME
application/octet-stream
المطوّر
Various
سنة التقديم
1970
معيار مفتوح
لا

البنية الثنائية

لا توجد بنية محددة. محتويات ملف TMP تعكس أي بيانات احتاج التطبيق المُنشئ لتخزينها مؤقتاً — مستندات مُسلسلة، أو مخازن بكسل خام، أو صفحات قاعدة بيانات، أو تنزيلات جزئية، أو بيانات عمل عشوائية. يتحدد التنسيق الداخلي بالكامل بواسطة التطبيق الذي أنشأ الملف ولا يمكن استنتاجه من امتداد .tmp وحده.

1970sأنظمة Unix تؤسس /tmp كمجلد مؤقت مشترك — هذا العرف يسبق التوحيد القياسي الرسمي1988يوحّد POSIX.1 دالة tmpnam() لتوليد أسماء ملفات مؤقتة — اكتُشف لاحقاً أنها غير آمنة1995يقدم Windows 95 متغير البيئة %TEMP% وواجهة برمجة GetTempFileName في Kernel32.dll2001يوحّد POSIX.1-2001 دالة mkstemp() كبديل آمن لـ tmpnam()، مع إنشاء ذري باستخدام O_EXCL2008يصنّف POSIX.1-2008 دالة tmpnam() كمُهملة، مع توصية صريحة باستخدام mkstemp() أو tmpfile()2015يقدم Windows 10 ميزة Storage Sense للتنظيف التلقائي للملفات المؤقتة بناءً على حدود عمر قابلة للتهيئة
تحديد نوع المحتوى الفعلي لملف TMP أخرى
file -bi mystery.tmp

يقرأ البايتات السحرية لكشف نوع MIME بغض النظر عن امتداد .tmp. ملفات الحفظ التلقائي لـ Word تظهر كـ application/vnd.openxmlformats، وملفات ZIP تظهر كـ application/zip، والنصوص تظهر كـ text/plain.

فحص البايتات الأولى بالنظام الست عشري أخرى
xxd mystery.tmp | head -5

يعرض أول 80 بايت بالنظام الست عشري + ASCII. البايتات السحرية عند الإزاحة 0 تكشف المنشئ: PK (ملف ZIP/Office)، أو %PDF (ملف PDF)، أو MZ (ملف تنفيذي)، أو نص عادي.

البحث عن ملفات TMP القديمة وحذفها على Linux أخرى
find /tmp -name '*.tmp' -mtime +7 -delete

يحذف ملفات .tmp في /tmp الأقدم من 7 أيام. يطابق العلم -mtime +7 الملفات التي لم تُعدَّل خلال الأسبوع الماضي. آمن للتنظيف الروتيني — الملفات النشطة تكون حديثة التعديل.

عرض أكبر ملفات TMP حسب الحجم أخرى
find /tmp -name '*.tmp' -printf '%s %p\n' | sort -rn | head -20

يبحث عن جميع ملفات .tmp ويطبع الحجم بالبايت مع المسار ويرتّبها تنازلياً. يحدد الملفات الكبيرة المتروكة التي تستهلك مساحة القرص — شائعة بعد تعطل محررات الفيديو أو قواعد البيانات.

حساب ملفات TMP في مجلد Windows المؤقت أخرى
dir %TEMP%\*.tmp /s | find "File(s)"

يسرد جميع ملفات .tmp بشكل تكراري في مجلد Windows المؤقت للمستخدم ويعرض العدد الإجمالي. مفيد لتقييم مدى الحاجة للتنظيف قبل تشغيل تنظيف القرص.

منخفض

نقاط الضعف

  • هجمات الروابط الرمزية في المجلدات المؤقتة القابلة للكتابة من الجميع يمكنها إعادة توجيه إنشاء الملفات المؤقتة للكتابة فوق ملفات حساسة إذا لم يستخدم التطبيق علامات إنشاء آمنة
  • البيانات الحساسة (كلمات المرور، رموز الجلسات، المحتوى المفكوك تشفيره) المكتوبة في ملفات مؤقتة قد تبقى على القرص بعد إغلاق التطبيق إذا فشل التنظيف

الحماية: لا ينفذ FileDex هذه الملفات أو يثبّتها أو يركّبها أو يحللها. صفحة مرجعية فقط.

أداة Windows مدمجة تحذف الملفات المؤقتة والصور المصغرة وغيرها من البيانات القابلة للتخلص من محركات أقراص النظام
systemd-tmpfiles أداة
خدمة Linux تُنشئ وتحذف وتنظف الملفات والمجلدات المؤقتة بناءً على حدود العمر المهيأة في tmpfiles.d
Python tempfile مكتبة
وحدة مكتبة Python القياسية لإنشاء ملفات ومجلدات مؤقتة بأمان، مع NamedTemporaryFile وmkstemp وTemporaryDirectory
BleachBit أداة
أداة تنظيف أقراص مفتوحة المصدر لنظامي Windows وLinux تحذف الملفات المؤقتة وذاكرة التخزين المؤقت وملفات تعريف الارتباط وغيرها من البيانات القابلة للتخلص عبر أكثر من 90 تطبيقاً