בפוסט זה נסתכל על הלינוקס find
פקודה וכיצד לחפש ולמצוא קבצים עם מאפיינים שונים.
הלינוקס find
הפקודה היא כלי מובנה רב עוצמה שיכול לשמש לאיתור וניהול קבצים וספריות בהתבסס על מגוון רחב של קריטריוני חיפוש.
לדוגמא, אנו יכולים למצוא קבצים לפי שמם, סיומת, גודל, הרשאות וכו '. אנו יכולים גם להשתמש ב 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 MB בתיקיית ./test.
כדי למצוא ולמחוק קבצים ספציפיים שאנו משתמשים בהם:
find . -type f -name 'temp*' -exec rm {} ;
במאמר זה למדת כיצד להשתמש בפקודה linux find לחיפוש קבצים על פי שם, סיומת, גודל וסוג.