ضمیمهها
از 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)