ابزار کاربر

ابزار سایت


terminal:l:symbolic-links

تفاوت‌ها

تفاوت دو نسخهٔ متفاوت از صفحه را مشاهده می‌کنید.

پیوند به صفحه‌ی تفاوت‌ها

نگارش قبل در دو طرفنگارش قبل
نگارش بعد
نگارش قبل
terminal:l:symbolic-links [2019/01/17 18:54] phoenixterminal:l:symbolic-links [2019/01/17 22:40] (فعلی) – [لینک های soft] phoenix
خط 36: خط 36:
 ==== لینک های soft ==== ==== لینک های soft ====
   * میتوان یک **inode** را به چندین نام فایل اختصاص داد.   * میتوان یک **inode** را به چندین نام فایل اختصاص داد.
-  * برای لینک دادن میان دیارکتوری ها سانفاده میشوند.+  * برای لینک دادن میان دایرکتوری ها استفاده میشوند.
   * میتوان در دیگر سیستم فایل ها هم استفاده کرد.   * میتوان در دیگر سیستم فایل ها هم استفاده کرد.
   * اگر فایل اصلی پاک شوند دیگر از طریق لینک به فایل اصلی دسترسی نداریم.   * اگر فایل اصلی پاک شوند دیگر از طریق لینک به فایل اصلی دسترسی نداریم.
   * سایز فایلها به شما دروغ میگویند! به این دلیل که این لینک ها خود یک فایل هستند با حجمی بسیار کوچک در صورتیکه **hard link** ها به دلیل اشاره مستقیم به فایل اصلی حجم فایل اصلی را نمایش میدهند.   * سایز فایلها به شما دروغ میگویند! به این دلیل که این لینک ها خود یک فایل هستند با حجمی بسیار کوچک در صورتیکه **hard link** ها به دلیل اشاره مستقیم به فایل اصلی حجم فایل اصلی را نمایش میدهند.
   * زمان اصلاح یا **modification** ی که در لینکهای نرم نمایش داده میشود مربوط به اصلاحاتی است که شما بر روی این لینک انجام داده اید اما در **hard link** این زمان همان زمان دقیق اصلاحات فایل اصلی است.   * زمان اصلاح یا **modification** ی که در لینکهای نرم نمایش داده میشود مربوط به اصلاحاتی است که شما بر روی این لینک انجام داده اید اما در **hard link** این زمان همان زمان دقیق اصلاحات فایل اصلی است.
-  * نام فایل اصلی بعد از یک علامت **"<-"** میآید و بر خلاف hard link اگر فایل اصلی را پاک کنید این لینک به یک لینک خراب یا به اصطلاح درست به لینک یتیم (orphan) تبدیل میشود.+  * نام فایل اصلی بعد از یک علامت <key><-</key> میآید و بر خلاف **hard link** اگر فایل اصلی را پاک کنید این لینک به یک لینک خراب یا به اصطلاح درست به لینک یتیم (**orphan**) تبدیل میشود.
   * همانطور که بالاتر اشاره شد برای دایرکتوری های و فایل سیستم هایی که از راه دور با آنها کار میکنید و یا به هر طریقی بر روی کامپیوتر شما نیستند نمیتوانید از لینکهای نرم و سخت استفاده کنید.   * همانطور که بالاتر اشاره شد برای دایرکتوری های و فایل سیستم هایی که از راه دور با آنها کار میکنید و یا به هر طریقی بر روی کامپیوتر شما نیستند نمیتوانید از لینکهای نرم و سخت استفاده کنید.
 +
 +===== چرا با پاک شدن فایل اصلی همچنان میتوان به آخرین محتوای آن از طریق hard link دسترسی داشت؟ =====
 +چونکه inode فایل اصلی و hard link با هم یکی هستند ولی inode فایل اصلی و soft link متفاوت هستند برای درک بهتر [[terminal:m:how_to_create_a_directory_or_folder_mkdir_command|یک دایرکتوری به نام test بسازید]] و سپس یک فایل را با دومین دستور در آن ایجاد کنید و محتوایی را در آن بنویسید.
 +<code;bash;>
 +mkdir test
 +cd test
 +echo "in file baray test inode hast" > file
 +</code> 
 +حالا با دستور زیر یک لینک سخت بسازید
 +<code;bash;>
 +ln file file2
 +</code> 
 +و با دستور زیر یک لینک نرم بسازید با استفاده از گزینه **s**
 +<code;bash;>
 +ln -s file file3
 +</code>  
 +حالا [[terminal:l:ls_command_list_file_and_directory_names_and_attributes|دستور ls -li]] را اجرا کنید تا بتوانید **inode** ها را مقایسه نمایید در خروجی مشاهده میکنید که **inode** فایل اصلی و لیسنک سخت با هم یکی هستند ولی **inode** فایل اصلی و لینک نرم متفاوتند.
 +<code;bash;>
 +-> $ls -li
 +total 8
 +9445379 -rw-rw-r--. 2 phoenix phoenix 28 Jan 17 20:06 file
 +9445379 -rw-rw-r--. 2 phoenix phoenix 28 Jan 17 20:06 file2
 +9445380 lrwxrwxrwx. 1 phoenix phoenix  4 Jan 17 20:06 file3 -> file
 +</code>  
 +حالا اگر با [[terminal:c:linux_cat_command_usage_with_examples|دستور cat]] محتوای هر یک از فایلها را بخوانید خواهید دید که خروجی همه یکی هستند اما اگر فایل اصلی را پاک کنید دیگر از طریق لینک نرم نیمتوانید محتوای فایل را بخوانید.
 +
 +
terminal/l/symbolic-links.1547738675.txt.gz · آخرین ویرایش: 2019/01/17 18:54 توسط phoenix

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki