terminal:l:symbolic-links
تفاوتها
تفاوت دو نسخهٔ متفاوت از صفحه را مشاهده میکنید.
| نگارش قبل در دو طرفنگارش قبلنگارش بعد | نگارش قبل | ||
| terminal:l:symbolic-links [2019/01/17 18:16] – phoenix | terminal:l:symbolic-links [2019/01/17 22:40] (فعلی) – [لینک های soft] phoenix | ||
|---|---|---|---|
| خط 16: | خط 16: | ||
| باید توجه داشته باشید که **hard link** برای لینک دادن به دایرکتوری ها و به فایلی که در فایل سیستمی بر روی کامپیوتر دیگری است نمیتوان استفاده کرد. | باید توجه داشته باشید که **hard link** برای لینک دادن به دایرکتوری ها و به فایلی که در فایل سیستمی بر روی کامپیوتر دیگری است نمیتوان استفاده کرد. | ||
| </ | </ | ||
| + | ===== لینک های نرم یا soft link ها ===== | ||
| + | لینک های نرم یا **soft link** | ||
| + | |||
| + | < | ||
| + | ln -s / | ||
| + | </ | ||
| + | اگر شما از [[terminal: | ||
| + | < | ||
| + | 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.1547736393.txt.gz · آخرین ویرایش: توسط phoenix
