ورود ثبت نام 021 - 49624
Logo Logo
  • سرور مجازی
    • فروش سرور مجازیسرور مجازی خارج20 لوکیشن ، تحویل فوری
    • فروش سرور مجازیسرور مجازی ایران5 دیتاسنتر ، ترافیک نامحدود
    • فروش سرور گرافیک دارسرور مجازی فارکسآی پی ثابت،ترافیک نامحدود
    • فروش سرور گرافیک دارسرور مجازی ترید و بایننسآی پی ثابت ، ترافیک نامحدود
    • فروش سرور مجازیسرور مجازی بورسسرعت بالا ، دسترسی آسان
    • فروش سرور مجازیسرور مجازی اقتصادیآی پی ثابت ، قیمت مناسب
    • فروش سرور مجازیسرور مجازی میکروتیکآی پی ثابت ، قیمت مناسب
    • فروش سرور گرافیک دارسرور مجازی با گرافیکآی پی ثابت ، ترافیک نامحدود
    • فروش سرور مجازیسرور مجازی رایگانتحویل فوری ، ویندوز سرور
  • سرور اختصاصی
    • فروش سرور اختصاصیسرور اختصاصی ایرانپورت 10 گیگ ، سخت افزار بروز
    • فروش سرور اختصاصیسرور اختصاصی خارجلوکیشن های برتر
    • فروش سرور اختصاصیکولوکیشنارائه از 5 دیتاسنتر برتر
    • فروش سرور اختصاصیمارکت نوین هاستتنوع بالا ، قیمت مناسب
  • هاست
    • هاستهاست ایرانبکاپ منظم ، پهنای باند نامحدود
    • هاستهاست خارجبکاپ منظم ، ترافیک نامحدود
    • فروش اس اس الگواهینامه SSLدامنه های داخلی و خارجی
  • دامنه
  • دانشنامه
  • تماس با ما

لینک های مفید

  • About

اسکریپت نویسی شل لینوکس برای وبمسترها – قسمت۲

  • خانه
  • ادامه مطلب
ویرایش متن خودکار - نوین هاست
مهر 13 1400
  • وبلاگ

اسکریپت نویسی شل لینوکس برای وبمسترها – قسمت۲ : در قسمت قبل کار با متغیر ها و ارتباط با کاربر از طریق آرگومان ها و خط فرمان را یادگرفتیم.

در این قسمت قصد داریم ویرایش فایل های متنی با استفاده از اسکریپت نویسی را توضیح دهیم, میدانید که بیشتر سرویس های لینوکس دارای یک فایل متنی config  هستند که در طول مدیریت و کانفیگ سرور بارها باید آنها را ویرایش کنید, برای خودکار کردن روند کانفیگ سرویس ها باید یاد بگیریم با استفاده از اسکریپت نویسی تغییرات لازم را در این فایل ها اعمال کنیم.

اسکریپت نویسی شل لینوکس برای وبمسترها – قسمت۲

یکی از بهترین ابزار text manioulation در یونیکس و لینوکس ابزار sed  است, در ادامه با برخی از کاربرد های مفید این ابزار آشنا میشوید:

طرز کار بدین صورت است:

Sed ‘command’ file

مثلا کامند

s/a/A

شامل سه قسمت است; s اول substitute به معنی جایگزینی, که باعث میشود در فایل داده شده, a ها را با A   جای گزین کند. به مثال زیر توجه کنید:

sed ‘s/a/A/’ text1

با اجرای دستور بالا اولین ‘a’ ی هر خط موجود در متن فایل text1 به ‘A’ تبدیل میشوند.

یعنی اگر در یک خط نوشته banana موجود باشد, تبدیل به bAnana خواهد شد. در واقع فقط روی اولین مورد پیدا شده در هر خط, عمل جایگزینی را انجام میدهد. در صورتی که میخواهید تمام یافته را ویرایش کند, در آخر کامند یک g بگذارید.

دستور

Sed ‘s/a/A’ text1

باعث خواهد شد تمام کاراکتر های a به A تبدیل شود, یعنی در خروجی banana  به bAnAnA تبدیل خواهد شد.

اسکریپت نویسی شل لینوکس برای وبمسترها – بخش دوم

توجه کنید که در این حالت خروجی به خط فرمان ارسال خواهد شد و در فایل هیچ تغییر اعمال نمیشود, برای اعمال تغییرات در فایل از پارامتر های i و r استفاده کنید. یعنی:

Sed –i –r ‘s/a/A’ text1

لازم نیست گزینه مورد جستجو یک کاراکتر باشد, میتوانید از sed بخواهید apple  را جایگزین banana کنید.

 Sed –i –r ‘s/banana/apple’ text1

حالا بیایید وارد بحث تخصصی خودمان شویم:

اولین کاری که هنگام کانفیگ سرور انجام میدهید چیست؟ ست کردن آی پی!

در سرور های ردهت معمولا فایل کانفیگ آی پی در مسیر

/etc/sysconfig/network-scripts/ifcfg-eth0

قرار دارد

محتوی این فایل چیزی مانند:

DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
NETWORK=10.0.1.0
NETMASK=255.255.255.0
IPADDR=10.0.1.27
USERCTL=no

خواهد بود.

عوض کردن کردن مقدار IPADDR

برای عوض کردن کردن مقدار IPADDR با استفاده از sed چه کار کنیم؟

البته با دستور

Sed –I –r ‘s/IPADDR=10.0.1.27/IPADDR=192.168.4.1’ /etc/sysconfig/network-scripts/ifcfg-eth0

میتوانیم این کار را انجام دهیم ولی به شرط آنکه مقدار ۱۰٫۰٫۱٫۲۷ همیشه ثابت باشد, اما هدف اسکریپت نویسی این است که بتوانیم آنرا روی سرور های مختلف با تنظیمات مختلف اجرا کنیم, پس بیایید از sed بخواهیم هر سطری که با IPADDR= شروع شده را با IPADDR=192.168.4.1   که آی پی مورد نظر ماست جایگذین کند.

دستور به شکل زیر خواهد بود:

sed -i -r ‘s/(^IPADDR=(.*)$)/IPADDR=192.168.4.1/’ /etc/sysconfig/network-scripts/ifcfg-eth0

علامت ^   نشانگر اول سطر, .* نشان گر “هر چیزی” و $ نشانگر آخر سطر میباشد, به اینگونه کد نویسی برای جستجو در متون Regular Expression  میگوییم که برای کاربران خط فرمان لینوکس یادگیری آنها بسیار ارزشمند خواهد بود و ما نیز در ادامه بدان خواهیم پرداخت.

با عبارت بالا از ابزار sed  خواستیم وقتی به موردی رسید که اول سطر آن عبارت IPADDR= باشد, بدون توجه به ادامه آن تا آخر سطر, کل آن سطر را با “IPADDR=192.168.4.1” جایگزین کند.

برای ست کردن gateway نیز میتوان به همین منوال پیش رفت, مثال تنظیم gateway  را با کمک گرفتن از متغیر ها که در قسمت قبل توضیح داده شد ادامه میدهیم.

echo -n “Enter Default Gateway  “

read gatw

sed -i -r ‘s/(^GATEWAY=(.*)$)/GATEWAY=’$gatw’/’ /etc/sysconfig/network-scripts/ifcfg-eth0

در واقع آی پی gateway  را از کاربر دریافت کرده و در متغیر gatw قرار میدهیم.

سپس متغیر را به صورت ‘$gatw’ در دستوری که به

sed ارسال میشود قرار میدهیم.

اگر میخواستیم یک آی پی مشخص را تعیین کنیم به جای

‘$gatw’ شماره آی پی را مینوشتیم(درست مثل مثال قبل)

حالا دیگر میتوانید اسکریپتی بنویسید که عمل تنظیم آی پی را بدون نیاز به باز کردن فایل ifcfg در سیستم های پایه ردهت انجام دهد.

در قسمت های بعد عبارات شرطی را توضیح خواهیم داد.

نوشته قبلی نوشته بعدی

۱ نظر

حامد
مهر 13, 1400

سلام
اگه بخواهیم محتوای یک فایل متنی رو با محتوای خودمون جایگزین کنیم چه میشه کرد؟

یه فایل شل شامل چند دستوره که یکی یکی اجرا میشن به دستوری میرسه که قراره یه فایل متنی رو ادیت کنه و محتوای خودمون رو جایگزین محتوای اون فایل کنه
امکانش هست؟

Reply

درج نظر لغو پاسخ

نوشته‌های تازه

  • سیستم عامل چیست؟ (معرفی انواع سیستم عامل)
  • ۷ روش حل خطای ۵۰۴ Gateway Timeout
  • نحوه ساخت دیتابیس روی هاست cpanel (سی پنل) در ۴ مرحله
  • گیمیفیکیشن چیست و چه تاثیری بر کسب و کارها دارد؟
  • بررسی تفاوت ویندوز سرور با ویندوز معمولی

آخرین دیدگاه‌ها

  1. سحر در آموزش نصب wordpress ، نصب آسان و سریع وردپرس در ۵ دقیقه
  2. نوین هاست در آموزش نصب wordpress ، نصب آسان و سریع وردپرس در ۵ دقیقه
  3. منا در آموزش نصب wordpress ، نصب آسان و سریع وردپرس در ۵ دقیقه
  4. نوین هاست در تفاوت NS و DNS چیست؟
  5. حسن در تفاوت NS و DNS چیست؟

دسته‌ها

  • راهکار های سازمانی
  • سرور مجازی
  • لایسنس
  • محصولات
  • نمایندگی فروش
  • وبلاگ

برچسب‌ها

اموزش نصب ssl در ویندوز سرور اموزش نصب اس اس ال رایگان اموزش وصل شدن به سرور نحوه اتصال به سرور با موبایل
Logo


تلفن : 49624 – 021
تلفن : 91070308 – 021
admin@novinhost.org
تلگرام : novinhost_org@
کانال تلگرام : novinhost@
تهران ، فلکه دوم صادقیه ، بلوار آیت الله کاشانی ، روبروی پمپ بنزین ، پلاک 160 طبقه 8

سرور مجازی

  • سرور مجازی آلمان
  • سرور مجازی فرانسه
  • سرور مجازی انگلیس
  • سرور مجازی آمریکا
  • سرور مجازی کانادا
  • سرور مجازی هلند
  • سرور مجازی فنلاند

سرور اختصاصی

  • سرور اختصاصی ایران
  • سرور اختصاصی برج میلاد
  • سرور اختصاصی تبیان
  • سرور اختصاصی خارج
  • سرور اختصاصی آلمان
  • سرور اختصاصی فرانسه
  • سرور اختصاصی آمریکا

نمادها و مجوزها

نمادها و مجوزهانظام صنفی

  • شبکه های اجتماعی نوین هاست را در شبکه های اجتماعی حتما دنبال کنید!

تمام حقوق این سایت محفوظ و متعلق به نوین هاست می باشد.

  • قوانین سرویس دهی
  • درباره ما
  • شماره حساب ها
  • استخدام