مقدمة
بما أنك تقرأ هذا المقال فذلك يعني أنك تستخدم جهاز إلكتروني إما حاسوب أو جوال أو غيره من الأجهزة الإلكترونية
وبما أنك تستعمل الأجهزة الإلكترونية فذلك يعني أنك تتعامل أيضا مع الملفات والمجلدات
وعند ذكر الملفات والمجلدات فذلك يعني أنك بالتأكيد قد حدث وأنك
تذكرت شيئا مهما وذلك الشيء موجود إما في مجلد ما أو في ملف ما علي جهازك الإليكتروني
لذلك ذهبت مسرعا لمحاولة إيجاده ولكن كما هو المعتاد لم تستطع أن تتذكر الاسم أو أين كان هذا المجلد أو الملف المهم
وإذا كنت ممن يستخدمون نظام تشغيل ويندوز فستحاول البحث في النظام كاملا عن هذا الملف ولكن للأسف في ويندوز وباستخدام مدير الملفات الخاص بهم سيكون الأمر بطئ جدا وقد تعتقد أن عملية البحث قد باءت بالفشل
وإذا كنت ممكن يستخدمون نظام تشغيل لينكس فالبتاكيد ستحاول البحث عن طريقه لإيجاد الملفات والمجلدات وسيكون من حسن حظك أن تجد مثل هذا المقال عن أمر find
والذي سيكون مساعدا جدا لك في إيجاد ما تريد ولكن قد تشعر بعدم الراحة في كتابه أمر find لأنه قد يكون طويلا بعض الشيء بل وقد يمكن أن تشعر في بداية استخدامك لهذا الأمر أنه معقد قليلا وقد تريد أداة تريك المخرجات بشكل ملون
لذلك في مقال اليوم سأحاول أن أريك أداة جديدة وجميله للبحث في نظام لينكس وهي أداة fd
التعريف عن أداة fd
أداة fdهي أداة لإيجاد الملفات أو المجلدات بشكل سريع وبسيط كما أنها تعد أداة سهلة الفهم والاستخدام بالنسبة للمستخدم
هدف الأداة ليس أن تقوم بكل ما يقوم به أمر find إلا أنها توفر الوظائف الشائعة للمستخدمين بشكل سلس وأنيق
نظرة سريعة على الأداة
حتى نستعرض الأداة بشكل مختصر سنقوم فقط بكتابه أمر الأداة ومقارنتها مع أمر find
- تجربة أمر أداة fd
يمكننا أن نلاحظ أن المخرج أصبح ملونا والذي يجعل من السهل التعرف والتفريق بين أنواع الملفات والمجلدات كما أن المخرج أصبح مرتبا ترتيبا أبجديا ورقميا
يمكنك أن تجعل المخرج بدون ألوان عن طريق إضافة كنيه لملف الطرفية الخاص بك
alias fd='fd --color=never'
- تجربة أمر find
على عكس أداة fd المخرج غير مرتب أبجديا أو رقميا حتي وسنفسر ذلك بإذن الله ولكن للعلم يمكن أن تقوم بجعل أمر find يرتب المخرج عن طريق كتابه لاحقه
مميزات الأداة
- طريقه كتابه الأمر سهلة وبديهية
- الأداة تدعم ال
Regular expressionوأيضاglob-based patterns - الأداة سريعة مقارنة باداه find
- مخرج الأداة يكون ملونا بألوان تساعد المستخدم وتوضح نوع الملف
- في حالة البحث الافتراضية تقوم الأداة بالبحث بدون وضع حاله الأحرف في الحسبان وتضع الأداة حاله الأحرف في الحسبان إذا كانت كلمة البحث تحتوي على أحرف كبيرة
- الأداة تتجاهل الملفات المخفية في الوضع الافتراضي للبحث
- كما تتجاهل الأداة أيضا الملفات التي يتم تجاهلها في ملف
.gitignoreفي وضع البحث الافتراضي
شرح الأداة
حسنا أولا لنذهب مباشرة لحل المشكلة التي تواجهنا وهي محاولة البحث عن الملفات أو المجلدات وكيف يمكننا أن نقوم بذلك مع أداة اليوم
- البحث عن ملف أو مجلد يوجد أسفل مجلد العمل الحالي
[foo@baz]$ fd [ اسم الملف أو المجلد الذي تريد البحث عنه]
قمنا بالبحث عن ملف يسمى hello.c وبالفعل قامت الأداة بإيجاد الملف لنا وقامت بعرض المسار الذي يوجد به هذا الملف
ولا يكون هناك اختلاف إذا كنا نريد البحث عن مجلد

- البحث عن ملف أو مجلد يوجد داخل مسار معين
[foo@baz]$ fd [ اسم الملف أو المجلد ] [ المسار الذي تريد البحث بداخله ]
قامت الأداة بالبحث عن اسم الملف بداية من هذا المسار حتى وجدته وعرضت المسار الذي يوجد به هذا الملف
في جميع عمليات البحث السابقة لم نقم بحديد نوع الملف الذي نقوم بالبحث عنه وهذه الطريقة لا تعد الطريقة الأنسب للبحث وبالأخص إذا كان لديك الكثير والكثير من الملفات لذلك فإن الأداة سوف تقوم بالبحث عن الاسم ولن تهتم بنوع الملف أي أنها لن تهتم إذا كان نوع الملف مجلد أو ملف نصي أو برنامج أو غيره وفي الجزء القادم سنري المشكلة وكيفية حلها
البحث بشكل عام في لينكس
في لينكس يمكنك القيام بكل ما تريد به فعليا لذلك هناك طرق عديدة لكيفية البحث وقد تم ذكر بعض منها في مقال find
فهناك من يريد البحث عن ملف عادي او برنامج او مجلد وغيرها من الأنواع
ولكن لننظر لهذا المثال البسيط والمشكلة التي ستواجهنا به
لنفترض أن لدينا ملف باسم hello.c ولدينا أيضا مجلد باسم hello وأيضا لدينا برنامج باسم hello_dir
ويوجد العديد من هذه النسخ بداخل مجلد العمل الحالي
ومن داخل هذا المجلد نريد البحث عن الملفات التي باسم hello ولها امتداد c
لذلك سنقوم بكتابه الأمر التالي
[foo@baz]$ fd hello
هذه الصورة هي مجرد جزء من المخرج لأن المخرج طويل جدا
ولكننا سنجد أن المخرج كبير جدا كما أن الأداة لم تقوم بالمطلوب منها بشكل كامل
قد يتساءل البعض لما نقول إن الأداة لم تقم بما نريده مع أنها أظهرت كل الملفات التي باسم hello وأيضا لها امتداد c
حسنا هذا صحيح ولكن الأداة قامت أيضا بإظهار المجلدات وأيضا البرامج التي تحتوي على كلمة hello ولذلك نقول إن الأداة لم تقم بما نريده بشكل صحيح
ولكن الخطأ هنا يقع علي المستخدم حيث إنه لم يقم بتحديد نوع الملف الذي يبحث عنه
لذلك فإن من الأفضل أن تحدد نوع ما تبحث عنه حتى توفر الوقت والجهد
حسنا ولكن كيف يمكننا تحديد نوع ما نريد البحث عنه باستخدام هذه الأداة؟ لاحقه t-
يمكننا ذلك عن طريق استخدام لاحقه وهي t-
وطريقه كتابه الأمر كالتالي
[foo@baz]$ fd -t [ النوع الذي تريد البحث عنه ] [ اسم الملف ] [ المسار الذي تريد البحث بداخله ]
وهذه هي كل الأنواع التي تتيحها هذه الأداة
[possible values: f, file, d, directory, l, symlink, x, executable, e, empty, s, socket, p, pipe]
ولكن كيف يمكن أن أجعل هذه الأداة تقوم بالبحث فقط عن الملفات التي لها امتداد معين؟ لاحقه e-
حسنا في هذا المثال يمكننا أن نقوم بالبحث عن الملفات التي قمنا بانشاءها والتي لها امتداد من نوع c وذلك عن طريق
[foo@baz]$ fd -e [ النوع الذي تود البحث عنه ] [ المسار الذي تود البحث بداخله ]
البحث عن الملفات المخفية باستخدام لاحقه H- أو --hidden
يمكننا أن نقوم بالبحث عن الملفات أو المجلدات المخفية باستخدام أداة اليوم أيضا وتكون طريقه الكتابة كالتالي
[foo@baz]$ fd -H [ اسم الملف أو المجلد الذي تريد البحث عنه ]

تثبيت الأداة علي بعض التوزيعات المختلفة
يمكنك أيضا استخدام هذه الأداة أيضا إذا كنت تستعمل نظام تشغيل windows أو Mac ولكني لن أتطرق لشرح الطريقة في هذا المقال للأسف ولكن يمكنك النظر في جزء المراجع وستجد ما يفيدك بإذن الله
# Arch Linux
sudo pacman -S fd
# Ubuntu Linux
sudo apt install fd-find
# Debian Linux
sudo apt-get install fd-find
# Fedora Linux
dnf install fd-find
# Alpine Linux
apk add fd
# Gentoo Linux
emerge -av fd
# openSUSE Linux
zypper in fd
# Void Linux
xbps-install -S fd
وفي الختام
أتمنى أن يكون الله قد وفقتي وشرح الاستخدامات الأساسية للأداة والتي اعتقد أنها أفضل لمن يتعامل في بداية الأمر مع أوامر الطرفية ولمن يريد فقط الاستخدامات البسيطة ولكن لمن يريد استخدامات أكثر تقدما والبحث بطرق معينة ومخصصه فاعتقد أن أمر find هو الأنسب له
وفي النهاية أشكرك على قراء المقال وأسأل الله أن يكون قد أوضح الأداة بشكل واضح وبعض الطرق لاستخدامها
سائلاً الله تعالى أن ينفعنا بما علمنا
وانتظر آرائكم واقتراحاتكم عن المقال بإذن الله
المصادر
ترخيص
هذا الموضوع يتبع ترخيص جميع مواضيع أسس هو CC-BY-SA 4.0









