LINUX

آموزش لینوکس

LINUX

آموزش لینوکس

LINUX

این وبلاگ به بحث پیرامون لینوکس و امنیت و زبان برنامه نویسی تحت لینوکس می پردازد.

طبقه بندی موضوعی

۶ مطلب با کلمه‌ی کلیدی «script» ثبت شده است

آرایه های در shell قادر به ذخیره مقادیر هستند به این معنی که هر اندیس آرایه یک مقدار رو میتونه در خودش ذخیره کنه. shell میتونه مقادیر مختلفی از آرایه ها رو در خودش ذخیره کنه . در اصل آرایه ها گروهی از متغیرها هستند. به جای اینکه نیاز باشه برای هر متغیر هر بار یک نام انتخاب بشه میتونید اونها رو با اندیس های مشخصی انتخاب کنید و هر زمان که نیاز بود اون ها رو صدا بزنید.


تعریف آرایه ها

برای تعریف کردن آرایه ها در bash شما میتونید به صورت زیر برای اندیس های مختلف مقادیری رو تعیین کنید:

NAME[0]="Muhammad"
NAME[1]="Ali"
NAME[2]="Zahra"
NAME[3]="Hassan"
NAME[4]="Hossein"


برای صدا زدن هر یک از اون ها شما میتونید مثلا به صورت زیر عمل کنید:

$ echo ${NAME[0]}
Muhammad

۰ نظر موافقین ۰ مخالفین ۰ ۰۹ تیر ۹۳ ، ۱۴:۱۰
مرتضی
در بخش قبل به توضیحی درباره متغیرها پرداختم و الان میخوام به بررسی متغیرهای مخصوصی در زبان bash بپردازم.
برای مثال اگر میخواین pid شل که در حال اجراست رو در بیارید میتونید به صورت زیر عمل کنید:
$ echo $$
29949

حالا میخوام به توضیح مختصری در باره این نوع متغیرها بپردازم و در انتها هم یک مثال براتون بیارم:
- $0 : نام اسکریپتی که در حال نوشتن اون هستید رو نمایش میده:
- n$ : در این جا شما میتونید به جای n مقدار عددی مثبت رو قرار بدید. مثلا 1$ بیانگر پارامتر اولی هست که به اسکریپت میدید و ....
- #$ : این علامت بیانگر تعداد پارامترهایی هست که این اسکریپت نیاز داره تا با اون ها اجرا بشه. یا تعداد پارامترهایی که اسکریپت با اون اجرا شده.
- *$ : تمام پارامتر ها رو به نمایش میذاره
- @$ : این هم مانند قبل همه پارامتر ها رو نشون میده
- ?$ : این متغیر وضعیت خروج آخرین دستور زده شده رو به صورت یک عدد به شما نمایش میده. مثلا اگر دستور آخری که اجرا کردید موفقیت آمیز بوده و صحیح بده مقدار 0 رو بر میگردونه و اگر دستور یا اسکریپت با موفقیت به اجرا در نیامد مقدار 1- را بر میگرداند
- $$ : شماره پراسه شل در حال اجرا یا شلی که در اون هستید رو بر میگردونه
- !$ : شماره پراسه آخرین دستوری که در background اجرا شده رو نمایش میده
۰ نظر موافقین ۰ مخالفین ۰ ۰۶ تیر ۹۳ ، ۲۰:۴۴
مرتضی

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

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


Shell Prompt

علامت شل $ می باشد که وقتی ظاهر شد شما میتونید دستورات لازم رو وارد کنید. بعد از اینکه دستور رو نوشتید و اینتر رو زدید, شل مقدار ورودی رو از شما میگیره. هر دستور در لینوکس به خودی خود یک داده از نوع رشته ست که به صورت پیوسته و ناگسسته نوشته میشه.

دستور زیر تاریخ و ساعت رو به شما نشون میده:

$ date
Tue Jun 24 20:27:28 IRDT 2014


شما میتونید نشان دستورات خودتون رو با توجه به توضیحاتی که در بخش محیط ها  گفتم تغییر بدید.

۲ نظر موافقین ۲ مخالفین ۰ ۰۳ تیر ۹۳ ، ۲۱:۳۱
مرتضی

برنامه ای که قبلا در وبلاگ آورده بودم رو الان یک نسخه ارتقا دادم.

همونطور که میدونید این برنامه دو تا IP میگیره و بعد شروع میگنه تمام آدرس های بین اون دو رو در میاره و سایت هایی که روی یک وب سرور خاص هستند رو به شما نشون میده.


تفاوت این نسخه با نسخه قبل اینه که راندمان و سرعت کار رو بالاتر برده. باز هم اگر بتونم نسخه های بعدی اون رو هم میذارم توی وبلاگ.

برای دیدن بخشی از برنامه به ادامه مطلب تشریف بیارید: (شما میتونید برای دریافت برنامه با من تماس بگیرید)

۰ نظر موافقین ۰ مخالفین ۰ ۲۹ خرداد ۹۳ ، ۲۳:۱۲
مرتضی

برنامه  ResolveIP-bing برنامه ایست که به زبان پایتون نوشتم  متشکل از تعدادی تابع و تابع اصلی جهت بدست آوردن تمامی دامنه هایی که از یک IP خاص آدرس دهی می شوند. اگر این کار را بصورت دستی در سایت bing میخواهید انجام دهید کافی ست تا سایت bing را باز کرده و سپ عبارت IP:x.x.x.x را وارد نمایید. اگر دامنه هایی روی IP دامنه مورد نظر ثبت شده باشد نتایج آن بسته به آدرس IP مورد نظر در صفحه یا صفحات مختلفی نمایش داده میشود. برنامه نوشته شده این کار را به صورت خودکار انجام میدهد با این تفاوت که شما باید دو آدرس IP را به عنوان پارامترها برنامه به آن بدهید تا برنامه تمامی IPهایی که بین این دو هستند را در bing وارد کند و دامنه های متعلق به آنها را برای شما در آدرس tmp/result.txt/ بریزد.


نکته: این برنامه دقیقا همان کاری را میکند که یک کاربر به صورت دستی ممکن است انجام دهد به همین خاطر در نهایت ممکن است تعدادی دامنه به صوت تکراری مشاهده شوند. البته شما میتوانید خروجی های تکراری که حذف شده اند را در مسیر tmp/rmdup.txt/ مشاهده نمایید. برای دیدن برنامه به ادامه مطلب بروید.

۰ نظر موافقین ۰ مخالفین ۰ ۱۸ خرداد ۹۳ ، ۰۹:۰۷
مرتضی

پایتون شباهت های زیادی به perl, C و java دارد که البته تفاوت های زیادی نیز بین پایتون و این زبان های برنامه نویسی وجود دارد. در این بخش قصد دارم خیلی ساده و سریع شما رو با الفبای پایتون آشنا کنم.


اولین برنامه به زبان پایتون

۱) حالت Interactive

برای شروع به کار در محیط Interactive کافیست شما در ترمینال کلمه پایتون را نوشته تا محیط مورد نظر ظاهر شود:

$ python
Python 2.7.6 (default, Mar 22 2014, 22:59:56) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 


شما میتونید کدهای خودتون رو خط به خط بعد از <<< بنویسید. به مثال زیر دقت کنید:
>>> print "Hello, Python!"
Hello, Python!
قرار دادن ; و () در دستور بالا در زبان پایتون اختیاریست. یعنی شما میتوانستید عبارت را بین پرانتز قرار داده و یا در انتهای آن عبارت ; را نیز بیارید.


۲) حالت اسکریپت
شما میتوانید همین مثالی که در بالا ذکر شد را به صورت اسکریپت نوشته و آن را چاپ کنید. برای این کار کافیست فایلی را با پسوند py ایجاد کرده و همان عبارت را درون آن چاپ نمایید. نام فایل را test.py بذارید. فایل شما فرمت زیر را خواهد داشت:
#!/usr/bin/python
print "Hello, Python!"

حال شما اسکریپت را صورت زیر میتوانید اجرا کنید:
python test.py

البته اگر با دستور chmod به اسکریپت خود دسترسی اجرایی بدهید نیز میتوانید آن را به صورت دیگری اجرا کنید. برای دسترسی اجرایی دادن به آن کافیست در ترمینال عبارت زیر را وارد کنید:
$ chmod +x test.py
$ ./test.py
۱ نظر موافقین ۰ مخالفین ۰ ۱۳ خرداد ۹۳ ، ۱۲:۵۸
مرتضی