כיצד למחוק קבצים וספריות במסוף לינוקס

rm ואת   rmdir פקוד קבצים וספריות מחיקים על לינוקס, MacOS, ואחרות דמויות יוניקס ומערכות הפעלה. הם דומים del ואת   deltree הפקודות ב- Windows ו- DOS. פקודות אלה חזקות מאוד ויש להן לא מעט אפשרויות.

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

כיצד להסיר קבצים באמצעות rm

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

rm file_1.txt

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

rm ./path/to/the/file/file_1.txt

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

rm file_2.txt file_3.txt

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

rm * .png

פקודה זו תמחק את כל הקבצים שיש להם סיומת תו אחת. לדוגמה, פעולה זו תמחק את File.1 ואת File.2, אך לא את File.12.

rm *.?

אם קובץ מוגן מפני כתיבה תתבקש לפני מחיקת הקובץ. עליך להגיב באמצעות yאו nולחץ על "Enter".

כדי להפחית את הסיכון לשימוש rmבכרטיסי בר השתמש באפשרות -i(אינטראקטיבית). זה מחייב אותך לאשר את המחיקה של כל קובץ.

rm -i * .dat

האפשרות -f (כוח) היא ההפך מאינטראקטיבי. זה לא מבקש אישור גם אם הקבצים מוגנים מפני כתיבה.

שם קובץ rm -f

כיצד להסיר ספריות באמצעות rm

כדי להסיר ספריה ריקה, השתמש באפשרות -d (ספריה). אתה יכול להשתמש בתווים כלליים ( *ו ?) בשמות ספריות בדיוק כמו שאתה יכול לעשות עם שמות קבצים.

ספריית rm -d

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

rm -d directory1 directory2 / path / to / directory3

למחיקת ספריות שאינן ריקות, השתמש באפשרות -r(רקורסיבית). כדי להיות ברור, זה מסיר את הספריות ואת כל הקבצים וספריות המשנה הכלולים בתוכם.

rm -r directory1 directory2 directory3

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

ספריית rm -rf

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

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

עץ sudo apt-get install

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

עֵץ

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

נתיב עץ / אל / ספריה

rmהפקודה יש גם --one-file-system, --no-preserve-root, --preserve-rootאפשרויות, אבל אלה הם רק המלצה עבור משתמשים מתקדמים. אם אתה טועה במשהו, אתה יכול בטעות למחוק את כל קבצי המערכת שלך. עיין בעמוד המדריך של הפקודה למידע נוסף.

כיצד להסיר ספריות באמצעות rmdir

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

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

מחק ספריה אחת בספריה הנוכחית על ידי העברת שמה ל rmdir:

ספריית rmdir

מחק מספר ספריות על ידי העברת רשימת שמות אל   rmdir:

rmdir directory1 directory2 directory3

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

rmdir / path / to / directory

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

כאשר rmdirנותן שגיאת "מדריך לא ריק", הוא מפסיק לעבד את הספריות שהועברו אליו בשורת הפקודה. אם ביקשת ממנו למחוק ארבע ספריות ובראשונה היו קבצים, rmdirהיה נותן לך את הודעת השגיאה ולא תעשה שום דבר נוסף. אתה יכול להכריח אותו להתעלם משגיאות אלה באמצעות --ignore-fail-on-non-emptyהאפשרות כך שיעבדו ספריות אחרות.

בדוגמה הבאה הועברו שתי תיקיות rmdir, אלה work/reportsו- work/quotes. --ignore-fail-on-non-emptyאפשרות נכללה הפקודה. work/reportsהתיקייה יש קבצים בו, כך rmdirשאי אפשר למחוק אותה. --ignore-fail-on-non-emptyכוחות אפשרות rmdirלהתעלם מהשגיאה ולהמשיך הלאה אל התיקיה הבאה היא צריכה התהליך, וזה work/quotes. זוהי תיקיה ריקה rmdirומוחקת אותה.

זו הייתה הפקודה בה נעשה שימוש.

rmdir --ignore-fail-on-non-ריק עבודה / דוחות / עבודה / הצעות מחיר

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

בדוגמה הבאה הפקודה שמועברת rmdirהיא:

rmdir -p עבודה / חשבוניות

הן invoicesואת workהספריות נמחקות, כמבוקש.

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

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