خط فرمان لینوکس – ایجاد پیوند با دستور ln
ln – ایجاد پیوندها
دستور ln برای ایجاد پیوندهای سخت یا نمادین استفاده میشود. (این دستور) به یکی از دو روش استفاده میشود. مورد زیر یک پیوند سخت (hard link) ایجاد میکند:
ln file link
مورد زیر یک پیوند نمادین (symbolic link) ایجاد میکند:
ln -s item link
برای ایجاد یک پیوند نمادین که در آن item یک فایل یا یک دایرکتوری است.
پیوند یا لینک های سخت
پیوندهای سخت شیوه اصلی یونیکس برای ایجاد پیوندها هستند، در مقایسه با پیوندهای نمادین که مدرنتر هستند. به طور پیشفرض، هر فایل دارای یک پیوند سخت است که به فایل، نامش را تخصیص میدهد. هنگامی که یک پیوند سخت ایجاد میکنیم، یک مدخل دایرکتوری اضافی برای یک فایل ایجاد میکنیم. لینک های سخت دو محدودیت مهم دارند:
- یک پیوند سخت نمیتواند به فایلی خارج از سیستم فایل خودش ارجاع دهد. به این معنا که یک پیوند نمیتواند به فایلی که در همان پارتیشن دیسک خود پیوند قرار ندارد ارجاع دهد.
- یک پیوند سخت نمیتواند به یک دایرکتوری اشاره کند.
یک پیوند سخت از خود فایل قابل تشخیص (قابل تمیز دادن و جدا کردن) نیست. بر خلاف یک پیوند نمادین، وقتی یک دایرکتوری حاوی یک پیوند سخت را فهرست میکنیم، هیچ نشانه خاصی از پیوند مشاهده نمیکنیم. هنگامی که یک پیوند سخت حذف میشود، پیوند حذف میشود اما محتویات خود فایل همچنان وجود دارد (یعنی فضای آن آزاد نمیشود) تا زمانی که همه پیوندها به (آن) فایل حذف شوند.
مهم است که از پیوندهای سخت آگاه باشید زیرا ممکن است هر از چند گاهی با آنها روبرو شوید، اما روش مدرن پیوندهای نمادین را که در ادامه به آنها خواهیم پرداخت ترجیح میدهد.
پیوندهای نمادین
لینکهای نمادین برای غلبه بر محدودیت های پیوندهای سخت ایجاد شدند. پیوندهای نمادین با ایجاد نوع خاصی از فایل کار میکنند که حاوی یک اشاره گر متنی به فایل یا دایرکتوری مورد ارجاع است. از این جهت، آنها بسیار شبیه یک میانبر ویندوز (Windows shortcut) عمل میکنند، هرچند به سالها قبل از (این) ویژگی ویندوز برمیگردند.
فایلی که توسط یک پیوند نمادین به آن اشاره میشود و خود پیوند نمادین تا حد زیادی از یکدیگر قابل تشخیص نیستند. به عنوان مثال، اگر چیزی را روی پیوند نمادین بنویسیم، روی فایل ارجاع شده نوشته میشود. اما زمانی که یک پیوند نمادین را حذف میکنیم، صرفا پیوند حذف میشود، نه خود فایل. اگر فایل قبل از پیوند نمادین حذف شود، پیوند همچنان وجود خواهد داشت اما به چیزی اشاره نخواهد کرد. در این حالت، گفته میشود لینک شکسته (broken) است. در بسیاری از پیادهسازیها، دستور ls پیوندهای شکسته را با رنگی متمایز مانند قرمز نمایش میدهد تا وجود آنها را مشخص کند.
مفهوم پیوندها ممکن است گیج کننده به نظر برسد، اما ثابت قدم بمانید. ما همه این موارد را امتحان خواهیم کرد و (این مفهوم) با امیدواری روشن خواهد شد.
متن بالا بخشی از ترجمه کتاب The Linux Command Line (به فارسی: خط فرمان لینوکس) نوشته William Shotts است که نسخه اصلی آن از طریق وبسایت رسمی کتاب (https://linuxcommand.org) قابل دسترسی است. (فهرست مطالب کتاب خط فرمان لینوکس).