وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

روش حذف (حذف) پیوندهای نمادین در لینوکس

0 3
زمان لازم برای مطالعه: 3 دقیقه



پیوند نمادین که به عنوان پیوند نمادین نیز شناخته می شود، نوع خاصی از فایل است که به فایل یا دایرکتوری دیگری اشاره می کند روی ماشین شما چیزی شبیه میانبر در ویندوز است. یک پیوند نمادین می تواند به یک فایل یا یک دایرکتوری اشاره کند روی فایل سیستم یا پارتیشن یکسان یا متفاوت. با سیملینک ها می توانید فایل ها و پوشه های خود را با کارایی بیشتری سازماندهی کنید و راحت تر به آنها دسترسی داشته باشید.

این راهنما به شما نشان می دهد که چگونه پیوندهای نمادین را در سیستم های لینوکس/یونیکس با استفاده از آن حذف کنید (حذف کنید). rm، unlink، و find دستورات

قبل از اینکه شروع کنی

برای حذف یک پیوند نمادین، باید مجوز نوشتن داشته باشید روی دایرکتوری حاوی سیم لینک در غیر این صورت، با خطای «عملیات مجاز نیست» مواجه خواهید شد.

هنگامی که یک پیوند نمادین را حذف می کنید، فایلی که به آن اشاره می کند دست نخورده و بدون تاثیر باقی می ماند. هیچ تغییر یا اصلاحی در خود فایل ایجاد نخواهد شد.

استفاده کنید ls -l
دستور برای بررسی اینکه آیا یک فایل داده شده یک پیوند نمادین است یا خیر و فایل یا دایرکتوری را که پیوند نمادین به آن اشاره دارد را بیابید.

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

اولین کاراکتر “l” نشان می دهد که فایل یک پیوند نمادین است. نماد “->” فایلی را نشان می دهد که symlink به آن اشاره می کند.

پیشنهاد می‌کنیم بخوانید:  نوشتن نظرات در اسکریپت های Bash

این 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 گزینه هنگام حذف پیوندهای نمادین با rm. برای مثال، اگر تایپ کنید:

rm -f symlink_to_dir/

محتویات دایرکتوری هدف حذف خواهد شد.

این unlink
دستور یک فایل داده شده را حذف می کند. بر خلاف rm، unlink تنها یک استدلال را می پذیرد.

برای حذف یک پیوند نمادین، آن را اجرا کنید unlink دستوری که پس از آن نام سیملینک به عنوان آرگومان آمده است:

unlink symlink_name

اگر دستور با موفقیت اجرا شود، هیچ خروجی نمایش نمی دهد.

پیشنهاد می‌کنیم بخوانید:  روش Undo و Redo در Vim / Vi

را ضمیمه نکنید / اسلش انتهایی در انتهای نام پیوند علامت زیرا unlink نمی تواند دایرکتوری ها را حذف کند.

اگر فایل منبع حذف شود یا به مکان دیگری منتقل شود، فایل نمادین آویزان (شکسته) می ماند و دیگر کار نمی کند.

اگر فایل منبع را حذف یا به مکان دیگری منتقل کنید، فایل نمادین آویزان (شکسته) می ماند.

برای پیدا کردن تمام پیوندهای نمادین شکسته در یک فهرست مشخص، دستور زیر را اجرا کنید:

find /path/to/directory -xtype l
/path/to/directory/symlink1
/path/to/directory/subdir/symlink2

این دستور همه لینک های شکسته را در زیر دایرکتوری و زیر شاخه های آن فهرست می کند.

اگر می‌خواهید پیوندهای نمادین موجود در زیرشاخه‌ها را حذف کنید، آن را پاس کنید -maxdepth 1 گزینه ای به find
:

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 دستور و به دنبال آن نام سیملینک به عنوان آرگومان. هنگام حذف یک پیوند نمادین که به دایرکتوری اشاره می کند، یک اسلش انتهایی به نام پیوند علامت اضافه نکنید.

اگر سوال یا بازخوردی دارید، در کامنت بگذارید.

rm لغو پیوند پیدا کنید
terminal
برای نگارش بخشهایی از این متن ممکن است از ترجمه ماشینی یا هوش مصنوعی GPT استفاده شده باشد
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم

زمان انتشار: 1403-01-23 02:10:02

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید