یه symbolic link که symlink یا soft link نیز شناخته میشه، نوع خاصی از فایل می باشد که به یه فایل یا دایرکتوری دیگری اشاره می کند. در این آموزش روش استفاده از دستور ln جهت ساخت لینکهای سیمبولیک در لینوکس را پوشش خواهم داد.
انواع لینک
- لینک های سخت – Hard links : لینک سخت را می توان به عنوان یک نام اضافی برای فایلی که وجود دارد در نظر گرفت. هارد لینک ها یک یا چند نام فایل را به یک inode یکسان مرتبط می کند. شما می توانید یک یاچند هارد لینک را برای یک فایل بسازید.
- لینک های نرم – Soft links : چیزی شبیه شورتکات در ویندوز هستند. یک اشاره کننده ی غیر مستقیم به یک فایل یا دایرکتوری. برخلاف هارد لینک ها، سافت لینک می تواند به یک فایل یا دایرکتوری روی پارتیشن یا فایل سیستم متفاوت اشاره کند.
روش استفاده از دستور ln
دستور ln یک ابزار مبتنی بر خط-دستور (command-line utility) برای ایجاد لینک بین دو فایل هست. بصورت پیشفرض دستور ln لینک سخت می سازد. برای ساخت سیمبولیک لینک، باید از آپشن -s استفاده کرد.
سینتکس دستور ln برای ایجاد لینک نرم به صورت زیر می باشد:
ln -s [OPTIONS] FILE LINK
اگر هر دوی fileو linkداده شده باشند، ln لینکی بین فایل مشخص شده (FILE) و آرگومان دوم (LINK) ایجاد می کند.
اگر فقط یک فایل به عنوان آرگومان داده شده باشد یا آرگومان دوم نقطه (.) باشد، لینکی بین فایل داده شده و دایرکتوری فعلی که در آن کار انجام می شود برقرار می شود. نام symlinkمشابه با نام فایلی که به آن اشاره می کند می باشد.
بطور پیش فرض، ln هر گاه موفقیت آمیز باشد، چیزی به عنوان خروجی نمایش نمی دهد.
ساخت symlink به یک فایل
جهت ایجاد symbolic link به فایل داده شده، ترمینال خود را باز کنید و تایپ کنید:
ln -s source_file symbolic_link
توجه : source_file را با نام فایلی که وجود دارد و می خواهید برایش symbolic link ایجاد کنید عوض کنید، و symbolic_link را با نام symbolic link مورد نظر خودتان عوض کنید. پارامتر symbolic link آپشنال می باشد. اگر آن را مشخص نکنید، دستور اقدام به ایجاد لینک جدید در دایرکتوری فعلی می کند.
در مثال پیش رو، ما اقدام به ایجاد یک symbolic link به نام my_link.txt به فایلی با نام my_file.txt کرده ایم.
ln -s my_file.txt my_link.txt
برای اینکه رسیدگی کنید symlink با موفقیت ایجاد شده، از دستور ls استفاده کنید.
ls -l my_link.txt
خروجی به شکل زیر خواهد بود:
lrwxrwxrwx 1 linuxize users 15 Nov 2 16:43 my_link.txt -> my_file.txt
کاراکتر l پرچم نوع فایل می باشد که یک symbolic link را نشان می دهد. و سیمبل -> فایلی که symlink به آن اشاره می کند را نشان می دهد.
ساخت symlink به یه دایرکتوری
دستور جهت ساخت symbolic link به یک دایرکتوری مشابه ساخت symbolic link به یک فایل می باشد. نام دایرکتوری را به عنوان پارامتر اول در نظر بگیرید و symlink را به عنوان پارامتر دوم.
برای مثال، اگر می خواهید یک symbolic link از دایرکتوری /mnt/sadegh_drive/books به دایرکتوری ~/my_books ایجاد کنید، کافیست دستور زیر را اجرا نمایید:
ln -s /mnt/sadegh_drive/books ~/my_books
Overwrite کردن Symlink ها
اگر اقدام به ساخت symbolic link بکنید که درحال حاضر وجود دارد، دستور ln اروری خواهد داد:
ln -s my_file.txt my_link.txt
ln: failed to create symbolic link 'my_link.txt': File exists
جهت overwrite کردن مسیر مقصد symlink کافیست از آپشن -f استفاده کنید:
ln -sf my_file.txt my_link.txt
پاک کردن Symlinks :
برای پاک کردن symbolic links کافیست از دستور unlink یا rm استفاده نمایید.
unlink symlink_to_remove
rm symlink_to_remove
مهم نیست از کدام دستور بالا استفاده کنید، فقط نیازی به اسلش (/) در انتهای نام لینک نیست.
ارسال پاسخ