כיצד להשתמש ב- Find Command ב- Linux? 40 דוגמאות כלולות

הממצא הוא כלי שורת פקודה רב עוצמה המאפשר למנהלי מערכות לאתר ולנהל קבצים וספריות על בסיס מגוון רחב של קריטריוני חיפוש. זה יכול למצוא קבצים לפי שמם, סוגם, או סיומת, גודל, הרשאות וכו ‘.


מלבד איתור קבצים וספריות, שילוב של פקודת החיפוש עם אחרים מאפשר לך לנקוט בפעולה על התוצאות. הוספת אפשרות-exec מאפשרת למג’ינים להפעיל פקודות חיצוניות ולבצע פעולות כמו העתקה, העברה, מחיקה או שינוי הרשאות של הקבצים התואמים את הקריטריונים שצוינו כמו גודל, שם וכו ‘..

במאמר זה נתחיל בהסבר של פקודות החיפוש הבסיסיות עם דוגמאות. זה יראה לך כיצד למצוא קבצים וספריות. לאחר מכן נראה לך כיצד להשתמש באפשרות -exec כדי לפעול על הקבצים או הספריות על סמך הגודל, ההרשאות שלהם וכו ‘..

התחביר הכללי לפקודת החיפוש הוא

מצא {path} {name -of-file או dir-to-search} {action-to-take}

איפה,

  • הנתיב מציין את הספרייה.
  • שם הקובץ או הפניה לחיפוש: שם הקובץ או הספרייה לחיפוש
  • פעולה לביצוע: כגון העתקה, מחיקה, מעבר וכו ‘.

במדריך זה נסביר כיצד לאתר קבצים וספריות התואמים לדפוסים שצוינו. נראה גם כיצד לבצע פעולות על הקבצים או הספריות שאיתם פקודת ה- find. המדריך מבוסס על אובונטו אך ישים לרוב ההפצות והגרסאות של לינוקס.

Contents

מצא קבצים וספריות

מצא קבצים ספציפיים לפי שם או סיומת

כדי לחפש קובץ ספציפי, הפעל את הפקודה הבאה מהשורש (/). הפקודה מכילה את השם המדויק לקובץ שאתה מחפש.

למצוא . שם קובץ 22.txt

תפוקה

./test/file22.txt
./sales/file22.txt

שימו לב שהתוצאות כוללות את הנתיב. זה חשוב אם אינך מכיר את הספרייה בה ממוקם הקובץ, או כאשר הוא נמצא ביותר ממקום אחד.

אתה יכול גם לחפש את הקובץ בספריה אחרת כשהוא עדיין נמצא במיקום הנוכחי. במקרה זה, עליך לספק את הנתיב לספריה בה ברצונך לחפש.

מצא ./test-name file22.txt

מחפש קבצים ספציפיים בספריה אחרת

במקרה שלנו, אנו נחפש את כל המתחילים בקובץ האותיות בספריית הבדיקה.

מצא קובץ ./test-name *

תפוקה

./test/file22.txt
./test/file30.doc
./test/file1.txt
./ test / file5, doc

חפש קבצים לפי סיומת

כדי לחפש קבצים עם סיומת מסוימת, הוסף אותם לפקודה.

למצוא . שם * .txt

תפוקה

./test/subtest/subfil.txt
./test/file22.txt
./test/file1.txt
./home1/files32.txt
./home2/file22.txt
./qa/tags.txt

מצא קבצים וספריות לפי שם

השתמש בפקודה שלהלן כדי לחפש קבצים וספריות המתחילים באותיות qa. במחשב שלנו יש לנו את קבצי qatree.txt ו- qa.txt וכן ספריה בשם qa.

אם נפעיל את הפקודה;

מצא / שם "qa *"

זה מחזיר את הפלט הבא

./test/qatree.pdf
./test/qa.txt
./ בית / קאה

הפקודה מחזירה גם את הקבצים וגם את הספריות התואמים את קריטריוני החיפוש. כדי למצוא קבצים או ספריות בלבד, עליך לציין זאת בפקודה.

מצא קבצים או ספריות בלבד

עבור קבצים בלבד, השתמש במתג f.

קבצים בלבד

מצא / סוג הקלד f -name "qa *"

תפוקה

./test/qatree.pdf
./test/qa.txt

ספריות בלבד

הוסף את האפשרות סוג d לאיתור ספריות בלבד.

מצא / סוג הקלד d-name "qa *"

תפוקה

./ בית / קאה

פקודה למצוא חסר רגישות לרישיות

כל החיפושים עם מתג שם הם רגישים לאותיות רישיות ולא יניבו תוצאות עם אותיות גדולות. כדי לקבל את כל המקרים, השתמש באפשרות-שם.

למצוא ./- שם "qa *"

תפוקה

./test/qatree.pdf
./test/qa.txt
./test/QAtest.txt
./ בית / קאה

חפש קובץ ממספר ספריות

כדי למצוא את הקבצים בספריות שונות, הוסף את דרכיהם לפקודה. במקרה שלנו, נבדוק את ספריות הבדיקה והמספרים.

מצא ./test ./numericname file22.txt -type f

תפוקה

./test/file22.txt
/root/numeric/file22.txt

מצא קבצים מרובים עם סיומות שונות מכל הספריות

אתה יכול להשתמש בפקודת find כדי לאתר קבצים מרובים המשתפים את התוספים השונים כגון * .doc, * .txt * .pdf וכו ‘. ניתן לעשות זאת בנפרד, סיומת אחת בכל פעם, או באמצעות פקודה אחת בלבד הכוללת את כל התוספים הרצויים.

למצוא . הקלד f (-name "*.טקסט" -o- שם "* .pdf" -o- שם "*. דוק" )

תפוקה

./test/subtest/subfil.txt
./test/qatree.pdf
./test/file22.txt
./test/qa.txt
./test/file30.doc
./books/acro.pdf
./data1/FILE22.txt
./docs/files32.txt

מצא קבצים המכילים טקסט מסוים

לפעמים, ברצונך לגשת לקובץ המכיל טקסט מסוים, אך אינך יכול לזכור את שם הקובץ או את מיקוםו. פקודה זו מאפשרת לך למצוא את כל הקבצים המכילים את טקסט היעד שלך.

כדי לחפש את כל הקבצים המכילים את המילה היפר-התכנסות, השתמש;

מצא / הקלד f -exec grep -l -i "התכנסות יתר" {};

תפוקה

/ root / numeric / hci
/ root / HCIP

האפשרות –i מאפשרת לפקודה להתעלם ממקרים והיא תמצא את הטקסט בין אותיות רישיות ובין אם לא, כלומר היפר-התכנסות, היפר-התכנסות וכו ‘..

כדי לחפש את הקבצים בספריה ספציפית, פשוט הוסף אותם לפקודה

למצוא ./numeric -type f -exec grep -l -i "התכנסות יתר" {};

תפוקה

./ מספרי / hci

מצא קבצים וספריות בהתבסס על גודל

אתה יכול למצוא את כל הקבצים או הספריות שהם קטנים יותר, שווים או גדולים מגודל מסוים, בטווח מסוים או ריק. השתמש בתבנית הגודל המתאימה בהתאם לסוג הקבצים או הספריות שאתה מחפש.

אפשרויות גודל כוללות;

ג – בתים

k – קילובייט

M – מגה בייט

G – ג’יגה בייט

מצא קבצים בגודל מסוים – שווה ל- 30MB

לחיפוש מצא את כל קבצי ה- 30MB

מצא / גודל 30M

מצא קבצים הגדולים מגודל מוגדר

מצא גודל + 2M

תפוקה

. /Downloads/ubuntu18043.iso
./.cache/pip/http/6/e/3/8/3/6e38383f41850c3e5705d48116bc52f81b92a80500f414305057 7a9c

מצא קבצים פחות מ- 10MB בספרייה הנוכחית

למצוא . הקלד f-גודל -10M

מצא קבצים בגדלים שבין 100-200MB

כשמחפשים קבצים בטווח ספציפי כגון בין 100 ל 200 מגה בייט

מצא / -גודל + 100M-גודל -200M

חפש ספריות שגדולות יותר מ- 20 קילוגרמים

מצא / הקלד d – גודל + 20k

מצא קבצים וספריות ריקים.

קבצים

מצא ./ – הקלד f – גודל 0

או

מצא / סוג f – פטור

ספריות

מצא / סוג הקלד d – פטור

מצא קבצים לפי גיל או זמן שינוי

מצא קבצים בני יותר מ- n ימים

מצא / נתיב / הקלד f -name ‘* .txt’ -mtime +8

ה- -mtime +8 יחפש קבצי txt שגילם 8 שנים.

לפי תאריך שינוי

זה יחפש קבצים ששונו במהלך 17 השעות האחרונות

למצוא . -זמן -17-סוג f

מחפש ספריות ששונו במהלך 10 הימים האחרונים

למצוא . -זמן -10-סוג ד

מצא קבצים על בסיס גישה או שינוי

מצא קבצים על בסיס תאריך או שעה שאליהם נגשת. זה מאפשר לך לראות קבצים שאליהם לא ניגש או שלא הושג אותם במהלך תקופה מוגדרת.

כדי לראות קבצים שלא ניגשו אליהם במהלך 10 הימים האחרונים בספריה הביתית.

מצא / בית בזמן 10

קבצים ניגשים בדיוק לפני 10 יום

מצא / בית בזמן 10

גישה אליו במהלך 10 הימים האחרונים

מצא / בית-בזמן -10

מצא קבצים ששונו במהלך n הימים האחרונים

אתה יכול גם לחפש את הקבצים בספרייה / בית ששונו במהלך 10 הימים האחרונים באמצעות הפקודה;

מצא / בית-זמן -10

מצא קבצים ששונו במהלך תקופה מסוימת.

לדוגמה, כל הקבצים ששונו לפני 6-15 יום בספריה הביתית.

מצא / בית – הקלד f – זמן +6 – זמן – 15

קבצים וספריות ניגשו במהלך 10 הדקות האחרונות

כדי למצוא את הקבצים שאליהם נגשו 10 דקות אחרונות, השתמש באפשרות -amin.

למצוא . -מין -10-סוג f

תפוקה

./.bash_history
./[מוגן בדוא”ל]: ~ #

ספריות ניגשו במהלך 10 הדקות האחרונות

למצוא . -מין -10-סוג ד

מצא קבצים התואמים להרשאות ספציפיות

תחביר

$ מצא-מצב זרע

כאשר המצב הוא ההרשאה שהיא מספרית כמו 644, 655, 700, 777 וכו ‘, או אותיות כמו u = x, a = r + x, וכו’.

ניתן לציין את המצב בשלוש הדרכים השונות הבאות.

  1. ללא קידומת כשרוצים למצוא קבצים עם ההרשאות המדויקות שצוינו.
  2. עם “-” עבור קבצים עם הרשאה שצוינה לפחות. פעולה זו מחזירה קבצים עם הרשאות מוגדרות כמו גם הרשאות גבוהות יותר.
  3. השימוש ב- “/” מחייב לציין את הבעלים או הקבוצה עם האישור לקובץ.

מצא קבצים עם הרשאה 777

מצא -פרמיה 777

תפוקה

./ file1

מצא קבצים עם 766 לפחות
מצא -פרמה -766

תפוקה

./ file2
./ file1

הפקודה מחפשת את כל הקבצים שבהם

  • לבעלי הקובץ הרשאות קריאה / כתיבה / ביצוע.
  • לקבוצה הרשאות קריאה / כתיבה
  • אחרים קיבלו הרשאת קריאה / כתיבה

ככזה, הוא מחזיר שני קבצים העומדים בקריטריון זה – file1 ו- file2. הקבצים אינם צריכים להיות בעלי הרשאות 766 המדויקות ויכולים לכלול קבצים נוספים כל עוד הם חייבים לכלול לפחות את המצוין.

מצא קבצים הניתנים לכתיבה על ידי הבעלים

אנו נשתמש כעת ב” / “כדי לחפש קבצים הניתנים לכתיבה על ידי הבעלים שלהם, הקבוצה או אחרים.

מצא-פרמה / 222
.
./ file2
./ file3
./ file1

האמור לעיל מחפש קבצים הניתנים לכתיבה על ידי הבעלים או הקבוצה שלהם.
זה מחזיר קבצים הניתנים לכתיבה על ידי אחד מהם, אך לא בהכרח שניהם. כדי לראות קבצים שבהם לשניהם הרשאות הניתנות לכתיבה, השתמש בקידומת.

מצא -פרום -220

תפוקה

./ file2
./ file1

מצא קבצים בבעלות משתמש

מצא את כל הקבצים בבעלות ג’ק

שקע למצוא / בית

תפוקה

/ בית / ג’ק
/home/jack/examples.desktop
/home/jack/.gnupg
/home/jack/.gnupg/private-keys-v1.d
/home/jack/ans.cgi

מצא קבצים ספציפיים בבעלות משתמש

מצא את כל קבצי הטקסט שבבעלות ג’ק

מצא / בית – שקע משתמש – שם "*.טקסט"

תפוקה

/home/jack/docs/file32.txt

מצא וקבץ ספריות וספריות יחד עם הרשאותיהם

למצוא שם "*. קונפ" | ls -l

תפוקה

סך הכל 120
drwxr-xr-x 2 root root 4096 31 בדצמבר 13:19 גיבוי
drwxr-xr-x 2 root root 4096 4 בינואר 11:57 שולחן עבודה
drwxr-xr-x 2 root root 4096 דצמבר 31 11:50 מסמכים
drwxr-xr-x 2 root root 4096 31 בדצמבר 12:27 הורדות
-rw-r – r– 1 root root 0 ינואר 4 12:02 file22.doc
drwxr-xr-x 2 root root 4096 4 בינואר 12:14 file23
-rw-r – r– 1 root root 0 4 בינואר 12:23 file23.txt

מצא ותפעל לפי התוצאות

בחלק זה נבחן כיצד ניתן לפעול על הקבצים התואמים לתבנית שצוינה בפקודת החיפוש.

מצא קבצים ושנה הרשאות

מצא ושנה הרשאות מסוגי קבצים מסוימים. במקרה שלנו נעבוד עם קבצי PHP עם הרשאות שונות כמוצג להלן.

[מוגן בדוא”ל]: ~ / ver $ ls -la

סה”כ 8
drwxrwxr-x 2 jack jack 4096 3 Jan 3 14:11 .
drwxr-xr-x 8 jack jack 4096 3 בינואר 14:05 ..
-rwxr-xr-x 1 jack jack 0 Jan 3 14:06 ans.php
-rw-rw-r– 1 jack jack 0 Jan 3 14:11 base.php
-rwxr-xr-x 1 jack jack 0 Jan 3 14:06 query.php
-rw-rw-r– 1 jack jack 0 Jan 3 14:11 qust.php
-rwxr-xr-x 1 jack jack 0 ינואר 3 14:06 text.php
-rw-rw-r– 1 jack jack 0 Jan 3 14:11 varier.php

כעת נחפש את כל קבצי ה- PHP (למעלה) ונחליף את ההרשאות שלהם ב- 755

מצא שם ver "* .php" -סוג f-exec chmod 755 {};

הפקודה מחפשת קבצי PHP בספריית ver ואז מגדירה את הרשאתם ל 755 (rwxr-xr-x)

תוצאות

[מוגן בדוא”ל]: ~ / ver $ ls -la
סה”כ 8
drwxrwxr-x 2 jack jack 4096 3 Jan 3 14:11 .
drwxr-xr-x 8 jack jack 4096 3 בינואר 14:05 ..
-rwxr-xr-x 1 jack jack 0 Jan 3 14:06 ans.php
-rwxr-xr-x 1 jack jack 0 Jan 3 14:11 base.php
-rwxr-xr-x 1 jack jack 0 Jan 3 14:06 query.php
-rwxr-xr-x 1 jack jack 0 Jan 3 14:11 qust.php
-rwxr-xr-x 1 jack jack 0 ינואר 3 14:06 text.php
-rwxr-xr-x 1 jack jack 0 Jan 3 14:11 varier.php

מצא ושנה הרשאות קבצים וספריות

מצא קבצים עם הרשאות 644 ושנה אותם כך שיש להם 655 הרשאות

למצוא . הקלד f -perm 644 -exec chmod 655 {};

אתה יכול גם לחפש ספריות עם 644 הרשאות ולהחליף זאת ב- 755.

למצוא . הקלד d -perm 644

תפוקה

./ מסמכים

לתיקיית המסמכים 644 הרשאות

drwxrwxr-x 2 jack jack 4096 ינואר 3 12:45 docs

כדי להגדיר את זה ל 755, אנו רצים

למצוא . הקלד d -perm 644 -exec chmod 755 {};

כעת נוכל לבדוק שוב כדי לראות מה בדיוק 755

למצוא . הקלד d -perm 755

תפוקה
.
./ מסמכים

מלמעלה אנו יכולים לראות את השורש ולספריות המסמכים יש 755 הרשאות.

הפקודה Ls –la מספקת את הפרטים הבאים

drwxr-xr-x 2 jack jack 4096 Jan 3 12:45 docs

מצא והעתק קבצים או ספריות

מצא והעתק קובץ ספציפי לספרייה

הפקודה שלהלן תמצא את קובץ ה- file22.txt ותעתיק אותו לספריית ~ / tmp / images.

מצא את שם הקובץ22.txt -exec cp {} ~ / tmp / images;

מצא והעתק סוג אחד של קבצים לספרייה

כדי למצוא קבצים כמו תמונות עם סיומת jpg בספריה הנוכחית ולהעתיק אותם למיקום אחר כמו תיקיית תמונות, השתמש;

מצא את השם ‘* .jpg’ -exec cp {} ~ / tmp / images;

פעולה זו תמצא ותעתיק את כל קבצי ה- jpg לתיקיית ~ / tmp / images.

מצא והעתק קובץ אחד לספריות רבות

מצא והעתק יחיד לספריות מרובות.

מצא ~ / tmp / dir1 / ~ / tmp / dir2 / $ HOME / 3 / -maxdepth 0 -exec cp ~ / numeric / hci {};

פעולה זו תמצא את קובץ ה- hci ותעתיק אותו לשלושת הספריות של / tmp / dir1 / / tmp / dir2 / ו- $ HOME / 3 /

מצא והעביר קבצים לספרייה אחרת

כדי להעביר קובץ ידוע מספריה לתיקיה. כדי להעביר את קובץ universal.php;

מצא ~ / תיקייה / הקלד f -name universal.php -exec mv {} ~ / numeric /;

חפש והעביר קבצים עם סיומת מסוימת לתיקיה אחרת

מצא ~ / numeric / -type f -name ‘* .php’ -exec mv {} ~ / תיקייה /;

מצא קבצים מסוימים ועבר לתיקיה אחרת ספציפית

מצא את סוג f-name uni *. * -exec mv {} ~ / unifiles /;

הפקודה מחפשת את כל הקבצים עם השמות המתחילים ב- uni ושיש להם סיומת כלשהי. לאחר מכן הוא מעביר אותם לספרייה / unifiles /

מצא והעביר קבצים על סמך הגיל

מצא והעביר קבצים שגדלו מהימים שצוינו למקום אחר כגון הארכיון.

מצא / נתיב / הקלד f -name ‘* .pdf’ -mtime +20 -exec mv {} / backup1 /;

פעולה זו תחפש קבצי PDF בני יותר מ 20 יום ותעביר אותם לספריית backup1.

מצא ומחק קבצים וספריות

התחביר לאיתור והסרת קבצים או ספריות בספריה הנוכחית הוא

למצוא . הקלד f -name "קובץ למחיקה – -" -exm rm -f {}; למחיקת קבצים בלבד או

למצוא . -שם מוקלד "ישיר למחיקה" -exec rm -rf {}; למחיקת ספריות בלבד

מצא ומחק קבצים ספציפיים בלבד

כדי למצוא ולמחוק קבצים המתחילים ב- til, השתמש ב;

למצוא . הקלד f -name "til *" -exm rm {};

כדי למצוא ולמחוק ספריות המתחילות ב- til

למצוא . -שם מוקלד "til *" -exm rm {};

הסר את שני הקבצים והמדריכים

למצוא . שם "til *" -exec rm -rf {};

פעולה זו תסיר את הקבצים והמדריכים המתחילים באותיות עד.

מחק לפי סיומת

להלן כיצד תוכלו לאתר ולמחוק את כל קבצי ה- txt בספרייה הנוכחית. החלף את ה- txt בתוסף אחר כגון bak, pdf או כל סוג אחר שברצונך להסיר.

למצוא . הקלד f -name "*.טקסט" -exm rm -f {};

במקרה שאתה רוצה שהמערכת תבקש ממך לאשר לפני שתמחק כל קובץ, הוסף את האפשרות -i כמטה.

למצוא . הקלד f -name "*.טקסט" -exec rm -i {};

תפוקה

rm: להסיר קובץ ריק רגיל ‘./File22.txt’? y
rm: להסיר קובץ ריק רגיל ‘./file22.txt’? y
rm: הסר קובץ ריק רגיל ‘./file23.txt’?

כברירת מחדל ה- -rm לא יסיר את הספריות ועליך להשתמש באפשרות -r כדי להבטיח הסרה רקורסיבית. זה מבטיח למחוק ספריות ריקות ואלו המכילות קבצים. האפשרות -f מאלצת את ההסרה והיא משמשת גם לקבצים וגם לספריות.

מצא ומחק קבצים בני יותר מ- n ימים

מצא ומחק קבצי גיבוי מעל 20 יום מהספרייה הנוכחית.

למצוא . הקלד f -name ‘* .bak’ -mtime +20 -exec rm {};

פעולה זו תמחק את כל קבצי ה- Bak מעל גיל 20 יום.

מצא ומחק ספריות בלבד

למחיקת ספרייה בשם dir22

למצוא . הקלד d -name dir22 -exec rm -rf {};

וודא שאתה מתאים לתיק שם הספריה או להשתמש באפשרות-שם.

למצוא . הקלד d -iname Dir22 -exec rm -rf {};

מסיר את Dir22 וגם את dir22

כדי לאשר לפני המחיקה, השתמש באפשרות -i.

למצוא . הקלד d -iname Dir22 -exec rm -rf -i {};

תפוקה
rm: להסיר את המדריך ‘./Dir22’? n
rm: להסיר את המדריך ‘./dir22’? y

במקרה שלנו, הקלדנו n עבור תיקיית Dir22 שלא תימחק ו- y עבור dir22 שתוסר כעת.

מצא והסר קבצים ריקים

אתה יכול להשתמש בכל אחת מהפקודות הבאות כדי לאתר קבצים ריקים ולמחוק אותם אוטומטית.

מצא ./- הקלד f-size 0 -exec rm -f {};

או
מצא ./- סוג f-size 0 | xargs rm -f
או
מצא ./- הקלד f-גודל 0-מחק

מצא והסר ספריות ריקות

להסרת ספריות ריקות אנו נשתמש באפשרות d.

מצא ./- הקלד d -empty -exec rmdir {};

חלופה נוספת היא להשתמש במחיקה במקום בהסרה.

מצא / סוג הקלד d -empty-למחוק

לתשומת לבך, מחיקת קבצים מערכתיים או קריטיים מהמחשב שלך עלולה לגרום נזק למערכת ההפעלה או היישומים או לגרום לאובדן הנתונים החשובים שלך.

כדי להימנע מחיקות מקריות, כדאי להשתמש בחשבון משתמש שאינו שורש. כמו כן, וודא שאתה מוחק את הקבצים הנכונים שאינם שימושיים וכי יש לך גיבוי של כל קבצי הנתונים שלך למקרה.

מה הלאה?

קדימה נסה אותם בסביבת המעבדה שלך או בסביבה ללא ייצור. בדוק אם אתה יכול להשתמש בכמה כדי להפוך את ניקוי מערכת הקבצים לאוטומטית באמצעות Crontab. וכדי לשלוט ב- Linux, בדוק זאת קורס מקוון.

תגיות:

  • לינוקס

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map