در قسمت قبل شل توضیح داده شد
در این قسمت چگونه گی کار ان گفته می شود
برنامه های قابل اجرا در لینوکس به زبان سی / یا / سی پلاس پلاس هستند (موارد دیگری هم اگر باشند اطلاعی ندارم)
در برنامه نویسی برای کنترل بهتر کل برنامه از تابع استفاده می شود
توابع از بهم ریختگی برنامه کاسته و توسعه ان رو راحت می کنند
در سی و / سی پلاس هم تابعی با نام تابع اصلی (main) وجود دارد ک تابع واجب در برنامه هست
توابع آرگمان دارند / یعنی چیزی رو در خود برای اجرا کردن دارند
می توان به توابع چیزی را ک می خواهیم / بفرستیم / و این می شود پارامتر
از انجا ک تابع اصلی برنامه (main) هم از این قاعده پیروی می کند پس می توان پارامتر را به ارگمان ان ارسال کرد
ی مثال همه چیز را روشن می کند
دستور ls در شل انچه در مسیر جاری باشد را به ما نشان میدهد | این فایل اگر به تنها اجرا شود یک نتیجه مشخص دارد
اما اگر به صورت ls -l استفاده شود انگاه پارامتر l با تابع اصلی در برنامه ls فرستاده شده و نوع دیگری از حالت مورد نظر را اجرا می کند
ک در این حالت l پارامتری است که تابع اصلی در ls فرستاده میشود و ls می داند ک اگر lی برای او وارد شد چه واکنشی دهد.(برنامه نویس ان ان را نوشته)
حال چون cpu فقط 0 و 1 باینری را می شناسد و شل مستقیم به cpu دسترسی ندارد در این میان کرنل (هسته) نقش میانجی رو ایفا کرده و انچه در خط فرمان (از طریق پوسته) اجرا می شود / مثلا فایل ls را برای پرداش قابل فهم می کند برای cpu
در واقع (شل) خط فرمان راهی هست تا به کمک برنامه ها و میانجی گری کرنل (هسته) کاری رو از cpu بخواهیم
در نهایت هم انچه با دستور ما پرداش شده به ما بازگردانده میشود
حال این ls کجاست ؟
خب من از شل پرسیدم کجاست و او جواب داده در پوشه binکد:~/Desktop/android-bin< which ls /bin/ls ~/Desktop/android-bin<
با تصویر در پوشه بین و فایل ls رو با موس هایلایت کردم
مثال از اجرا فایل به تنهایی:
کد:~/Desktop/android-bin> ls 01.txt 02.txt bin.txt diff_xbin_bin.txt xbin.txt ~/Desktop/android-bin>
مثال از اجرا با ارسال پارامتر به فایل (تابع در فایل)
کد:~/Desktop/android-bin> ls -l total 28 -rw-rw-r-- 1 shu shu 6 ژوئیه 2 15:35 01.txt -rw-rw-r-- 1 shu shu 9 ژوئیه 2 15:35 02.txt -rw-r--r-- 1 shu shu 2441 ژوئیه 2 15:17 bin.txt -rw-rw-r-- 1 shu shu 10401 ژوئیه 2 15:25 diff_xbin_bin.txt -rw-r--r-- 1 shu shu 2725 ژوئیه 2 15:17 xbin.txt ~/Desktop/android-bin>
این توضیحات تجربی بوده و از مستندات علمی برداشت نشده | بنابراین خالی از ایراد نیست | پایان این قسمت
بوک مارک ها