دستورهای لینوکس معمولاً گزینههای طولانی و متنوعی دارند که بسیاری از آنها به صورت حروف اختصاری هستند. یادگیری و به خاطر سپردن این گزینهها میتواند دشوار باشد، اما ویژگی مفید آنها قابلیت استفاده مجدد است: گزینههای رایج میان دستورات مختلف مشترک هستند.
گزینههای زیر از رایجترینها هستند و در بسیاری از دستورات قابل استفادهاند. یادگیری آنها باعث میشود درک خوبی از نحوه کار با برنامههای مختلف داشته باشید و نتایج قابل پیشبینی به دست آورید.
–help و –version برای اطلاعات ضروری
یکی از گزینههایی که تقریباً همه دستورات، چه قدیمی و چه جدید، از آن پشتیبانی میکنند، --help (یا گاهی -h یا -?) است که متنی کوتاه و غیرتعاملپذیر از راهنمای دستور را نمایش میدهد. این متن معمولاً «usage» نامیده میشود زیرا شامل یک خط خلاصه برای نحوه استفاده از دستور و جزئیات گزینهها است: چه کاری انجام میدهند و چگونه کار میکنند.
اجرای دستور ls با گزینه --help اطلاعات خلاصه و جزئیات گزینههای پشتیبانی شده را نشان میدهد.
برخی خروجیهای help، مانند دستور ls، تقریباً به اندازه صفحه man دستور جامع هستند.
گزینه --help در اوبونتو و دیگر سیستمهای لینوکس مدرن پشتیبانی خوبی دارد. ابزارهای مدرن مانند bat، rg (ripgrep) و ncdu هم از فرم طولانی و هم -h پشتیبانی میکنند. اکثر ابزارهای GNU نیز از --help پشتیبانی میکنند، اگرچه دستوراتی مانند ls و cd از -h پشتیبانی نمیکنند.
دستور ls از -h برای help استفاده نمیکند، بلکه به عنوان کوتاهشده --human-readable است که اندازه فایلها را به صورت “1K” به جای “۱۰۲۴” نمایش میدهد.
گزینه --version (-V) معمولاً همراه با --help استفاده میشود زیرا اطلاعات نسخه برنامه را نمایش میدهد و در مکانهایی که --help پشتیبانی میشود، معمولاً کار میکند. این گزینه برای اطمینان از اجرای نسخه صحیح برنامه و رفع مشکلات مفید است.
خروجی --version میتواند از یک ابزار به ابزار دیگر متفاوت باشد: برخی ابزارها مانند ncdu، top و jq فقط یک خط نمایش میدهند.
در حالی که ابزارهای GNU مانند find، mkdir و sed جزئیات مجوز و اعتبارنامهها را همراه با نسخه نرمافزار نمایش میدهند.
–all برای نمایش همه نتایج
گزینه --all (-a) معمولاً زمانی در دسترس است که دستور با فایلها کار کند اما برخی از آنها را به طور پیشفرض نادیده بگیرد. نمونه رایج آن ls --all است که فایلهای مخفی را همراه با فایلهای معمولی نمایش میدهد.
برخی دستورات، مانند which، از -a با معنای کمی متفاوت پشتیبانی میکنند و همه مسیرهای ممکن برای یک دستور را در PATH نشان میدهند.
دستورات دیگری نیز گزینههای مکملی دارند، مانند ls --almost-all (-A) که همه فایلهای مخفی را به جز . و .. نمایش میدهد.
–force برای اجازه اقدامات مخرب
بسیاری از دستورات که اعمالی بالقوه مخرب انجام میدهند، در شرایط خاص با احتیاط عمل میکنند.
به عنوان مثال، rm هنگام حذف فایل محافظتشده از کاربر تأیید میگیرد، اما با --force (-f) میتوان حذف را بدون پرسش انجام داد.
گزینه force به معنی «انجام همه کارها با بیشترین قدرت» نیست، بلکه یعنی «کمی کمتر محتاط باش». برای مثال، cp -f بررسیهای موجود برای فایلها را نادیده میگیرد اما فایل غیرقابل خواندن را کپی نمیکند.
–recursive برای ورود به زیرشاخهها
گزینه --recursive (-R) مشخص میکند که دستور وارد زیرشاخهها شود یا خیر. به عنوان مثال، ls به طور پیشفرض فقط فایلهای یک دایرکتوری را لیست میکند.
با -R محتویات زیرشاخهها را نیز نمایش میدهد.
این گزینه در دستورات متعددی مانند rm و grep کاربردی است. دستور rm -rf به شدت خطرناک است زیرا همه فایلها و دایرکتوریها را به صورت بازگشتی حذف میکند.
برای محدود کردن عمق بازگشت، دستور find با گزینه --maxdepth استفاده میشود.
–output برای مشخص کردن نام فایل جایگزین
برخی دستورات خروجی را به جای استاندارد خروجی، در فایل ذخیره میکنند و با --output (-o) میتوان نام فایل را تغییر داد. نمونه کلاسیک gcc است:
gcc -o myprog program.c
این دستور برنامه C را کامپایل و فایل اجرایی به نام myprog تولید میکند.
–quiet برای خروجی کمتر و –verbose برای خروجی بیشتر
گزینههای --quiet (-q) و --verbose (-v) میزان خروجی را کنترل میکنند و برای اسکریپتنویسی یا اشکالزدایی مفید هستند. grep با –quiet فقط وضعیت بله/خیر خروجی را بررسی میکند.
گزینه –verbose اطلاعات جزئیتر از پردازش را نمایش میدهد، مانند gcc که خطاها و هشدارهای کامپایل را نشان میدهد و curl که اطلاعات اتصال و هدرها را اضافه میکند.
نکته: -v ممکن است به عنوان کوتاهشده –version نیز استفاده شود، پس باید بدانید دستور شما از کدام پشتیبانی میکند.
–ignore-case برای نادیده گرفتن حروف بزرگ و کوچک
بسیاری از دستورات مطابقت الگو مانند grep و diff به طور پیشفرض حروف بزرگ و کوچک را متفاوت میدانند. با --ignore-case میتوان این تفاوت را نادیده گرفت.
گزینه مشابه در دستورات sort، uniq و locate نیز موجود است. بسیاری از گزینههای find نیز نسخههای حساس به حروف بزرگ و کوچک دارند، مانند -iname و -ipath.






















