دوستان و علاقمندان به مباحث آموزش یونیکس (UNIX) ، این آموزش را از سایت پی وی لرن دنبال خواهیم نمود. آشنایی با محیط یونیکس (UNIX) را در این بخش نیز ادامه خواهیم داد. با ما همراه باشید.
کاراکترهایی که shell به عنوان دستور (command prompt) نمایش می دهد در متغیری به اسم PS1 ذخیره می شوند. شما می توانید این متغیر را به هر چیزی که می خواهید تغییر دهید. به محض تغییر آن ، از آن نقطه توسط shell استفاده می شود.
به عنوان مثال ، اگر دستور را صادر کردید.
1 2 3 4 | $PS1='=>' => => => |
از آن موقع به بعد prompt شما <= تغییر می کند. برای تنظیم مقدار PS1 به گونه ای که دایرکتوری موجود را نشان دهد ، دستور زیر را صادر کنید.
1 2 3 | =>PS1="[\u@\h \w]\$" [root@ip-72-167-112-17 /var/www/tutorialspoint/unix]$ [root@ip-72-167-112-17 /var/www/tutorialspoint/unix]$ |
نتیجه ی این دستور این است که prompt نشان می دهد نام کاربری کاربر ، نام ماشین (hostname) و دایرکتوری کار.
تعداد کمی توالی فرار (Escape Sequence) وجود دارد که می تواند به عنوان value argument ها برای PS1 مورد استفاده قرار گیرد. سعی کنید خود را به بحرانی ترین محدود کنید تا سریعاً اطلاعات شما را تحت الشعاع قرار ندهد.
ردیف | Escape Sequence و شرح |
---|---|
۱ | t\ زمان فعلی ، به صورت HH: MM: SS بیان شده است. |
۲ | d\ تاریخ فعلی ، به فرمت روز ماه و سال بیان شده است. |
۳ | n\ Newline – خط جدید |
۴ | s\ بیانگر محیط shell فعلی است. |
۵ | W\ Working directory یا دایرکتوری که در آن مشغول به کار می باشید را نمایش می دهد. |
۶ | w\ مسیر کامل Working directory یا دایرکتوری که در آن مشغول به کار می باشید را نشان می دهد. |
۷ | u\ نام کاربری فعلی کاربر |
۸ | h\ Hostname ماشین فعلی را نشان می دهد. |
۹ | #\ شماره دستور فرمان فعلی را نشان می دهد. با وارد کردن یک فرمان جدید، مقدار آن افزایش می یابد. |
۱۰ | $\ اگر UID مؤثر برابر با ۰ است (یعنی اگر به عنوان root وارد شده اید) ، prompt را با کاراکتر # پایان دهید. در غیر این صورت از علامت $ استفاده کنید. |
شما می توانید هر بار که وارد سیستم می شوید (log in) ، خودتان را تغییر دهید ، یا می توانید تغییرات اتوماتیک در PS1 ، با افزودن آن به فایل پروفایل تان، داشته باشید.
وقتی دستوری را صادر می کنید که ناقص باشد ، shell یک اعلان ثانویه را نشان می دهد و منتظر می ماند تا شما دستور را کامل کنید و دوباره Enter را بفشارید.
پیش فرض prompt ثانویه < (علامت بزرگ تر از ) است ، اما می تواند با تعریف دوباره متغیر پوسته PS2 تغییر کند.
در زیر مثالی که از prompt پیش فرض ثانویه استفاده می کند.
1 2 3 4 5 | $ echo "this is a > test" this is a test $ |
مثالی که در زیر آورده شده است ، PS2 را با prompt سفارشی دوباره تعریف می کند.
1 2 3 4 5 6 | $ PS2="secondary prompt->" $ echo "this is a secondary prompt->test" this is a test $ |
در زیر لیست جزئی از متغیرهای مهم محیطی وجود دارد. این متغیرها مطابق شکل زیر تنظیم شده و قابل دسترسی هستند.
ردیف | متغیرها و شرح |
---|---|
۱ | DISPLAY دارای شناسه ای برای صفحه نمایش برنامه هایی است که X11 به طور پیش فرض باید از آن استفاده کنند. |
۲ | HOME home directory کاربر فعلی را نشان می دهد: آرگومان پیش فرض برای دستور داخلی cd. |
۳ | IFS Internal Field Separator را نشان می دهد که توسط تجزیه کننده (parser) ، برای تفکیک کلمات بعد از توسعه استفاده می شود. |
۴ | LANG LANG زبان سیستم محلی پیش فرض را نشان می دهد. LC_ALL می تواند برای لغو کردن این مورد استفاده شود. به عنوان مثال ، اگر مقدار آن pt_BR باشد ، زبان بر روی پرتغالی (برزیلی) و محل به برزیل تنظیم می شود. |
۵ | LD_LIBRARY_PATH در بسیاری از سیستم های مبتنی بر Unix یک لینک کننده ی dynamic (داینامیک) وجود دارد که دارای جداکننده ای با کاراکتر : است و لیستی از دایرکتوریهای دینامیک لینک شده که آبجکت های شِیر شده (shared objects هایی) زمان ساخته شدن پروسه ها بعد از اجرا هستند، را در دایرکتوری های دیگر جست و جو می کند. |
۶ | PATH مسیر جستجوی دستورات برای اجرا را نشان می دهد. و هر مسیر با : از مسیر دیگر جدا می شود. |
۷ | PWD متغیری است که موقعیت تان را در دایرکتوری که در آن هستید نشان می دهد. دایرکتوری کار فعلی را طبق دستور cd تنظیم می کند. |
۸ | RANDOM در هر بار درخواست، یک عدد صحیح تصادفی بین ۰ تا ۳۲،۷۶۷ ایجاد می کند. |
۹ | SHLVL هر بار که نمونه ای از bash شروع می شود ، یکی افزایش می یابد. این متغیر برای تعیین این که آیا دستور خروجی داخلی (built-in) در نشست فعلی را تمام شده است یا خیر، مفید است. |
۱۰ | TERM به نوع ترمینال اشاره دارد. |
۱۱ | TZ به منطقه زمانی (Time Zone) اشاره دارد. این می تواند مقادیری مانند GMT ، AST و غیره را به خود اختصاص دهد. |
۱۲ | UID حاکی از user ID کاربر فعلی می باشد که ابتدا در هنگام راه اندازی شِل مقدار دهی می شود. |
در زیر نمونه ای از متغیرهای محیطی (Environment Variables) نشان داده شده است.
1 2 3 4 5 6 7 8 9 | $ echo $HOME /root ]$ echo $DISPLAY $ echo $TERM xterm $ echo $PATH /usr/local/bin:/bin:/usr/bin:/home/amrood/bin:/usr/local/bin $ |
مبحث آشنایی با محیط یونیکس را به پایان می رسانیم.
آشنایی با محیط یونیکس را در دو بخش دنبال نمودیم. در بخش بعدی به بررسی Basic Utilities – Printing, Email خواهیم پرداخت. با آموزش یونیکس از وب سایت پی وی لرن همراه باشید.