سیملینک چیست و چگونه در سیستم‌های عامل مختلف از آن استفاده کنیم؟

لینک سمبولیک

به‌عنوان یک کاربر رایانه، اگر از شما بپرسند میانبرها (shortcut) چه هستند، احتمالا پاسخ خواهید داد اشاره‌گرهایی به یک فایل، فولدر یا یک برنامه. این تعریف صحیح است، ولی همه ماجرا نیست! نکته مهم اینجاست که در دنیای رایانه چند نوع میانبر وجود دارد که با هم یکسان نیستند. یکی از انواع میانبرها، لینک سمبولیک (Symbolic Link) است که به آن سیملینک یا لینک نرم (soft link) هم گفته می‌شود. در این مطلب نگاهی انداخته‌ایم به این‌که سیملینک چیست، چگونه آن را در سه سیستم‌عامل اصلی رایانه‌ها می‌توان ایجاد کرد و برای چه کارکردهایی به این نوع خاص از میانبرها نیاز پیدا خواهید کرد.
کد خبر: ۱۲۲۷۵۵۰

سیملینک چیست؟
این درست است که سیملینک یک فایل میانبر به حساب می‌آید، ولی باید میان آن و یک میانبر استاندارد ـ مثلا به یک برنامه که روی دسکتاپ ویندوزتان قرار می‌گیرد ـ تمایز قائل شد. کلیک روی هر دوی آنها، چیزی را که به آن اشاره می‌کنند باز می‌کند، اما آنچه در پشت این عمل می‌گذرد، متفاوت است که در ادامه توضیح می‌دهیم.
در حالی‌که یک میانبر استاندارد صرفا به یک‌شئ (فایل، برنامه و...) خاص اشاره می‌کند، یک‌سیملینک به‌صورتی است که انگار خود آن شئ در آنجاست! رایانه شما و برنامه‌ها، سیملینک را مانند خود آن شئ هدف می‌بینند. برای مثال، در مک‌اواس می‌توانید اثباتش را وقتی مشاهده کنید که در همان محل فایل اصلی، سیملینکی از آن بسازید. در این حالت، پیامی مبنی بر این‌که «فایل موجود است» داده می‌شود. با کپی سیملینک از محل دیگری به محل فایل اصلی هم همین اتفاق می‌افتد.
بگذارید برای توضیح بهتر تفاوت سیملینک و میانبر استاندارد، از دراپ‌باکس کمک بگیریم. تصور کنید شما فولدر خاصی در هاردتان دارید که می‌خواهید با دراپ‌باکس بدون انتقال آن به فولدر دراپ‌باکس همگام‌سازی (sync) کنید. در این‌جا، ساختن یک میانبر عادی در دراپ‌باکس فایده‌ای ندارد، زیرا این میانبر همگام‌سازی می‌شود، ولی تنها روی همین رایانه کار می‌کند و روی رایانه دیگری اشاره‌ای نخواهد داشت.
اگر همین روند را با سیملینک انجام دهید، مشکلی نخواهد بود. به این دلیل که دراپ‌باکس، سیملینک را مثل فولدر واقعی می‌بیند و در نتیجه، داده موجود در فولدر را همگام‌سازی می‌کند. بنابراین در دستگاه‌های دیگر هم این فولدر به همراه داده‌هایش قابل دسترس خواهد بود، با وجود آن‌که فولدر اصلی بخشی از دراپ‌باکس نیست.
این نکته را هم مد نظر داشته باشید که چه در حالت میانبر عادی و چه سیملینک، پاک‌کردن آن به هیچ عنوان تأثیری روی شئ اصلی ندارد.

سیملینک چه کارکردهایی دارد؟
در حالت کلی، برای موارد ذیل خوب است به جای میانبر عادی از سیملینک استفاده کنید:
وقتی می‌خواهید به یک فایل از محل‌های مختلف دسترسی داشته باشید، آن هم بدون نیاز به ساخت چند کپی و مصرف زیاد فضای دیسک. (سیملینک‌ها تنها چند بایت حجم دارند)
نگهداری نسخه‌های مختلف از فایل با اطمینان از این‌که هر اشاره‌گری به آن همیشه به جدیدترین نسخه‌اش می‌رسد. (به این دلیل این مسأله درست کار می‌کند که سیملینک‌ها فعال باقی می‌مانند، حتی وقتی شما فایل هدف را با فایلی با همان نام جایگزین می‌کنید)
انتقال داده‌ها از درایو C:| به مثلا یک هارد دوم بدون به هم‌ریختن عملکرد سیستم و برنامه‌هایی که نیاز به وجود داده‌ها در درایو C:| دارند.
علاوه بر اینها، اگر شروع به استفاده از سیملینک‌ها کنید، با کارکردهای بیشتری هم در مورد آنها برخورد خواهید داشت.

چگونه سیملینک بسازیم؟
سیملینک‌ها را هم می‌توان در ترمینال یا محیط دستوری ویندوز ساخت و هم با ماوس و کلیک. در این‌جا هر دوی این روش‌ها را برای سه سیستم‌عامل لینوکس، مک‌اواس و ویندوز بیان می‌کنیم.
در لینوکس، با استفاده از این دستور در ترمینال می‌توانید سیملینکی به یک فایل یا فولدر بسازید:
ln -s [/path/to/file]
[/path/to/symlink]
در آن [/path/to/file] آدرس فایل اصلی و [path/to/symlink] آدرس فولدری است که می‌خواهید سیملینک در آنجا قرار بگیرد.
در برخی توزیع‌های لینوکس، امکان ساخت سیملینک در برنامه مدیریت فایل آنها نیز وجود دارد. برای مثال در ناتیلوس (Nautilus) که یک مدیر فایل مشهور برای لینوکس است، با نگه داشتن کلیدهای کنترل و شیفت و کشیدن فایل اصلی به مقصد مورد نظر، یک سیملینک بسازید.
عینا از همان دستور فوق در مک‌اواس هم برای ساختن سیملینک استفاده می‌شود، چراکه اساس مک‌اواس هم مانند لینوکس، یونیکس است، اما توجه داشته باشید در این سیستم‌عامل امکان ساخت سیملینک از طریق فایندر (Finder) وجود ندارد و در هر صورت نیاز به ورود دستور در ترمینال است.
در ویندوز هم مانند لینوکس، ساخت سیملینک در محیط دستوری (Command Prompt)
انجام می‌شود و دستورش این است:
mlink [path/to/symlink]
[path/to/file]
برای ایجاد لینک سمبولیک به یک فولدر، این دستور را باید کمی تغییر دهید و به آن /d بیفزایید:
mlink/d[path/to/symlink]
[path/to/folder]
اگر علاقه‌ای به استفاده از محیط دستوری ندارید، از یک ابزار گرافیکی به نام Link Shell Extension هم می‌توانید برای ساخت سیملینک کمک بگیرید. این ابزار از لینک زیر قابل دانلود است:
http://schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html
نکته: سیستم، جلوی شما را برای ساخت یک سیملینک در داخل یک سیملینک دیگر نمی‌گیرد، ولی بهتر است خودتان این کار را نکنید! زیرا با این کار یک حلقه بی‌نهایت ساخته می‌شود که برای سرویس‌های سیستمی مشکل ایجاد می‌کند.

سیملینک‌ها و نام‌های مستعار در مک‌اواس
اگر تا به حال در مک‌اواس نام مستعار (alias) برای یک فایل یا فولدر ساخته باشید، متوجه می‌شوید که آنها هم شبیه سیملینک‌ها عمل می‌کنند، اما یک تفاوت مهم میانشان وجود دارد: نام مستعار علاوه بر آدرس‌دهی به شیء مقصد، آن را با یک شاخص به نام inode (index node) نشانه‌گذاری می‌کند. این شاخص یکتاست و همراه با شئ مقصد در فایل سیستم جابه‌جا می‌شود. به همین دلیل حتی با جابه‌جایی شئ هدف، نام مستعار کماکان کار خواهد کرد. در حالی‌که اگر مکان فایل هدف یک سیملینک را جابه‌جا کنید، به خطا برمی‌خورید! (خود سیملینک یا نام مستعار را می‌توانید به‌راحتی جابه‌جا کنید، مسأله شئ هدف است). البته در صورتی که فایل هدف پاک شود یا تغییر نامی در یکی از فولدرهای بالایی آن اتفاق بیفتد، چه نام مستعار و چه سیملینک بلااستفاده خواهند شد. فایل‌های نام مستعار در مک‌اواس به‌صورت پیش‌فرض تگ alias دارند، ولی اگر به هر دلیلی این تگ پاک شده باشد، چطور می‌توان آن را از سیملینک تشخیص داد؟ راه سریع این است که با کلیک راست روی فایل، دیالوگ Get Info مربوط به آن را باز کنید. در این دیالوگ و در قسمت General، اندازه فایل را نگاه کنید. اگر این اندازه صفر بود (zero bytes on disk)، شما با یک سیملینک طرف هستید. علاوه بر این، با اجرای دستور ls -la در یک‌فولدر، سیملینک موجود در آن به شما نشان داده می‌شود. از همین دستور در لینوکس هم می‌توانید برای دیدن سیملینک‌ها استفاده کنید.

محمود صادقی

newsQrCode
ارسال نظرات در انتظار بررسی: ۰ انتشار یافته: ۰
فرزند زمانه خود باش

گفت‌وگوی «جام‌جم» با میثم عبدی، کارگردان نمایش رومئو و ژولیت و چند کاراکتر دیگر

فرزند زمانه خود باش

نیازمندی ها