لینک: تفاوت بین نسخه‌ها

از ویکی فارسی اوبونتو
پرش به: ناوبری، جستجو
(اضافه کردن لینک سخت)
(ویکی سازی)
 
سطر ۱: سطر ۱:
<div style="clear:both; width:100%;">
+
'''لینک''' (Link) یا '''پیوند''' روشی برای ایجاد ارجاع به یک فایل یا شاخه در سامانهٔ پرونده است.
  
<div style="text-align:center; padding-bottom:.9em;">
+
در گنو/لینوکس دو نوع اصلی لینک وجود دارد:
<span style="font-size:200%; font-family:Tahoma,sans-serif; color:#373737;">
 
لینک نرم
 
</span></div>
 
  
لینک چیست؟
+
* [[#لینک نرم|لینک نرم]] یا لینک نمادین (Symbolic Link)
در علوم رایانه، لینک نرم (به انگلیسی: soft link) یا لینک نمادین (به انگلیسی: symbolic link) (که به اختصار symlink) هم نوشته می‌شود، یک فایل مخصوص و ویژه است که دربرگیرنده ارجاعی به فایل یا دایرکتوری دیگر در غالب یک مسیر مطلق یا مسیر نسبی است. به عبارتی دیگر، لینک‌های نرم فایل‌های هستند که به عنوان اشاره‌گر به فایل‌های دیگر عمل می‌کنند.[http://man.freebsd.org/symlink(7) [1]]
+
* [[#لینک سخت|لینک سخت]] (Hard Link)
  
برای درست کردن چند تا راه هست که راحت ترینش (البته بدونه ابزار و اسکریپت) دستور ln (برای گنو/لینوکس) هست که به این شکل در ترمینال میشه ازش استفاده کرد.
+
== لینک نرم ==
<pre> ln -s /file-1 file-2 </pre>
 
در کد بالا ln مخفف link هست. s- مخفف symbolic هست. file-1 فایل یا پوشه منبع (ادرس فایل یا پوشه ای که لینک رو برای اون میسازیم) هست. file-2 هم مکانی هست که لینکمون اونجا ساخته میشه . اون اسلش هم قبل از file-1 هم نمیدونم کارش چیه اما لازمه بدونه اون انگار لینک ها درست کار نمیکنن.
 
  
مثلا من میخوام یه لینک نرم از پوشه موزیک تو دسکتاپ داشته باشم ؛ پس کد زیر رو داخل ترمینال وارد میکنم.
+
'''لینک نرم''' یا '''لینک نمادین''' (Symbolic Link یا Symlink) یک فایل ویژه است که مسیر یک فایل یا شاخهٔ دیگر را در خود نگه می‌دارد.
<pre> ln -s ~/Music Desktop </pre>
 
اینطوری یه لینک برام تو دسکتاپ میاد که هرموقع روش کلیک کنم وارد پوشه موزیک میشه .
 
  
در ضمن میتونید با دستورات زید اطلاعات بیشتری درباره دستور ln به دست بیارید.
+
برای ایجاد یک لینک نرم از دستور {{ic|ln}} همراه با گزینهٔ {{ic|-s}} استفاده می‌شود:
  
<pre>
+
{{bc|
$ man ln
+
$ ln -s /مسیر/مقصد /مسیر/لینک
$ ln --help
+
}}
</pre>
+
 
 +
برای نمونه، برای ایجاد لینکی به نام {{ic|Music}} روی میزکار که به شاخهٔ {{ic|Music}} در شاخهٔ خانگی اشاره کند:
 +
 
 +
{{bc|
 +
$ ln -s ~/Music ~/Desktop/Music
 +
}}
 +
 
 +
پس از اجرای دستور، با باز کردن {{ic|Music}} روی میزکار، محتوای شاخهٔ {{ic|~/Music}} نمایش داده می‌شود.
 +
 
 +
برای مشاهدهٔ لینک‌های نرم می‌توان از دستور زیر استفاده کرد:
 +
 
 +
{{bc|
 +
$ ls -l
 +
}}
 +
 
 +
خروجی نمونه:
 +
 
 +
{{bc|
 +
lrwxrwxrwx 1 user user 15 Sep 18 15:00 Music -> /home/user/Music
 +
}}
 +
 
 +
اگر فایل یا شاخهٔ مقصد حذف یا جابه‌جا شود، لینک نرم دیگر نمی‌تواند مقصد خود را پیدا کند و به یک '''لینک شکسته''' تبدیل می‌شود.
 +
 
 +
== لینک سخت ==
  
<div style="text-align:center; padding-bottom:.9em;">
+
'''لینک سخت''' (Hard Link) نام دیگری برای همان داده‌های یک فایل در سامانهٔ پرونده است.
<span style="font-size:200%; font-family:Tahoma,sans-serif; color:#373737;">
 
لینک سخت
 
</span></div>
 
لینک سخت دقیقا مثل اسمش خیلی سخته و به این راحتی ها نمیشکنه ولی مثلا تو لینک نرم اگه فایل اصلی ازبین بره یا مکانش تغیر کنه لینک نرمش هم از بین میره ولی لینک سخت نه .
 
  
لینک نرم کارش اینه که به آدرس فایل اشاره کنه ولی لینک سخت به آدرس اون فایل داخل هارد اشاره میکنه . میشه گفت که لینک سخت و فایل اصلی مثل ذوتا شی از یه کلاس هستن ؟!؟! یعنی هردوتا به یه قسمت از هارد اشاره دارن.
+
در یک لینک سخت، دو یا چند نام می‌توانند به یک دادهٔ یکسان اشاره کنند. بنابراین تغییر محتوای فایل از طریق یکی از این نام‌ها، از طریق نام‌های دیگر نیز قابل مشاهده خواهد بود.
  
لینک سخت با از بین رفتن فایل اصلی از بین نمیره و هنوز میتونه استفاده بشه . یه چیزی مثل کپی هست ولی کپی یه فایل ، اون فایل رو در یه قسمت دیگه هارد کپی میکنه ولی و با تغیر فایل اون تغییر نمیکنه ولی تو لینک سخت اگه تغیری درش ایجاد بشه مثلا اگه لینک ما فایل متنی باشه اگه متن داخلش تغیر کنه هم تو فایل اصلی و هم دیگر لینک هم تغییر ایجاد میشه.
+
برای ایجاد یک لینک سخت، دستور {{ic|ln}} بدون گزینهٔ {{ic|-s}} استفاده می‌شود:
  
در ضمن نمیشه برای یه پوشه یا درایو لینک سخت لینک سخت ایجاد کرد.
+
{{bc|
برای ایجاد لینک سخت میشه از این کد استفاده کرد:
 
<pre>
 
 
$ ln file-1 file-2
 
$ ln file-1 file-2
</pre>
+
}}
در کد بالا ما ln رو بدونه گزینه ای استفاده کردیم که یعنی از پیشفرض استفاده بشه و پیش فرضش هم لینک سخت هست.بهد file-1 هم که میشه فایل اصلی مون و file-2 هم لینک سخت ما هست .
+
 
 +
در این مثال، {{ic|file-1}} و {{ic|file-2}} دو نام برای همان داده‌ها هستند.
 +
 
 +
اگر یکی از نام‌ها حذف شود:
 +
 
 +
{{bc|
 +
$ rm file-1
 +
}}
 +
 
 +
نام دیگر همچنان قابل استفاده خواهد بود:
 +
 
 +
{{bc|
 +
$ cat file-2
 +
}}
 +
 
 +
داده‌ها تا زمانی که حداقل یک لینک سخت به آن‌ها وجود داشته باشد، در سامانهٔ پرونده باقی می‌مانند.
 +
 
 +
لینک سخت معمولاً نمی‌تواند برای شاخه‌ها ایجاد شود و نمی‌تواند از یک سامانهٔ پرونده به سامانهٔ پروندهٔ دیگری اشاره کند.
 +
 
 +
== تفاوت لینک نرم و سخت ==
 +
 
 +
{| class="wikitable"
 +
! ویژگی
 +
! لینک نرم
 +
! لینک سخت
 +
|-
 +
| دستور ایجاد
 +
| {{ic|ln -s}}
 +
| {{ic|ln}}
 +
|-
 +
| اشاره به
 +
| مسیر یک فایل یا شاخه
 +
| همان داده‌های فایل
 +
|-
 +
| امکان اشاره به شاخه
 +
| بله
 +
| خیر
 +
|-
 +
| حذف مقصد
 +
| لینک شکسته می‌شود
 +
| داده‌ها باقی می‌مانند، اگر لینک سخت دیگری وجود داشته باشد
 +
|-
 +
| امکان عبور از سامانهٔ پرونده
 +
| بله
 +
| خیر
 +
|}
 +
 
 +
== راهنما ==
 +
 
 +
برای مطالعهٔ جزئیات بیشتر دربارهٔ دستور {{ic|ln}} می‌توانید از راهنمای آن استفاده کنید:
 +
 
 +
{{bc|
 +
$ man ln
 +
}}
 +
 
 +
یا:
 +
 
 +
{{bc|
 +
$ ln --help
 +
}}
 +
 
  
تو لینک سخت اگه فایل اصلی حذف بشه لینکش حذف نمیشه !!
+
[[رده:گنو/لینوکس]]
ما میتونیم لینک سخت رو بعد از ایجاد مکانشو عوض کنیم یا فایل اصلی رو همیتونیم تغیر مکان بدیم مشکلی نداره.
+
[[رده:خط فرمان]]
 +
[[رده:سامانهٔ پرونده]]

نسخهٔ کنونی تا ‏۲۷ شهریور ۱۴۰۵، ساعت ۱۵:۱۱

لینک (Link) یا پیوند روشی برای ایجاد ارجاع به یک فایل یا شاخه در سامانهٔ پرونده است.

در گنو/لینوکس دو نوع اصلی لینک وجود دارد:

لینک نرم

لینک نرم یا لینک نمادین (Symbolic Link یا Symlink) یک فایل ویژه است که مسیر یک فایل یا شاخهٔ دیگر را در خود نگه می‌دارد.

برای ایجاد یک لینک نرم از دستور ln همراه با گزینهٔ -s استفاده می‌شود:


$ ln -s /مسیر/مقصد /مسیر/لینک

برای نمونه، برای ایجاد لینکی به نام Music روی میزکار که به شاخهٔ Music در شاخهٔ خانگی اشاره کند:


$ ln -s ~/Music ~/Desktop/Music

پس از اجرای دستور، با باز کردن Music روی میزکار، محتوای شاخهٔ ~/Music نمایش داده می‌شود.

برای مشاهدهٔ لینک‌های نرم می‌توان از دستور زیر استفاده کرد:


$ ls -l

خروجی نمونه:


lrwxrwxrwx 1 user user 15 Sep 18 15:00 Music -> /home/user/Music

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

لینک سخت

لینک سخت (Hard Link) نام دیگری برای همان داده‌های یک فایل در سامانهٔ پرونده است.

در یک لینک سخت، دو یا چند نام می‌توانند به یک دادهٔ یکسان اشاره کنند. بنابراین تغییر محتوای فایل از طریق یکی از این نام‌ها، از طریق نام‌های دیگر نیز قابل مشاهده خواهد بود.

برای ایجاد یک لینک سخت، دستور ln بدون گزینهٔ -s استفاده می‌شود:


$ ln file-1 file-2

در این مثال، file-1 و file-2 دو نام برای همان داده‌ها هستند.

اگر یکی از نام‌ها حذف شود:


$ rm file-1

نام دیگر همچنان قابل استفاده خواهد بود:


$ cat file-2

داده‌ها تا زمانی که حداقل یک لینک سخت به آن‌ها وجود داشته باشد، در سامانهٔ پرونده باقی می‌مانند.

لینک سخت معمولاً نمی‌تواند برای شاخه‌ها ایجاد شود و نمی‌تواند از یک سامانهٔ پرونده به سامانهٔ پروندهٔ دیگری اشاره کند.

تفاوت لینک نرم و سخت

ویژگی لینک نرم لینک سخت
دستور ایجاد

ln -s

ln

اشاره به مسیر یک فایل یا شاخه همان داده‌های فایل
امکان اشاره به شاخه بله خیر
حذف مقصد لینک شکسته می‌شود داده‌ها باقی می‌مانند، اگر لینک سخت دیگری وجود داشته باشد
امکان عبور از سامانهٔ پرونده بله خیر

راهنما

برای مطالعهٔ جزئیات بیشتر دربارهٔ دستور ln می‌توانید از راهنمای آن استفاده کنید:


$ man ln

یا:


$ ln --help