0Pricing
Linux Command Line & Bash Scripting Mastery · درس

البحث عن الملفات (find، grep)

اكتشف أوامر قوية مثل 'find' و'grep' لتحديد موقع الملفات وأنماط نصية محددة داخل الملفات في أنحاء نظامك.

البحث عن الملفات (find، grep) درس مجاني في Linux Command Line & Bash Scripting Mastery على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Linux Command Line & Bash Scripting Mastery، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Linux Command Line & Bash Scripting Mastery 4 دروس في المجموع.

لماذا نبحث في Linux؟

يُعد العثور على الملفات والنصوص مهمة يومية في Linux. تخيلوا أنكم بحاجة إلى تحديد موقع ملف إعدادات معين أو سطر من التعليمات البرمجية في مشروع كبير!

سنتعلم أمرين قويين: find لتحديد مواقع الملفات والأدلة، وgrep للبحث عن أنماط نصية *داخل* الملفات.

تعرّفوا إلى الأمر `find`

يبحث الأمر find عن الملفات والأدلة ضمن تسلسل هرمي من الأدلة. وهو مرن جدًا!

بنيته الأساسية هي: find [path] [expression]. يحدد [path] المكان الذي يبدأ منه find البحث، بينما يحدد [expression] ما الذي يجب البحث عنه.

العثور على الملفات بالاسم

الطريقة الأكثر شيوعًا لاستخدام find هي البحث بالاسم باستخدام الخيار -name. ويمكنكم استخدام أحرف البدل مثل *.

لنعثر على جميع الملفات التي تنتهي بـ .txt في الدليل الحالي.

cd /tmp
touch report.txt document.pdf notes.txt
find . -name "*.txt"

العثور على الملفات حسب النوع

يمكنكم تحديد نوع الإدخال الذي ينبغي أن يبحث عنه find باستخدام الخيار -type:

  • f للملفات العادية
  • d للأدلة

لنعثر على جميع الأدلة في الموقع الحالي.

cd /tmp
mkdir mydir anotherdir
touch file.txt
find . -type d

العثور على الملفات حسب الحجم

هل تحتاجون إلى العثور على ملفات كبيرة؟ استخدموا الخيار -size. ويمكنكم تحديد وحدات مثل c (بايت)، وk (KB)، وM (MB)، وG (GB).

  • +10M: أكبر من 10MB
  • -5k: أصغر من 5KB
  • 100c: حجمه 100 بايت بالضبط

اعثروا على الملفات الأكبر من 1KB.

cd /tmp
dd if=/dev/zero of=small_file bs=100 count=1 2>/dev/null
dd if=/dev/zero of=large_file bs=2k count=1 2>/dev/null
find . -size +1k

مقدمة إلى `grep`

بينما يحدد find مواقع الملفات، يبحث grep (Global Regular Expression Print) عن أنماط نصية محددة *داخل* الملفات.

الصيغة الأساسية له هي: grep [pattern] [file...]. يمثّل [pattern] النص الذي تبحثون عنه، وتمثّل [file...] الملفات التي سيُجرى البحث فيها.

استخدام `grep` مع النصوص البسيطة

لِننشئ ملفًا نصيًا بسيطًا ونستخدم grep للعثور على كلمة داخله. سيطبع grep كل سطر يحتوي على النمط.

cd /tmp
echo "Hello CoddyKit learners!" > greeting.txt
echo "This is a great lesson." >> greeting.txt
echo "CoddyKit is fun." >> greeting.txt
grep "CoddyKit" greeting.txt

خيارات `grep`: ‏-i و-n

خياران مفيدان لـ grep:

  • -i: تجاهل حالة الأحرف أثناء البحث.
  • -n: عرض رقم السطر الذي عُثر فيه على التطابق.

لنعثر على "coddykit" (من دون تمييز حالة الأحرف) ونرى أرقام الأسطر.

cd /tmp
echo "Hello CoddyKit learners!" > greeting.txt
echo "This is a great lesson." >> greeting.txt
echo "coddykit is fun." >> greeting.txt
grep -i -n "coddykit" greeting.txt

دمج `find` و`grep`

يمكنكم دمج find وgrep للبحث عن الملفات *ومحتواها*. يتيح الخيار -exec في find تشغيل أمر آخر على كل ملف يعثر عليه.

سنجد هنا جميع ملفات .txt ونبحث عن "CoddyKit" بداخلها.

cd /tmp
echo "Hello CoddyKit" > file1.txt
echo "Hello World" > file2.txt
echo "CoddyKit rocks" > file3.txt
find . -name "*.txt" -exec grep -l "CoddyKit" {} +

تحقق سريع

لديكم دليل يحتوي على عدة ملفات. ما الأمر الذي يعثر على جميع الملفات المسماة log.txt أو error.log والتي يزيد حجمها على 50KB؟

مراجعة: البحث عن الملفات

أحسنتم! لقد تعلمتم كيفية البحث بكفاءة عن الملفات ومحتواها في Linux:

  • find: يحدد مواقع الملفات والأدلة بناءً على معايير مختلفة مثل الاسم والنوع والحجم.
  • grep: يبحث *داخل* الملفات عن أنماط نصية محددة، مع خيارات لتجاهل حالة الأحرف وعرض أرقام الأسطر.
  • رأيتم أيضًا كيف يمكن أن يعمل find وgrep معًا لاكتشاف المحتوى بفعالية.

واصلوا التدرّب على هذه الأوامر لإتقان مهارات التنقل في Linux!

الأسئلة الشائعة

هل درس «البحث عن الملفات (find، grep)» مجاني؟

نعم — نص درس «البحث عن الملفات (find، grep)» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Linux Command Line & Bash Scripting Mastery، انتقل إلى CoddyKit PRO. تتضمن دورة Linux Command Line & Bash Scripting Mastery 4 دروس في المجموع.

ماذا ستتعلم في «البحث عن الملفات (find، grep)»؟

اكتشف أوامر قوية مثل 'find' و'grep' لتحديد موقع الملفات وأنماط نصية محددة داخل الملفات في أنحاء نظامك. تتمرن على Linux Command Line & Bash Scripting Mastery مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Linux Command Line & Bash Scripting Mastery؟

لا تُشترط خبرة سابقة. Linux Command Line & Bash Scripting Mastery على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «البحث عن الملفات (find، grep)»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Linux Command Line & Bash Scripting Mastery هذا؟

نعم. كل درس في Linux Command Line & Bash Scripting Mastery يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. عرض محتوى الملفات (cat، less، head، tail)
  2. فهم أذونات الملفات (chmod، chown)
  3. البحث عن الملفات (find، grep)
  4. إنشاء الروابط: Hard Links وSymlinks
← العودة إلى Linux Command Line & Bash Scripting Mastery