menu

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

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

پنجشنبه 1 آبان 1393

باسلام و عرض خسته نباشید خدمت همگی!

عصر پاییزی پنجشنبه تان به خیر و خوشی!

امروز تصمیم دارم که اولین مطلب لینوکسی خودم را منتشر کنم و این کار را با یک مطلب ساده شروع میکنم. در این مطلب، قرار است که با طریقه ی ایجاد یک فایل میانبر در لینوکس آشنا شویم.

قبل از آن بزارید تا اصلا با انواع فایل در لینوکس آشنا شویم.

شما در یک دایرکتوری توی لینوکس ( مثلا دایرکتوری / ) میتونید با زدن کد زیر، تمامی فایل ها را به همراه نوع آن ها مشاهده کنید.

ls -l

در رابطه با کد بالا، همانطور که آشنایی دارید، دستور ls برای نشان دادن(لیست کردن) فایل های موجود در یک دایرکتوری است و آپشن l مخفف long format برای نمایش کامل به همراه label ها است.

پس از زدن کد بالا شما با تصویری مثل زیر روبرو خواهید شد.

همانطور که در تصویر میکنید در سمت چپ تصویر، یک قسمت وجود دارد. در این قسمت، یک رشته ی متنی وجود دارد که نوع فایل و دسترسی آن را تعیین میکند. اولین حرف این رشته ی متنی تعیین کننده ی نوع فایل هست. برای مثال در تصویر بالا ما شاهد 3 نوع فایل هستیم ( با حروف l و d و کاراکتر -)

این فایل ها به ترتیب عبارتند از:

الف) حرف d : این حرف مخفف directory هست و نشان دهنده ی یک دایرکتوری است.

ب) حرف l: این حرف که مبحث امروز ماست مخفف link یا یه فایل میانبر است.

الف) کاراکتر - : این کاراکتر نشان دهنده ی یک فایل است.

البته نوع های دیگری وجود دارد که در مطالب بعدی به معرفی آن ها خواهید پرداخت ( مثل c و b که به ترتیب نشان دهنده ی char device و block device هست یا فایل های از نوع Fifo و socket)

اما اصلا این link یا همان فایل میانبر چی هست و به چه دردی میخوره؟

این link همون shortcut ها توی ویندوز هستند.

برای مثال در همان تصویر قبلی، به فایل vmlinuz که از نوع link هست نگاه کنید. اگر توجه کنید متوجه یک فلش ( -> ) در ادامه ی اسم این فایل میشید. یعنی با اجرای این فایل، در واقع فایل boot/vmlinuz اجرا میشود.

مبحث بعدی اینه که چجوری یه link بسازیم؟

برای این کار باید از دستور زیر استفاده کرد:

ln

برای مثال ما میتونیم که کد زیر را اجرا کنیم:

touch ~/myfile.sh
ln ~/myfile.sh /thelink

در کد بالا، ابتدا در home خود یک فایل برای تست ایجاد میکنیم.

سپس با استفاده از دستور ln ، به طریق فوق یک فایل link شده میسازیم.

برای تست میتوانید محتوای فایل myfile.sh را تغییر دهید. مشاهده میشود که محتوای فایل thelink هم که به عنوان یک link در دایرکتوری / ساخته ایم تغییر میکند.

اما این نوع link کردن یک تفاوت اساسی با shortcut در ویندوز دارد. در اصل میتوان گفت که این نوع لینک کردن، یک bakcup گیری نیز هست!

یعنی شما اگر فایل اصلی خود را که در اینجا myfile.sh در دایرکتوری home است را حذف کنید، فایل link شده که در اینجا thelink هست از بین نمیرود و آخرین تغییرات در فایل اصلی را به نمایش میگذارد.

میتوانید تست کنید!

اما اگر بخواهیم این فابلیت را حذف کنیم چه؟!

یعنی کاری کنیم که فایل link شده فقط یک shortcut باشد و در اثر از بین رفتن فایل متبوع، فایل تابع نیز حذف شود؟

برای این کار از آپشن s به همراه دستور ln باید استفاده کرد. در واقع برای این کار ما باید  از یک soft link به جای hard link استفاده باید بکنیم.

برای مثال اگر ما کد زیر را وارد کنیم:

touch ~/anotherFile
ln -s ~/anotherFile /anotherLink

شما یه link ساخته اید که در صورت عدم وجود فایل اصلی، فایل link شده نیز کار نخواهد کرد!

برای تست، فایل اصلی را حذف کنید، حال سعی کنید که با استفاده از دستور less محتوای فایل link شده را بخوانید.

خواهید دید که با ارور No such file or directory مواجه خواهید شد.

مطلب کوتاه ما نیز در اینجا پایان یافت.

متاسفانه مدتی است که سرم یکم شلوغ شده و فرصت نوشتن مطلب خیلی کم شده برام.

البته سعی میکنم که حتی الامکان، هر پنجشنبه یک مطلب را بگذارم، اما احتمال زیاد مطالب مانند همین مطلب کوتاه و ساده خواهد بود.

در پایان توصیه میکنم که حتما manual مربوط به ln را با استفاده از دستور man ln یه نگاهی بندازید.

چیز های جالبی توشون پیدا خواهد شد

از این که تا به اینجا با ما بوده اید متشکریم!

با آرزوی بهترین ها

مهدی

منتشر شده در:

  • آواتار شهریار

    شهریار

    جمعه 2 آبان 1393

    ارسال پاسخ

    همون soft link و hard link در واقع موفق باشی
  • آواتار شهریار

    مهدی علی خاصی

    یکشنبه 4 آبان 1393

    جالبه که دقیقا توی ذهنم بود که به soft link و hard link اشاره کنم. اما این که چرا یادم رفته را نمیدونم! بابت یاد آوری ممنون. متن ویرایش شد!
  • آواتار ASobessese

    ASobessese

    دوشنبه 22 امرداد 1397

    ارسال پاسخ

    Pression arterielle est comment calleux votre sang pousse contre les parois de vos arteres lorsque votre coeur determination pompe le sang. Arteres sont les tubes qui transportent perseverent b gerer offre sang loin de votre coeur. Chaque culture votre manque de sensibilite bat, il pompe le sang tout au long vos arteres a la prendre facilement de votre corps. https://www.cialispascherfr24.com/cialis-sydney/
  • آواتار Aavendasaw

    Aavendasaw

    جمعه 30 شهریور 1397

    ارسال پاسخ

    Torsion bras de quelqu'un est comment dur votre sang pousse contre les parois de vos arteres lorsque votre coeur sentiment pompe le sang. Arteres sont les tubes qui transportent perseverent b gerer offre sang loin de votre coeur. Chaque temps votre determination bat, il pompe le sang par vos arteres a la reste de votre corps. https://www.cialispascherfr24.com/tadalafil-prix-france-nantes/
  • آواتار Aavendasaw

    Aavendasaw

    دوشنبه 9 مهر 1397

    ارسال پاسخ

    Poids est comment dur votre sang pousse contre les parois de vos arteres lorsque votre coeur essence pompe le sang. Arteres sont les tubes qui transportent perseverent b gerer offre sang loin de votre coeur. Chaque age votre moelle bat, il pompe le sang par vos arteres a la prendre facilement de votre corps. https://www.cialispascherfr24.com/cialis-a-vendre-canada/
ارسال نظر
خوانا نیست؟تعویض کد