Os humildes serão exaltados (Homilia Diária.1619: Sábado da 30.ª Semana do Tempo Comum)
תוכן עניינים:
- לינוקס
find
תחביר הפקודה - מצא קבצים לפי שם
- מצא קבצים לפי סיומת
- מצא קבצים לפי סוג
- מצא קבצים לפי גודל
- מצא קבצים לפי תאריך שינוי
- מצא קבצים לפי הרשאות
- מצא קבצים לפי בעלים
- מצא ומחק קבצים
- סיכום
פקודת
find
היא אחד הכלים החזקים ביותר בארסנל מנהלי מערכות הלינוקס. הוא מחפש קבצים וספריות בהיררכיה של ספריות על סמך ביטוי שניתן למשתמש ויכול לבצע פעולה שצוינה על ידי המשתמש בכל קובץ תואם.
אתה יכול להשתמש בפקודת החיפוש כדי לחפש קבצים וספריות על פי הרשאותיהם, סוגם, תאריך, בעלותם, גודלם ועוד. ניתן להשתמש בו גם בשילוב עם כלים אחרים כמו
grep
או
sed
.
לינוקס
find
תחביר הפקודה
התחביר הכללי לפקודת
find
הוא כדלקמן:
find
- תכונת
options
שולטת בטיפול בקישורים הסמליים, אפשרויות הבאגים ושיטת האופטימיזציהpath…
תכונתpath…
מגדירה את ספריית ההתחלה או הספריות בהן ימצאו חיפוש בקבצים. תכונתexpression
מורכבת מאפשרויות, דפוסי חיפוש ו פעולות מופרדות על ידי מפעילים.
כדי לחפש קבצים בספרייה, המשתמש המזמין את פקודת
find
צריך להיות בעל הרשאות קריאה בספריה זו.
בואו נסתכל על הדוגמא הבאה:
find -L /var/www -name "*.js"
- האפשרות
-L
(אפשרויות) אומרת לפקודתfind
לעקוב אחר קישורים סימבוליים./var/www
(נתיב…) מציין את הספרייה-name "*.js
חיפוש. שם (ביטוי)-name "*.js
אומרfind
לחיפוש קבצים המסתיימים עם.js
(קבצי JavaScript).
מצא קבצים לפי שם
מציאת קבצים לפי שם הוא ככל הנראה השימוש הנפוץ ביותר בפקודת
find
. כדי למצוא קובץ לפי שם השימוש, האפשרות
-name
עקבה אחר שם הקובץ שאתה מחפש.
לדוגמה, כדי לחפש קובץ בשם
document.pdf
בספרייה
/home/linuxize
, תשתמש בפקודה הבאה:
find /home/linuxize -type f -name document.pdf
כדי לבצע חיפוש חסר רגישות
-iname
המקרים, שנה את אפשרות
-iname
עם
-iname
:
find /home/linuxize -type f -iname document.pdf
הפקודה שלמעלה תתאים "Document.pdf", "DOCUMENT.pdf".. וכו '.
מצא קבצים לפי סיומת
חיפוש קבצים לפי סיומת זהה לחיפוש קבצים לפי שם. לדוגמה, כדי למצוא את כל הקבצים המסתיימים עם
.log.gz
/var/log/nginx
אתה יכול להשתמש:
find /var/log/nginx -type f -name '*.log.gz'
חשוב להזכיר שכאשר אתה משתמש בתו התווים, עליך לצטט את התבנית או להימלט מסמל הכוכבית
*
עם קו אחורי
\
כך שלא יתפרש על ידי הקליפה.
כדי למצוא את כל הקבצים שאינם תואמים את regex
*.log.gz
אתה יכול להשתמש באפשרות
-not
. לדוגמה, כדי למצוא את כל הקבצים שלא מסתיימים ב-
*.log.gz
היית משתמש ב:
find /var/log/nginx -type f -not -name '*.log.gz'
מצא קבצים לפי סוג
לפעמים יתכן שתצטרך לחפש סוגי קבצים ספציפיים, כגון קבצים, ספריות או סימניות רגילים. בלינוקס הכל קובץ.
כדי לחפש קבצים על סמך סוגם, השתמש באפשרות
-type
ואחד המתארים הבאים כדי לציין את סוג הקובץ:
-
f
: קובץ רגילd
: תיקייהl
: קישור סמליc
: התקני תוויםb
: חסימת התקניםp
: called pipe (FIFO)s
: socket
לדוגמה, כדי למצוא את כל הספריות בספריית העבודה הנוכחית, היית משתמש ב:
find. -type d
הדוגמה הנפוצה תהיה לשנות רקורסיבית את הרשאות קובץ האתר ל-
644
והרשאות ספרייה ל-
755
באמצעות הפקודה
chmod
:
find /var/www/my_website -type d -exec chmod 0755 {} ;
find /var/www/my_website -type f -exec chmod 0644 {} ;
מצא קבצים לפי גודל
כדי למצוא קבצים על סמך גודל הקובץ, העבירו את פרמטר הגודל יחד עם קריטריוני הגודל. באפשרותך להשתמש בסיומות הבאות כדי לציין את גודל הקובץ:
-
b
: חסימות 512 בתים (ברירת מחדל)c
: בתיםw
: מילים על שני בתיםk
: קילובייטM
: מגה בייטG
: גיגה בייט
הפקודה הבאה תמצא את כל הקבצים של
1024
בתים בדיוק בתוך ספריית
/tmp
:
find /tmp -type f -size 1024c
פקודת החיפוש מאפשרת לך גם לחפש קבצים שהם גדולים או פחות מגודל שצוין.
בדוגמה הבאה אנו מחפשים את כל הקבצים הנמוכים מ-
1MB
בתוך ספריית העבודה הנוכחית. שימו לב לסמל המינוס לפני ערך הגודל:
find. -type f -size -1M
find. -type f -size +1M
אתה יכול אפילו לחפש קבצים בטווח גודל. הפקודה הבאה תמצא את כל הקבצים שבין
1
ל-
2MB
:
find. -type f -size +1M -size 21M
מצא קבצים לפי תאריך שינוי
פקודת החיפוש יכולה גם לחפש קבצים על סמך השינוי האחרון, הגישה או זמן השינוי שלהם.
זהה לחיפוש לפי גודל, השתמש בסמלים פלוס מינוס עבור "גדול מ-" או "פחות מ-".
בואו נגיד שלפני כמה ימים שינית את אחד מקבצי התצורה של dovecot, אך שכחת איזה מהם. אתה יכול לסנן בקלות את כל הקבצים בספריית
/etc/dovecot/conf.d
שמסתיימת ב-
.conf
ושונו בחמשת הימים האחרונים עם:
find /etc/dovecot/conf.d -name "*.conf" -mtime 5
להלן דוגמא נוספת לסינון קבצים על בסיס תאריך השינוי באמצעות
-daystart
. הפקודה שלהלן תפרט את כל הקבצים בספריית
/home
ששונו לפני
30
יום או יותר:
find /home -mtime +30 -daystart
מצא קבצים לפי הרשאות
האפשרות
-perm
מאפשרת לך לחפש קבצים על סמך הרשאות הקבצים.
לדוגמה, כדי למצוא את כל הקבצים עם הרשאות של
775
בדיוק בתוך ספריית
/var/www/html
, היית משתמש ב:
find /var/www/html -perm 644
אתה יכול להקדים קידומת של המצב המספרי במינוס
-
או לחתוך
/
.
כאשר לחתוך
/
משמש כקידומת, לפחות קטגוריה אחת (משתמש, קבוצה או אחרים) חייבים לכלול לפחות את הסיביות המתאימות לקובץ שתתאים.
שקול את הפקודה לדוגמה הבאה:
find. -perm /444
הפקודה לעיל תתאים לכל הקבצים עם הרשאות קריאה שהוגדרו למשתמש, לקבוצה או לאחרים.
אם מינוס
-
משמש כקידומת, אז יש להגדיר את הקובץ להתאים לפחות את הסיביות שצוינו. הפקודה הבאה תחפש קבצים שקיבלו הרשאת קריאה וכתיבה לבעלים ולקבוצה וניתנים לקריאה על ידי משתמשים אחרים:
מצא קבצים לפי בעלים
כדי למצוא קבצים בבעלות משתמש או קבוצה מסוימים, השתמש באפשרויות-משתמש וקבוצה.
לדוגמה, כדי לחפש את כל הקבצים והספריות שבבעלות המשתמש
linuxize
, היית מפעיל:
find / -user linuxize
הנה דוגמה בעולם האמיתי. נניח שאתה רוצה למצוא את כל הקבצים בבעלות
www-data
המשתמש ולשנות את הבעלות על הקבצים המותאמים מ-
www-data
ל-
nginx
:
find / -user www-data -type f -exec chown nginx {} ;
מצא ומחק קבצים
כדי למחוק את כל הקבצים התואמים, הוסף את אפשרות
-delete
לסוף ביטוי ההתאמה.
וודא שאתה משתמש באפשרות זו רק כאשר אתה בטוח שהתוצאה תואמת את הקבצים שברצונך למחוק. זה תמיד רעיון טוב להדפיס את הקבצים התואמים לפני השימוש באפשרות
-delete
.
לדוגמה כדי למחוק את כל הקבצים המסתיימים ב-
.temp
מה
/var/log/
היית משתמש:
find /var/log/ -name `*.temp` -delete
השתמש באפשרות-
-delete
בזהירות
-delete
. שורת הפקודה 'חיפוש' מוערכת כביטוי ואם תוסיף
-delete
את האפשרות-
-delete
, הפקודה תמחק את הכל מתחת לנקודות ההתחלה שציינת.
כשמדובר בספריות,
find
יכול למחוק רק ספריות ריקות זהה ל-
rmdir
.
סיכום
הראנו לכם כיצד להשתמש בפקודת
find
עם אפשרויות וקריטריונים שונים.
מאמר זה אמור לתת לך הבנה בסיסית כיצד לאתר קבצים במערכות הלינוקס שלך. אתה יכול גם לבקר בדף
find
האדם ולקרוא על כל האפשרויות החזקות האחרות של פקודת
find
.
כיצד לבדוק שטח דיסק בלינוקס באמצעות הפקודה df
כמה שטח נותר לי בכונן הקשיח? במערכות מבוססות לינוקס תוכלו להשתמש בפקודה df כדי לקבל דוח מפורט על השימוש בשטח הדיסק במערכת.
כיצד למחוק מסד נתונים mysql בלינוקס דרך שורת הפקודה
מדריך זה מתאר כיצד למחוק (או להוריד) מסד נתונים של MySQL או MariaDB דרך שורת הפקודה.
כיצד להסיר קבצים וספריות באמצעות שורת הפקודה לינוקס
במדריך זה, נראה לך כיצד להשתמש בפקודת rm כדי להסיר קבצים וספריות באמצעות דוגמאות והסברים על אפשרויות ה- rm הנפוצות ביותר.