למרות שמסוף לינוקס הוא ממשק טקסט שנראה מורכב, הוא למעשה גמיש מאוד, קל לשימוש וכלי שימושי למדי. ניתן להעתיק פקודות בקלות ממקורות מקוונים ולהדביק אותם במסוף לביצוע פעולות שונות. יש המון פקודות אבל הפוסט הזה יתמקד בפקודת find.
הפקודה find משמשת לאיתור, סינון או חיפוש של קבצים ותיקיות במערכת שלך בהתאם לתנאים שצוינו על ידי המשתמש ולבצע מספר פעולות בהן.
בואו נדון כיצד להשתמש בפקודת find, בתחביר שלה ובפעולות שונות המבוצעות על ידי פקודה זו בפירוט.
תחביר של Find Command ב- Linux
תחביר הפקודה find מוצג להלן:
למצוא [נָתִיב] [אפשרויות] [ביטוי]
שלוש תכונות מתאימות לפקודת Find:
- [נתיב]: הוא מגדיר את הספרייה היכן להתחיל לחפש.
- [אופציות]: הוא מגדיר את הקריטריונים של סינון למשל חיפוש בקובץ/תיקיה לפי שמו, הרשאתו, השעה או התאריך.
- [ביטוי]: הוא מגדיר אילו פעולות לבצע עם הקובץ.
כל התכונות שלמעלה הן אופציונאליות מכיוון שניתן להשתמש בהן בהתאם לדרישה.
להדגמה, יצרתי ספריות שונות וכמה קבצי טקסט, עיין בתמונה למטה:
מציאת קובץ לפי שם
כדי לחפש את הקובץ לפי שם, השתמש בפקודה הבאה:
$למצוא.-שֵׁםMyTextFile1.txt
הנקודה לאחר מציאה בפקודה למעלה מציינת את הספרייה הנוכחית.
אם אינך זוכר את שם הקובץ המדויק, ניתן לחדד עוד יותר את החיפוש ולהפוך אותו לחסר רגישות באמצעות השם -שם במקום השם:
$למצוא.-שםmytextfile1.txt
מציאת קובץ לפי סוג
כדי למצוא קובץ לפי סוגו, השתמש באפשרות -type עם אותיות המוכרות גם כמתארים כגון f עבור קבצים, d עבור ספריות, l עבור הקישור הסמלי ו- s עבור שקעים.
כדי לחפש בכל הספריות השתמש ב:
$למצוא.-סוּגד
כדי לחפש קבצים, השתמש ב:
$למצוא.-סוּגו
מציאת קובץ באמצעות סיומת הקבצים
כדי לחפש את הקובץ לפי תבנית, למשל סיומת קובץ, כגון הצגת כל הקבצים עם .txt, השתמש בפקודה הבאה:
$למצוא.-שֵׁם *.טקסט
כל הקבצים עם .txt יוצגו יחד עם הספריות המתאימות להם.
איתור ומחיקה של קובץ
כדי לחפש ולמחוק קובץ, השתמש בפקודה הבאה:
$למצוא.-שםmytextfile1.txt-מדויק rm {};
הפקודה שלעיל תחילה תחפש את הקובץ ולאחר מכן תמחק אותה. התמונה מדגימה כי MyTextFile1 נמחק.
כדי למחוק את כל הקבצים עם סיומת .txt, תוכל להשתמש בפקודה המצורפת:
$למצוא.-שֵׁם *.טקסט-לִמְחוֹק
מציאת קובץ לפי גודל
הפקודה find יכולה גם לחפש קובץ לפי גודל. פשוט השתמש באפשרות -size יחד עם המתארים שלה כגון b עבור בלוקים של 512 Kb, c עבור בתים, k עבור קילובייט, M ו- G עבור מגה -בתים וג'יגה -בתים בהתאמה:
$למצוא.-סוּגו-גודל -1024c
הפקודה שהוזכרה לעיל מחפשת את כל הקבצים בגודל של פחות מ -1024 בתים. ניתן לחדד עוד יותר את החיפוש, למשל, אם ברצוננו למצוא את כל הקבצים הנמוכים מ- 1Mb, אנו משתמשים בפקודה הבאה:
$למצוא.-סוּגו-גודל1 מיליון
עבור כל הקבצים הגדולים מ- 1Mb, השתמש בפקודה הבאה:
$למצוא.-סוּגו-גודל+מיליון
ניתן להגדיר גם טווח גודל באמצעות הפקודה המצורפת:
$למצוא. -סוּגו-גודל+מיליון-גודל10 מיליוןמציאת קבצים לפי הרשאה
כדי לחפש קובץ באישור, נשתמש באפשרות -perm ולאחר מכן בקוד הרשאה, כפי שמוצג להלן:
$למצוא.-זרע 664
מצא טקסט בתוך קבצי טקסט
כדי למצוא טקסט במספר קבצי טקסט במערכת שלך, השתמש בפקודה המופיעה להלן:
$למצוא.-סוּגו-שֵׁם *.טקסט-מדויק אחיזה'שלום'{};
הפקודה מחפשת את המילה שלום בקבצי הטקסט. הפלט הוא מחרוזות טקסט מקבצי הטקסט המכילים Hello.
מציאת קובץ לפי תאריך ושעה לשינוי
כדי לגשת לקובץ בשינויו האחרון, השתמש בפקודה הבאה:
$למצוא.-סוּגו-שם *.טקסט-min+10
הפקודה לעיל מחפשת קובץ ששונה לאחרונה לפני ארבע דקות, ו- m מסמל את השינוי.
$למצוא. -סוּגו-שם *.טקסט-אמין -10
הפקודה לעיל מחפשת קובץ שאליו הגישו לאחרונה לפני 4 דקות, ו- a in amin מסמן Access. כדי לגשת לקובץ ששונה לפני ארבעה ימים, השתמש ב- -mtime +4 במקום mmin +4.
סיכום
פקודת Find ב- Linux היא פקודה שימושית מאוד המאפשרת לך לחפש קובץ או ספרייה באמצעות קריטריונים שונים, ואף מאפשרת לך לשנות את הקבצים מהטרמינל. במדריך זה, צפינו בתחביר הפקודה find ב- Linux ולמדנו כיצד להשתמש בפקודת find לביצוע פונקציות שונות.