1) ما هو أمر df ولماذا نستخدمه؟
أمر df اختصار لـ Disk Free
وظيفته: عرض معلومات عن الأقراص/أنظمة الملفات (filesystems) مثل:
- الحجم الكلي
- المستخدم
- المتاح
- نسبة الاستخدام
- نقطة التركيب (Mount point)
متى يفيدك؟
- عندما تشعر أن القرص ممتلئ
- مراقبة مساحة السيرفر
- معرفة أي partition امتلأ
- اكتشاف مشكلة “المساحة موجودة لكن لا أقدر أنشئ ملفات” (قد تكون مشكلة inodes)
الفرق المهم جدًا:
dfيجيب: كم مساحة متبقية في القرص/الـ filesystem؟duيجيب: أي مجلدات/ملفات هي التي تستهلك المساحة؟
2) الصيغة العامة (Syntax)
df [OPTIONS] [PATH]Bash- بدون PATH → يعرض كل الـ filesystems المركبة
- مع PATH → يعرض الـ filesystem الذي يحتوي هذا المسار
3) الاستخدام الأساسي
أ) عرض تقرير كامل
dfBashسترى أعمدة مثل:
Filesystem 1K-blocks Used Available Use% Mounted onBashب) عرض بشكل مقروء (الأهم للمبتدئ)
df -hBashمخرجات تكون مثل:
Filesystem Size Used Avail Use% Mounted onBash4) شرح الأعمدة (ببساطة)
عند df -h:
- Filesystem: اسم الجهاز/القسم (مثل
/dev/sda1) أو tmpfs - Size: الحجم الكلي
- Used: المستخدم
- Avail: المتاح
- Use%: نسبة الاستخدام
- Mounted on: أين تم تركيب هذا الـ filesystem (مثل
/,/home…)
5) فحص مسار محدد (مهم جدًا)
هذا يفيدك لما تريد تعرف: المجلد هذا على أي قسم؟ وكم باقي فيه؟
فحص الجذر /
df -h /Bashفحص المجلد الحالي (.)
df -h .Bashفحص مجلد مشروع
df -h ~/projectBashتذكير:
dfلا يحسب حجم مجلدك نفسه، بل يعرض مساحة القسم الذي يحتويه.
6) عرض نوع نظام الملفات (Filesystem Type): -T
df -hTBashسيضيف عمود Type مثل:
ext4,xfs,tmpfs,overlay…
7) فحص inodes (مهم في السيرفرات): -i
أحيانًا تكون المساحة موجودة لكن لا تستطيع إنشاء ملفات لأن inodes انتهت (كثير ملفات صغيرة).
df -iBashسترى:
- Inodes (الإجمالي)
- IUsed (المستخدم)
- IFree (المتبقي)
- IUse% (نسبة استهلاك inodes)
إذا IUse% قريب 100% → مشكلة inodes.
8) تخصيص الأعمدة (مفيد للترتيب والتقارير): --output
مثال مفيد وواضح:
df -h --output=source,fstype,size,used,avail,pcent,targetBashأو مختصر جدًا:
df -h --output=source,size,used,avail,pcent,targetBash9) عرض filesystem واحد فقط بدل كل شيء
تستطيع “تستهدف” المسار:
df -h /
df -h /home
df -h /var
Bash10) نصائح عملية سريعة (أوامر جاهزة)
أ) اعرض فقط الأقسام الحقيقية (ليس tmpfs أحيانًا)
يمكنك فلترة النتائج:
df -h | grep -v tmpfsBashب) اعرف أي الأقسام امتلأت بسرعة
df -h | sort -k5 -hBashالعمود 5 هو Use% عادةً، والترتيب حسبه (قد تختلف الأعمدة قليلًا حسب النظام).
11) مثال عملي: ربط df مع du لحل مشكلة امتلاء القرص
- أولاً اعرف القسم الممتلئ:
df -hBash- ثم داخل نقطة التركيب (مثلاً
/أو/home) شوف أكبر مجلدات مستوى أول:
du -h -d 1 / | sort -h | tail -n 10Bashهذا تسلسل عملي جدًا في الحياة الواقعية.
12) تدريب سريع (Practice)
نفّذ هذه الأوامر:
# 1) تقرير عام
df -h
# 2) تقرير لمكانك الحالي
df -h .
# 3) عرض النوع
df -hT
# 4) فحص inodes
df -i
# 5) تقرير مخصص
df -h --output=source,fstype,size,used,avail,pcent,targetBashهل الشرح الأصلي كافي؟
نعم ممتاز ومتكامل، وزيادة مهمة للمبتدئ كانت:
- توضيح قوي للفرق بين
dfوdu - لماذا نحتاج
df -i(موضوع inodes) - فلترة tmpfs عند الحاجة
- تسلسل حل مشكلة المساحة (df ثم du)