אנדרואיד

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

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

Anonim

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

במדריך זה אנו נראה לך כיצד להסיר (למחוק) קישורים סמלים במערכות Linux / UNIX באמצעות פקודות rm , unlink find .

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

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

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

השתמש בפקודה ls -l כדי לבדוק אם קובץ נתון הוא קישור סמלי, וכדי למצוא את הקובץ או הספריה שאליה מצביע הקישור הסמלי.

ls -l /usr/bin/python

lrwxrwxrwx 1 root root 9 Apr 16 2018 /usr/bin/python -> python2.7

התו הראשון "l" מציין שהקובץ הוא סימלינק. הסמל "->" מציג את הקובץ אליו מצביע הסימלינק.

הסר קישורים סמלים עם rm

הפקודה rm מסירה קבצים וספריות נתונים.

למחיקת סימלינק, קרא לפקודת rm ואחריו שם הקישור הסמלי כארגומנט:

rm symlink_name

בהצלחה, הפקודה יוצאת באפס ואינה מציגה פלט.

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

rm symlink1 symlink2

כדי להתבקש לפני הסרת הסימלינק, השתמש באפשרות -i :

rm -i symlink_name

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

rm: remove symbolic link 'symlink_name'?

אם הקישור הסמלי מצביע על ספריה, אל תוסיף את קו הקו / נגרר בסוף. אחרת תקבל שגיאה:

rm symlink_to_dir/

rm: cannot remove 'symlink_to_dir/': Is a directory

אם שם הארגומנט מסתיים ב / , פקודת rm מניחה שהקובץ הוא תיקיה. השגיאה מתרחשת מכיוון שכאשר משתמשים בה ללא אפשרות -d או -r , rm לא יכול למחוק ספריות.

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

rm -f symlink_to_dir/

תוכן ספריית היעד יימחק.

הסר קישורים סמלים עם ביטול unlink

הפקודה unlink מוחקת קובץ נתון. שלא כמו rm , rm unlink מקבל טיעון בודד בלבד.

כדי למחוק קישור סמלי, הפעל את הפקודה unlink ואחריו שם symlink כארגומנט:

unlink symlink_name

אם הפקודה מופעלת בהצלחה, היא לא מציגה פלט.

אל תוסיף את קו הקו / נגרר בסוף השם symlink מכיוון שביטול unlink לא יכול להסיר ספריות.

מצא ומחק קישורים סמלים שבורים

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

find /path/to/directory -xtype l

/path/to/directory/symlink1 /path/to/directory/subdir/symlink2

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

find /path/to/directory -maxdepth 1 -xtype l

/path/to/directory/symlink1

לאחר שתמצא את הסימלינקים השבורים, אתה יכול להסיר אותם ידנית באמצעות rm או unlink או להשתמש באפשרות- -delete של הפקודה find

find /path/to/directory -xtype l -delete

סיכום

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

rm לבטל את קישור המסוף