ابحث عن ملفاتك بسهولة من سطر الأوامر في Linux
يحاول المستخدمون عادةً العثور على ملف باستخدام واجهة المستخدم الرسومية. ومع ذلك ، في بعض الأحيان يصبح العثور على ملف فردي في كومة ضخمة من الملفات على نظامك مهمة شاقة للغاية. قد يكون العثور عليه بالطريقة التقليدية مهمة تستغرق وقتًا طويلاً. لتسهيل هذه المهمة ، يقدم Linux أوامر معينة للقيام بهذه المهمة نيابة عنك.
تجد
هو أمر شائع يستخدم في أنظمة Linux يمكنه مساعدتك في البحث عن ملفات مختلفة بناءً على أسمائها ونوعها وامتدادها وأذوناتها ومالكها وما إلى ذلك.
في هذا البرنامج التعليمي ، سنركز على البحث عن الملفات بالاسم. سننظر في الحجج المختلفة التي يمكن استخدامها مع تجد
يأمر. سوف نتعلم أيضا عن حدد
الأمر الذي يعد أيضًا طريقة أسرع للبحث عن الملفات بالاسم.
بناء الجملة لـ تجد
يأمر
باستخدام تجد
الأمر بطريقة مناسبة يمكن أن يجعل مهمتك أسهل. سيكون العثور على الملفات من نوع أو امتداد معين أو البحث عن طريق الاسم ممكنًا إذا فهمت البنية العامة لهذا الأمر جيدًا.
الصيغة العامة لـ تجد
الأمر على النحو التالي.
اعثر على [search_path] [تعبير] [خيارات] [find_what]
لقد حاولت تبسيط صيغة الملف تجد
الأمر لفهم الأمر بشكل أفضل.
دعونا نلقي نظرة على كل سمة من سمات بناء الجملة للحصول على فكرة عن أهمية كل منها.
Search_Path: هنا يأتي المسار حيث نحدد المسار من حيث نرغب في أن يبدأ النظام في البحث عن الملف. باختصار ، يتم تحديد دليل البدء لبدء البحث.
تعبير: يمكنك تحديد أنماط البحث للملف المعين الذي تبحث عنه.
خيارات: يمكنك استخدام الخيارات المتاحة المستخدمة مع تجد
القيادة في هذا الفضاء.
اوجد ماذا: في هذه السمة ، ضع اسم أو جزء من اسم الملف المراد البحث فيه.
دعونا نوضح هذا الأمر بمثال.
find / home / gaurav / workspace -name "source.c"
في هذا الأمر ، أستخدم ملف تجد
أمر للبحث عن ملف “source.c”. لقد طلبت تحديدًا البحث في مسار "/ home / gaurav / workspace". باستخدام -اسم
يسمح لي الخيار بالبحث في الملف المحدد بواسطة "source.c".
هذا هو أبسط عرض لاستخدام تجد
يأمر.
البحث عن الملفات في الدليل الحالي
باستخدام تجد
الأمر في أبسط أشكاله هو البحث عن ملفاتك في دليل العمل الحالي.
تجد .
سيعرض هذا الأمر جميع الملفات الموجودة في دليل العمل الحالي. هنا.
يعني "دليل العمل الحالي". فيما يلي الإخراج من دليل العمل الحالي الخاص بي. يتم سرد جميع الملفات الموجودة في هذا الدليل بدون أي عوامل تصفية
انتاج:
. ./context_log.policy ./snap ./snap/couchdb ./snap/couchdb/current ./snap/eclipse ./snap/eclipse/current ./snap/vim-editor ./snap/vim-editor/current ./ snap / vim-editor / common ./snap/vim-editor/1 ./snap/htop ./snap/htop/current ./snap/htop/common ./snap/htop/common/.local ./snap/htop /common/.local/lib ./snap/htop/common/.local/lib/locale ./snap/htop/common/.local/lib/locale/en_IN.UTF-8 ./snap/htop/common/. local / lib / locale / en_IN.UTF-8 / LC_CTYPE
للبحث عن ملف معروف اسمه التقريبي ، استخدم الامتداد تجد
الأمر كما هو موضح أدناه.
تجد . -اسم [string_from_filename \ *]
مثال:
تجد . -سياق الاسم \ *
يبحث هذا الأمر عن الملفات التي تحتوي على السلسلة "سياق" فيها.
انتاج |:
./context_log.policy ./context.xml ./context_preview.c
يتم سرد جميع الملفات في الدليل الحالي الذي يحتوي على السلسلة "سياق" فيه.
تظهر المشكلة الآن مع هذا الأمر عندما تحاول أن تتحرر من حساسية حالة الأحرف أثناء كتابة اسم الملف أو السلسلة التقريبية.
يتوخى نظام Linux الحذر الشديد بشأن حساسية حالة الأحرف ، وبالتالي ، هناك فرصة جيدة لفشل البحث. لن أحصل على مخرجات لأمر find إذا استخدمت السلسلة كـ "CONTEXT" بدلاً من "سياق". حتى إذا كان حرف واحد في اسم الملف في حالة مختلفة عن حالة اسم الملف الأصلي ، فسيفشل البحث.
لكن لا داعي للقلق بشأن ذلك. يمكنك ببساطة استبدال ملف -اسم
الخيار مع -أنا اسم
. يتيح لك هذا البحث عن الملفات بغض النظر عن الحالات التي يكون فيها اسمها. فقط قم بإجراء هذا التغيير البسيط في الأمر الخاص بك وستكون بخير.
تجد . -iname CONT \ *
سيكون الإخراج هو نفسه ، حتى لو كنت قد استخدمت السلسلة في الأحرف الكبيرة.
./context_log.policy ./context.xml ./context_preview.c
البحث عن الملفات في دلائل مختلفة
يمكنك البحث بسهولة عن الملفات في أي دليل على نظام Linux بغض النظر عن الدليل الذي تعمل فيه حاليًا.
اعثر على [مسار_المسار] -iname [اسم_الملف المحدد]
مثال:
find / home / gaurav / tomcat -iname ath.html
هنا ، لقد بحثت عن ملف محدد "ath.html" وليس عن الملفات المشابهة لهذه السلسلة. لذلك سيكون الإخراج هو الملف المحدد فقط كما هو مذكور أعلاه.
/home/gaurav/tomcat/ath.html
الآن ، لنفترض أننا لا نعرف اسم الملف الكامل ولكن فقط سلسلة اسم الملف هذا. ثم يمكننا البحث في الملفات بالطريقة التالية.
find / home / gaurav / tomcat -iname ath \ *
سيبحث هذا الأمر عن جميع الملفات التي تتضمن السلسلة "ath" في البداية. لقد استخدمت ملف -أنا اسم
الخيار هنا ، لذلك لا داعي للقلق بشأن حساسية الحالة.
انتاج:
/home/gaurav/tomcat/ATHENIAN_ART.html /home/gaurav/tomcat/ath_things.html /home/gaurav/tomcat/ath.html /home/gaurav/tomcat/ATHENIAN_ART.pdf /home/gaurav/tomcat/ATHHHHhow.html
يمكنك أيضًا استخدام الأمر للبحث في ملفات متعددة تنتهي بامتداد مماثل في أسمائها.
مثال:
find / home / gaurav / tomcat -iname "* .c"
سيبحث الأمر عن جميع الملفات في الدليل المحدد الذي يحتوي على .c كامتداد في اسم الملف الخاص بهم.
انتاج |:
/home/gaurav/tomcat/stiil.c /home/gaurav/tomcat/project/temp.c /home/gaurav/tomcat/copy.c /home/gaurav/tomcat/gy.c
تعلمنا عن تجد
أمر للبحث عن الملفات المحددة بواسطة اسم الملف. الآن ، دعونا نستكشف أمرًا آخر أسرع من الأوامر التقليدية تجد
يأمر.
حدد
نظرة عامة على الأمر
هناك أمر آخر للبحث عن الملفات الموجودة على نظامك وهو أسرع من تجد
يأمر. انها ال حدد
يأمر. لا يأتي هذا الأمر مثبتًا مسبقًا على توزيعات Linux. يمكنك استخدام الخطوات التالية لتنزيل وتثبيت ملف حدد
حزمة الأوامر على نظامك.
لأنظمة Ubuntu و Debian، استعمال:
sudo apt update sudo apt install mlocate
لأنظمة Cent Os و Fedora، استعمال:
sudo yum تثبيت mlocate
يبحث أمر تحديد الموقع عن الملف وفقًا للنمط المحدد في الإدخال. حدد
يستخدم ملف قاعدة البيانات للبحث عن الملفات ، ويتم إنشاء ملف قاعدة البيانات هذا بواسطة محدث ب
يأمر.
sudo محدث ب
قد يختلف الوقت المستغرق لتحديث ملف قاعدة البيانات هذا من مستخدم لآخر اعتمادًا على الملفات الموجودة على نظامك.
باستخدام حدد
يأمر
يمكنك استعمال ال حدد
الأمر بالطريقة التالية. تأكد من تحديث ملف قاعدة البيانات باستخدام الأمر sudo محدث ب
.
بناء الجملة:
حدد موقع [filename_or_part_of_filename]
سيبدأ هذا الأمر البحث من الدليل الجذر. سيعيد قائمة بجميع الملفات الموجودة على النظام التي تحتوي على اسم الملف أو جزء من اسم الملف كما هو محدد في الأمر.
مثال:
حدد موقع copy.c
انتاج |:
/home/gaurav/Downloads/git-2.23.0/copy.c /snap/core/9804/usr/lib/python3.5/__pycache__/copy.cpython-35.pyc / snap / core / 9993 / usr / lib /python3.5/__pycache__/copy.cpython-35.pyc /snap/core18/1880/usr/lib/python3.6/__pycache__/copy.cpython-36.pyc / snap / core18 / 1885 / usr / lib / python3 .6 / __ pycache __ / copy.cpython-36.pyc /snap/core20/634/usr/lib/python3.8/__pycache__/copy.cpython-38.pyc /usr/lib/python3.5/__pycache__/copy.cpython -35.pyc /usr/lib/python3.6/__pycache__/copy.cpython-36.pyc /usr/share/icons/MacBuntu-OS/apps/128/copy.com.png
يوضح السطر المميز أنه تم العثور على الملف "copy.c" بالضبط. إلى جانب هذه النتيجة ، يتم أيضًا عرض بعض الملفات الأخرى التي تحتوي على "copy.c" كجزء من اسم ملفها.
لتجنب ازدحام الملفات الأخرى غير المرغوب فيها والعثور على الملف المطلوب فقط ، يمكنك استخدام أمر تحديد الموقع بالطريقة التالية.
حدد موقع -b "اسم الملف"
مثال:
حدد موقع -b '\ copy.c'
انتاج |:
/home/gaurav/Downloads/git-2.23.0/copy.c
يتم سرد الملف المحدد المذكور في معايير البحث جنبًا إلى جنب مع مسار الدليل حيث يوجد.
باستخدام حدد
قد يبدو الأمر صعبًا بعض الشيء ، ولكنه طريقة أسرع للبحث عن الملفات عندما لا تعرف الموقع الدقيق لهذا الملف. يصبح استرداد الملفات سريعًا للغاية عندما تقوم بتحديث ملف قاعدة البيانات الذي يستخدمه أمر تحديد الموقع.
استنتاج
في هذا البرنامج التعليمي القصير ، تعرفنا على أمرين مهمين ، تجد
و حدد
. يمكنك الآن البحث بسهولة عن الملفات الموجودة على نظامك دون أن تضيع في كومة الملفات. سيثبت استخدام هذه الأوامر بالتأكيد توفير الوقت وفعالية مهمتك في البحث عن الملفات.