אנדרואיד

כיצד להסיר (למחוק) ספרייה בלינוקס

Syberia на Nintendo Switch [тест видеозахвата в Linux]

Syberia на Nintendo Switch [тест видеозахвата в Linux]

תוכן עניינים:

Anonim

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

, נסביר כיצד למחוק ספריות בלינוקס באמצעות פקודות rmdir , rm find פקודות.

לפני שאתה מתחיל

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

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

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

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

מסיר ספריות עם rmdir

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

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

rmdir dir1

אם הספרייה אינה ריקה תקבל את השגיאה הבאה:

rmdir: failed to remove 'dir1': No such file or directory

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

הסרת מדריכים עם rm

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

כברירת מחדל, כאשר משתמשים בהם ללא אפשרות rm אינו מסיר ספריות. למחיקת ספרייה ריקה, השתמשו באפשרות -d ( --dir ) וכדי למחוק ספריה לא ריקה וכל תוכנה השתמש באפשרות -r (- --recursive או -R ).

לדוגמה למחיקת ספריה בשם dir1 יחד עם כל התוכן שתקלידו:

rm -r dir1

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

rm -rf dir1

להסרת מספר ספריות בבת אחת, השתמש בפקודה rm ואחריה שמות שמות הספריות מופרדים על ידי רווח. הפקודה שלהלן תסיר כל ספרייה המופיעה בתוכן שלה:

rm -r dir1 dir2 dir3

האפשרות -i אומרת ל- rm לבקש ממך לאשר את המחיקה של כל תיקיית משנה וקובץ. אם הספרייה מכילה הרבה קבצים זה עלול להיות מעט מעצבן ולכן תוכלו לשקול להשתמש באפשרות -I מה שיבקש ממך רק פעם אחת לפני שתמשיך במחיקה.

rm -rI dir1

כדי להסיר את סוג הספריה y ולחץ על Enter .

rm: remove 1 argument recursively? y

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

rm -r *_bak

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

הסרת מדריכים עם find

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

התרחיש הנפוץ ביותר הוא להשתמש בפקודת find כדי למחוק ספריות על בסיס תבנית. לדוגמה, כדי למחוק את כל הספריות _cache ב- _cache בספריית העבודה הנוכחית שתפעיל:

find. -type d -name '*_cache' -exec rm -r {} +

בואו ננתח את הפקודה לעיל:

  • /dir - חיפוש רקורסיבי בספריית העבודה הנוכחית ( . ). -type d - מגביל את החיפוש לספריות. -name '*_cache' - חפש רק ספריות _cache ב- _cache -exec - מבצע פקודה חיצונית עם ארגומנטים אופציונליים, במקרה זה זה rm -r . {} + - מצרף את הקבצים שנמצאו לסוף הפקודה rm .

מסיר את כל הספריות הריקות

כדי להסיר את כל הספריות הריקות בעץ ספריות היית משתמש בהן:

find /dir -type d -empty -delete

להלן הסבר לאפשרויות בהן נעשה שימוש:

  • /dir - חיפוש רקורסיבי בספריית /dir . -type d - מגביל את החיפוש לספריות. -empty - מגביל את החיפוש רק לספריות ריקות. -delete - מוחק את כל הספריות הריקות שנמצאו בתת-המשנה. -delete יכולה למחוק רק ספריות ריקות.

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

/ bin / rm: רשימת הטיעונים ארוכה מדי

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

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

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

find /dir -type f -delete && rm -r /dir

סיכום

בעזרת rm and find תוכלו למחוק ספריות על בסיס קריטריונים שונים במהירות וביעילות.

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

rm rmdir למצוא מסוף