في هذا المنشور سنلقي نظرة على لينكس find
الأمر وكيفية البحث والعثور على الملفات ذات السمات المختلفة.
لينكس find
command عبارة عن أداة قوية مضمنة يمكن استخدامها لتحديد وإدارة الملفات والأدلة بناءً على مجموعة واسعة من معايير البحث.
على سبيل المثال ، يمكننا العثور على الملفات حسب الاسم والامتداد والحجم والأذونات وما إلى ذلك. يمكننا أيضًا استخدام find
أمر للبحث عن نص معين داخل ملف لا نعرف اسمه.
دعونا نرى بعض استخدامات find
أمر مع أمثلة:
إذا كنت تعرف اسم الملف ولكنك لا تتذكر الدليل الموجود فيه ، يمكنك استخدام الأمر التالي من الدليل الجذر:
find . -name sales.csv
إخراج العينة:
./accounts/sales.csv
إذا كنت تريد البحث عن ملف (ملفات) معين في دليل ، فيمكننا استخدام:
find ./test -name testCases*
إخراج العينة:
./test/testCases10.txt ./test/testCasesPassed.txt ./test/testCasesFailed.log
في الحالة المذكورة أعلاه ، نحن نبحث فقط داخل دليل './test'.
للبحث والعثور على الملفات بامتداد معين نستخدم:
find . -name *.jpg
إخراج العينة:
./test/results/failedTests.jpg ./test/project.jpg ./home/profile_pic.jpg ./tmp/cute-cats.jpg
للعثور على الملفات فقط ، نحتاج إلى استخدام -f
اختيار:
find ./ -type f -name 'results*'
إخراج العينة:
./test/results_latest.log ./test/results_archive.pdf
للعثور على الدلائل فقط ، نحتاج إلى استخدام -d
اختيار:
find ./ -type d -name 'results*'
إخراج العينة:
./test/results
إذا كنت ترغب في البحث وإدراج جميع الملفات التي تحمل اسمًا معينًا في أدلة متعددة ، فيمكنك إما بدء البحث في المجلد الجذر ، أو إذا كنت تعرف الدلائل ، فيمكنك تحديدها.
مثال:
find ./test ./logs -name failed*.* -type f
إخراج العينة:
./test/failed_tests.txt ./logs/failed_tests.log
في بعض الأحيان تريد البحث عن ملف ولا تعرف اسمه ، لكنك تعلم أنه يحتوي على نص معين بداخله.
يمكنك استخدام:
find ./test -type f -exec grep -l -i 'login_scenarios' {} ;
هنا ، -i
يتم استخدام الخيار لتجاهل الحالة ، لذلك سيتم العثور على كل من Login_Scenarios و login_scenarios.
يمكننا حتى العثور على ملفات بأحجام مختلفة. خيارات الحجم هي:
c
بايتk
كيلوبايتM
ميغا بايتG
جيجا بايتعلى سبيل المثال للعثور على الملفات ذات الحجم الدقيق الذي نستخدمه:
find / -size 10M
وللعثور على الملفات التي يزيد حجمها عن حجم معين ، نستخدم:
find ./test -size +2M
سيجد ما سبق جميع الملفات التي يزيد حجمها عن 2 ميجابايت في مجلد ./test.
لإيجاد وحذف ملفات معينة نستخدمها:
find . -type f -name 'temp*' -exec rm {} ;
تعلمت في هذه المقالة كيفية استخدام أمر linux find للبحث عن الملفات بناءً على الاسم والامتداد والحجم والنوع.