NOC online · 24/7Longview, TX · +1 323 412 0665
KinetikatechServers · Security · Websites
HE

פקודות לינוקס ומיומנויות מעטפת

find: הכונן של Linux Search שעושה הכל

find היא הפקודה המסוכנת ביותר בשרת ייצור, וזו בדיוק הסיבה שהיא ראויה לשליטה. הוא מונה, מסנן ומבצע בביטוי אחד, וכל תקרית קלאסית של '/var here be dragons' חוזרת לתצוגה מקדימה שמישהו דילג עליה. ההרגלים הם מכניים: ללכת עם -print או -ls first, אצווה עם -exec ... +, להעביר דרך -print0 לתוך xargs -0, ולהתייחס ל-delete כהחלטה שנית, לעולם לא כטיוטה ראשונה.

נקודות עיקריות

  1. סינון לפי מטא נתונים, לא שם בלבד: -סוג f, -mtime +30, -size +100M, ו-perm -o+w מאתרים את הקבצים המוזרים שמוסכמות השמות ודיווחי הגיל מפספסים.
  2. הצג תצוגה מקדימה של כל שאילתה הרסנית: מצא תחילה את /var/www/uploads -name 'core.*' -ls, החלף -ls ב -delete רק לאחר שאתה באמת קורא את הרשימה; התצוגה המקדימה היא בדיקת הבטיחות, לא הצעה.
  3. -exec cmd {} + מקבץ קבצים למספר קריאות ומנצח את ה-\; צורה על עצים גדולים; אותו תחביר מפעיל 'rm כל קובץ תואם בתהליך אחד' ללא שגיאה של רשימת ארגומנטים ארוכה מדי.
  4. פלט בטוח לאפס כברירת מחדל: find . -שם '*.old' -print0 | xargs -0 rm -v; צינורות רגילים לתוך xargs הם דפוס ידוע של אובדן נתונים ביום שבו שם קובץ מכיל רווח.
  5. -xdev ו-maxdepth שומרים על ההליכה כנה: הם מפסיקים את החיפוש לעקוב לתוך mounts ותמונות, מה שמציל גם את זמן הריצה וגם את ההנחות שלך לגבי 'הספרייה הזו'.
  6. חלונות זמן מדויקים אם שואלים אותם במדויק: -mmin -1440 עבור 24 השעות האחרונות, -newermt '2026-01-01' עבור מאז תאריך, וזכור -xtime פירושו 'לפני 24 שעות מלאות' לפני ציטוט זה בכרטיס.
  7. גזום בכוונה: מצא . -path '*/node_modules' -prune -o -name '*.js' -print מדלג על הספרייה האחת שאחרת גוברת על שאר העץ בגודל ובזמן.
  8. צפו ליציאות שאינן אפס בספריות בלתי קריאות; שורות stderr כמו 'הרשאה נדחתה' הן קבצים שדילגו עליהם, לא נתונים, אז סקריפטים סובלים את סטטוס היציאה של find או בודקים אותו במפורש במקום להניח הליכה נקייה.

הערת שטח

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

שאלות נפוצות

החיפוש שלי מצא קבצים אבל הפקודה במורד הזרם לא עשתה כלום. מַדוּעַ?

כמעט תמיד מצטט או קלט ריק: הדפוס הורחב על ידי המעטפת לפני שמצא ראה אותו, או ש-xargs לא קיבל דבר. ציטוט דפוסים, וצמד -print0 עם xargs -0 בכל פעם.

-מחיקה או rm לאחר חיפוש?

-מחיקה היא ישירה, מהירה ובלתי סלחנית; לא ניתן לערבב אותו עם -exec באותו ביטוי. הפעל תחילה את ה-matching -print וקרא אותו; זו כל הדיסציפלינה.

מדוע מוצאים שגיאות הרשאת הדפסה בספריות המערכת?

רכיבים שלא ניתן לקרוא שגיאות הדפסה ל-stderr ולהפוך את היציאה לאפס; לסנן עם 2>/dev/null לנוחות אינטראקטיבית, ולעולם אל תפרש את השגיאות האלה כהיעדר קבצים.

ההבדל בין -mtime ו-ctime שוב?

-mtime הוא שינוי תוכן, -ctime הוא שינוי מטא נתונים (הרשאות, שינוי שם, ספירת קישורים קשיחים); chown או תנועה פוגעת ב-ctime מבלי לגעת ב-mtime, מה שמבלבל בדיוק דוח אחד ברבע.

איך Kinetikatech מסייעת לך ב-פקודות לינוקס ומיומנויות מעטפת

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

דבר עם מהנדס

צריך עזרה בניהול שרתים?

צוות המומחים שלנו זמין 24/7 - זמן תגובה 30 דקות.

קבל עזרה support@kinetikatech.com