ضمیمهها
از Linuxreview Wiki
				
				
				
				
																
				
				
								
				
محتویات[نهفتن] | 
راهنمای سریع دستورات عمومی کتاب
- . به عنوان مسیر جاری در نظر گرفته میشود
 
- alias تعیین نام دلخواه برای یک دستور به همراه آپشنهای آن
 - bg اجاری پروسههای تعلیق شده در پسزمینه
 - cd تغییر دایرکتوری
 - echo چاپ آرگومان ورودی در خروجی
 - eval دستور جاری دوبار تفسیر میشود
 - exec اجرای یک دستور
 - exit n خارج شدن از شل با کد خروج
 - export اعمال یک مشخصه برای یک متغیر
 - false دستوری که همیشه مقدار بازگشتی آن غلط منطقی است
 - fc ویرایش و اجرای آخرین دستور
 - fg اجرای مجدد یک دستور تعلیق شده در بک گراند
 - function کلمه کلیدی برای اعلان تابع
 - history نمایش لیست دستوراتی که وارد شدهاند
 - jobs نمایش لیست پروسههایی که تعلیق شدهاند یا در بک گراند قرار دارند
 - kill کشتن یک دستور
 - newgrp تغییر گروه
 - print آرگومانهای ارسالی را در صفحهی نمایش چاپ میکند
 - pwd نمایش مسیر جاری
 - read دریافت یک ورودی از کاربر
 - readonly تعریف یک متغیر فقط خواندی
 - return بازگشت از یک تابع
 - set نمایش یا تغییر متغیرهای شل
 - shift شیفت دادن پارامترها به اندازهی یک واحد
 - test تعیین نوع فایل و همچنین مقایسهی بین دو رشته یا دو عدد
 - type تعیین نوع یک دستور شامل میانبرها و دستورات توکار و یا دستورات شل
 - unalias حذف کلمه میانبری که تعریف شده است
 - unset حذف متغیری که تعریف شده است
 - wait توقف شل تا زمانی که تمام اجرای دستورات در پس زمینه پایان یابد
 - whence type مشابه دستور
 
عبارات شرطی
تست فایلها
- -a file صحیح در صورتی که فایل موجود باشد
 - -b file صحیح در صورتی که فایل یک بلاک ویژه باشد
 - -c file صحیح در صورتی که فایل یک کاراکتر ویژه باشد
 - -d file صحیح در صورتی که فایل یک دایرکتوری باشد
 - -f file صحیح در صورتی که فایل یک فایل معمولی باشد
 - -g fileست شده باشد SGID صحیح در صورتی که بیت
 - -G file صحیح در صورتی که گروه فایل با گروه یوزر استفاده کننده یکی باشد
 - -k file صحیح در صورتی که بیت چسبناک فایل یک باشد
 - -L file صحیح در صورتی که فایل یک لینک سمبلیک باشد
 - -O file صحیح در صورتی که اجرا کنندهی فایل مالک آن باشد
 - -r file صحیح در صورتی که فایل قابل خواندن باشد
 - -s file صحیح در صورتی که اندازهی فایل بزرگتر از صفر بایت باشد
 - -u file برابر ست شده باشد SUIDصحیح در صورتی که بیت
 - -w file صحیح در صورتی که فایل قابل نوشتن باشد
 - -x file صحیح در صورتی که فایل قابل اجرا باشد
 
مقایسه رشتهها
- -z string صحیح در صورتی که رشته تهی باشد
 - -n string صحیح در صورتی که طول رشته صفر نباشد
 - s1 = s2 صحیح در صورتی که دو رشته برابر باشند
 - s1 != s2 صحیح در صورتی که دو رشته برابر نباشند
 - s1 صحیح در صورتی که رشته تهی نباشد
 - s1 < s2 صحیح در صورتی که رشته اول از رشته دوم طبق حروف الفا کوچتر باشد
 - s1 > s2 صحیح در صورتی که رشته اول از رشته دوم طبق حروف الفا بزرگتر باشد
 
مقایسه اعداد صحیح
- n1 -eq n2 صحیح در صورتی که دو عدد برابر باشند
 - n1 -ne n2 صحیح در صورتی که دو عدد برابر نباشند
 - n1 -gt n2 صحیح در صورتی که عدد اول از عدد دوم بزرگتر باشد
 - n1 -ge n2 صحیح در صورتی که عدد اول بزرگتر یا مساوی عدد دوم باشد
 - n1 -lt n2 صحیح در صورتی که عدد اول کوچتر از عدد دوم باشد
 - n1 -le n2 صحیح در صورتی که عدد اول کوچکتر یا برابر عدد دوم باشد
 - ! expr غلط باشد expr صحیح در صورتی که نتیجهی عبارت
 - -aمنطقی and عمل
 - && منطقی and عمل
 - -o منطقی or عمل
 - || منطقی or عمل
 
عبارات حسابی
عملگرهای حسابی:
- ! ~ عملگر not منطقی
 - * ضرب حسابی
 - / تقسیم حسابی
 - + جمع حسابی
 - - تفریق حسابی
 - % باقیمانده حسابی
 - >> شیفت به چپ بیتی
 - << شیفت به راست بیتی
 - => کوچکتر برابر
 - =< بزرگتر برابر
 - > کوچکتر
 - < بزرگتر
 - != نابرابر
 - == برابر
 - & عمل and بیتی
 - ^ عمل or بیتی
 - && عمل and منطقی
 - || عمل or منطقی
 - = انتصاب
 - =/ عمل تقسیم و سپس انتساب
 - =* عمل ضرب و سپس انتساب
 - =% محاسبهی باقی مانده و سپس انتساب
 - =- عمل تفریق و سپس انتساب
 - =+ عمل جمع و سپس انتساب
 - =>> عمل شیفت به چپ بیتی و سپس انتساب
 - =<< عمل شیفت به راست بیتی و سپس انتساب
 - =& عمل and بیتی و سپس انتساب
 - =^ عمل or سپس و سپس انتساب
 
متغیرها و پارامترها
متغیرهای کاربر تعریف
نامگذاری متغیرها: نام یک متغیر میتواند شامل حروف، اعداد و کاراکتر ـ باشد به شرطی که با یک عدد شروع نشود.
اعلان متغیر:
USERVAR=value
دستیابی به مقدار متغیر:
$USERVAR
اعلان آرایه:
USERVAL[index]=val USERVAL=(val1 val2 … valn) USERVAL=([index]=val1 [index]=val2 … [index]=valn)
دستیابی به مقدار آرایه:
${USERVAR[index]}
${USERVAR[*]}
${USERVAR[@]}
متغیرهای توکار شل:
- $0 نام اسکریپت در حال اجرا
 - $# تعداد پارامترهای ارسالی به تابع یا دستور
 - $* لیست تمام پارامترهای ارسالی
 - $@ لیست تمام پارامترهای ارسالی
 - $? شماره کد خروج آخرین دستور اجرا شده
 - $$ شل در حال اجرا pid
 - $! آخرین دستور اجرا شده در پسزمینه pid
 
متغیرهای عمومی شل:
- HOME مسیر دایرکتوری خانه را در خود ذخیره میکند
 - IFS کاراکتر جدا ساز
 - PATH مسیرهایی که دستورات شل در آنجا جستوجو میشود
 - PS1 رشتهی promt شل اصلی
 - PS2 رشتهی promt شل ثانویه
 - PWD مسیر جاری
 - RANDOM یک عدد بین ۰ تا ۳۲۷۶۷ را به تصادف انتخاب میکند
 - REPLY آخرین ورودی در ساختار شرطی select را در خود ذخیره میکند
 - SECONDS تعداد ثانیههایی که از زمان اجرای شل گذشته را در خود ذخیره میکند
 - SHLVL تعداد شل های اجرا شده به صورت تو در تو
 - UID شماره UID کاربر جاری را در خود ذخیره میکند
 
تطبیق الگو:
- * وقوع صفر یا بیشتر از هر کاراکتر
 - ? وقوع یک یا بیشتر از هر کاراکتر
 - [list] وقوع دقیقاً یک کاراکتر از لیست مورد نظر
 - [!list] عدم وقوع هر کدام از کارکترهای لیست
 
ورودی/خروجی:
- cmd > file خروجی دستور cmd در فایل file ذخیره میشود
 - cmd >>file خروجی دستور cmd به انتهای فایل file اضافه میشود
 - cmd < file فایل file به عنوان ورودی دستور cmd هدایت میشود
 - cm1 | cmd2 خروجی دستور cmd1 به عنوان ورودی دستور cmd2 هدایت میشود
 - cmd | tee file خروجی دستور cmd در صفحه نمایش چاپ شده و در file نوشته میشود
 
Eman ۱ مارس ۲۰۱۲، ساعت ۲۰:۰۰ (UTC)