terminal:l:symbolic-links
تفاوتها
تفاوت دو نسخهٔ متفاوت از صفحه را مشاهده میکنید.
نگارش قبل در دو طرفنگارش قبلنگارش بعد | نگارش قبل | ||
terminal:l:symbolic-links [2019/01/17 14:56] – phoenix | terminal:l:symbolic-links [2019/01/17 19:10] (فعلی) – [لینک های soft] phoenix | ||
---|---|---|---|
خط 26: | خط 26: | ||
lrwxrwxrwx. 1 phoenix phoenix 32 Jan 17 18:24 art.txt -> / | lrwxrwxrwx. 1 phoenix phoenix 32 Jan 17 18:24 art.txt -> / | ||
</ | </ | ||
+ | همانطور که مشاهده میکنید بیت اول حرف l میباشد به معنی Link و بعد از پایان نام فایل بعد از یک **"< | ||
+ | ===== تفاوت بین انواع لینک ها ===== | ||
+ | ==== لینک های hard ==== | ||
+ | * با لینکهای **Hard** نمیتوان دایرکتوری ها را لینک کرد. | ||
+ | * فقط در همان سیستم فایلی که هستند در دسترس هستند و در صورت انتقال آنها به یک سیستم فایل دیگر (پارتیشن دیگر) فایل استفاده نیستند. | ||
+ | * اگر فایل اصلی پاک شود باز هم به آخرین محتوای فایل اصلی دسترسی داریم. | ||
+ | * مجوز های دسترسی تمام لینکها مانند فایل اصلی است و شما برای تغییر مجوز های دسترسی میبایست از فایل اصلی اقدام کنید. | ||
+ | |||
+ | ==== لینک های soft ==== | ||
+ | * میتوان یک **inode** را به چندین نام فایل اختصاص داد. | ||
+ | * برای لینک دادن میان دایرکتوری ها استفاده میشوند. | ||
+ | * میتوان در دیگر سیستم فایل ها هم استفاده کرد. | ||
+ | * اگر فایل اصلی پاک شوند دیگر از طریق لینک به فایل اصلی دسترسی نداریم. | ||
+ | * سایز فایلها به شما دروغ میگویند! به این دلیل که این لینک ها خود یک فایل هستند با حجمی بسیار کوچک در صورتیکه **hard link** ها به دلیل اشاره مستقیم به فایل اصلی حجم فایل اصلی را نمایش میدهند. | ||
+ | * زمان اصلاح یا **modification** ی که در لینکهای نرم نمایش داده میشود مربوط به اصلاحاتی است که شما بر روی این لینک انجام داده اید اما در **hard link** این زمان همان زمان دقیق اصلاحات فایل اصلی است. | ||
+ | * نام فایل اصلی بعد از یک علامت < | ||
+ | * همانطور که بالاتر اشاره شد برای دایرکتوری های و فایل سیستم هایی که از راه دور با آنها کار میکنید و یا به هر طریقی بر روی کامپیوتر شما نیستند نمیتوانید از لینکهای نرم و سخت استفاده کنید. | ||
+ | |||
+ | ===== چرا با پاک شدن فایل اصلی همچنان میتوان به آخرین محتوای آن از طریق hard link دسترسی داشت؟ ===== | ||
+ | چونکه inode فایل اصلی و hard link با هم یکی هستند ولی inode فایل اصلی و soft link متفاوت هستند برای درک بهتر [[terminal: | ||
+ | < | ||
+ | mkdir test | ||
+ | cd test | ||
+ | echo "in file baray test inode hast" > file | ||
+ | </ | ||
+ | حالا با دستور زیر یک لینک سخت بسازید | ||
+ | < | ||
+ | ln file file2 | ||
+ | </ | ||
+ | و با دستور زیر یک لینک نرم بسازید با استفاده از گزینه **s** | ||
+ | < | ||
+ | ln -s file file3 | ||
+ | </ | ||
+ | حالا [[terminal: | ||
+ | < | ||
+ | -> $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 | ||
+ | </ | ||
+ | حالا اگر با [[terminal: | ||
+ | |||
terminal/l/symbolic-links.1547736982.txt.gz · آخرین ویرایش: 2019/01/17 14:56 توسط phoenix