مرجع دستورات خط فرمان لینوکس

لینوکس

سلام :)

این صفحه مجموعه ای از پرکاربردترین دستورات لینوکس را جمع آوری کرده است. در صورتی که شما دستور پر کاربردی را می شناسید که در زیر نیامده است، آن را در قسمت نظرات ارائه کنید تا بعد از بررسی در لیست قرار گیرد.

در جدول زیر دستوراتی که دارای علامت • هستند بدون نیاز به تغییر قابلیت اجرا دارند و سایر دستورات نیاز به تغییر در پارامترها و … دارند.

دستور توضیح
ps aux
فهرست کردن فرایندهای در حال اجرا
top
مشاهده و مدیریت فرایندهای در حال اجرا
free
مشاهده اطلاعات حافظه رم (RAM) و فضای swap
apropos whatis
نمایش دستورات وابسته و مرتبط به صورت یک لیست
man -t man | ps2pdf - > man.pdf
ساخت یک صفحه با فرمت PDF از یک صفحه راهنما
which command
نمایش مسیر کامل دستور
whereis command
نمایش مسیر کامل دستور، فایل‌های مستندات man مرتبط با دستور و کد منبع آن در صورت وجود
whatis command
نمایش خلاصه‌ای از عملکرد و هدف یک دستور و دستورات مرتبط با آن
time command
نمایش مدت زمان گرفته شده برای اجرای یک دستور
time cat
استفاده از دستور time به عنوان کرونومتر. از Ctrl+d برای متوقف کردن کرونومتر استفاده کنید
nice info
اجرای یک دستور با اولویت کمتر. در اینجا دستور info
renice 19 -p $$
کمتر کردن اولویت اجرای یک برنامه (قبل از اجرا، راهنما دستور renice را با دستور man renice مطالعه کنید)
حرکت در دایرکتوری ها
cd -
رفتن به دایرکتوری قبلی
cd
رفتن به دایرکتوری خانه $HOME
cd dir && command
رفتن به دایرکتوری dir و اجرای دستور command
pushd .
قراردادن دایرکتوری فعلی در پشته. شما می توانید با دستور popd آخرین دایرکتوری را فرا بخوانید
اطلاعات دایرکتوری‌ها و فایل‌ها
pwd
نمایش مسیر جاری خط فرمان (دایرکتوری فعلی)
ls
لیست کردن سریع محتویات دایرکتوری
ls -lrt
لیست کردن سریع محتویات دایرکتوری بر اساس تاریخ
ls /usr/bin | pr -T9 -W$COLUMNS
نمایش محتویات /usr/bin در ۹ ستون
du -sh DIR_OR_FILE_PATH
مشاهده حجم دایرکتوری یا فایل DIR_OR_FILE_PATH
جستجو فایل
find -name '*.[ch]' | xargs grep -E 'expr'
جستجوی دایکتوری جاری و زیر شاخه های آن برای عبارت expr
find -type f -print0 | xargs -r0 grep -F 'example'
جستجوی تمامی فایل های دایرکتوری جاری و زیر شاخه های آن برای عبارت example
find -maxdepth 1 -type f | xargs grep -F 'example'
جستجوی دایکتوری فعالی برای عبارت example
find -maxdepth 1 -type d | while read dir; do echo $dir; echo cmd2; done
اجرای دستورات بر روی یافته ها در یک حلقه
find -type f ! -perm -444
نمایش فایل هایی که توسط کسی فایل دسترسی نیستند
find -type d ! -perm -111
نمایش دایرکتوری هایی که توسط کسی فایل دسترسی نیستند
locate -r 'file[^/]*\.txt'
جستجوی ایندکس کش شده از لیست فایل ها که حاوی عبارت file.txt باشد
look reference
جستجوی سریع لغات دیکشنری برای عبارت هایی که با reference شروع شده باشند.
grep --color reference /usr/share/dict/words
جستجوی کلمات دیکشنری که حاوی عبارت reference باشند و برجسته نشان دادن عبارت reference در آنها
بایگانی، فشرده سازی و رمزگذاری
gpg -c file
رمزگذاری بر روی file
gpg file.gpg
برداشتن رمز (سرگشایی) فایل file
tar -jcvf dir.tar.bz2 dir
ایجاد یک بایگانی فشرده شده از دایرکتوری dir با فرمت bz2
برای فشرده سازی با فرمت gzip پارامتر j را حذف کرده و پسوند فایل را به gz تغییر دهید.
tar -jxvf dir.tar.bz2
استخراج (extract) کردن بایگانی فشرده شده dir.tar.bz2
برای استخراج کردن فرمت gzip کافیست پارامتر j را حذف کنید و نام فایل gzip را جایگزین کنید.
ارتباط خطی امن ssh
ssh $USER@$HOST
ارتباط برقرار کردن ssh با نام کاربری $USER بر روی هاست $HOST
ssh $USER@$HOST command
ارتباط برقرار کردن ssh با نام کاربری $USER بر روی هاست $HOST و اجرای دستور command
ابزار دانلود wget
wget -c url
دانلود کردن url با قابلیت اتصال مجدد و ادامه دانلود بدون از دست رفتن اطلاعات
echo 'wget url' | at 01:00
شروع دانلود url در ساعت ۱ بامداد
wget --limit-rate=20k url
دانلود url با حداکثر سرعت ۲۰ کیلو بایت
wget url -k -c -r -p
دانلود تمام سایت به آدرس url با تمامی زیر مجموعه ها و تبدیل لینک ها بعد از دانلود
ابزار های networking
ifconfig eth0
نمایش اطلاعات ارتباط کابلی eth0
iwconfig wlan0
نمایش اطلاعات ارتباط بی سیم wlan0
iwlist scan
اسکن کردن شبکه های بی سیم در دسترس
ip link show
نمایش رابط های موجود شبکه مانند eth0 و wlan0
ip link set dev eth0 name myeth
تغییر نام رابط eth0 به myeth
ip link set dev eth0 up
فعال کردن ارتباط eth0
با استفاده از down به جای up، این ارتباط غیر فعال می شود
ip addr show
نمایش آدرس های فعال رابط های موجود
ip addr add 1.2.3.4/24 brd + dev eth0
تنظیم کردن آدرس eth0 به 1.2.3.4 و mask به 255.255.255.0
با استفاده از del به جای add می توانید آدرس را حذف کنید
ip route show
جدول لیست مسیر ها(routing)
ip route add default via 1.2.3.254
تنظیم کردن gateway بر روی 1.2.3.245
whois zebardast.ir
نمایش اطلاعات مسئول (whois) دامنه مشخص شده
netstat -tup
نمایش ارتباطات ورودی و خروجی سیستم بر روی شبکه

آخرین بروزرسانی: ۲۰ دی ۱۳۹۲

درباره سعید زبردست

من برنامه نویس Java و PHP هستم. در کنار برنامه نویسی اطلاعات خوبی در زمینه پایگاه ‌های داده بخصوص MySQL دارم. برای اطلاع بیشتر به صفحه درباره سعید زبردست مراجعه کنید.

یک دیدگاه 99 در “مرجع دستورات خط فرمان لینوکس

  1. با سلام و تشکر از شما
    آقای زبردست من دو تا سوال دارم
    ۱
    مسیر کامل دستور route برای استفاده در crontab چیه؟ مثل ifconfig که /sbin است.!؟
    ۲
    من از دستورات زیر استفاده کردم که روت به یه شبکه را قطع کند و بجاش به یه شبکه دیگه هدایت شه
    route del -net 192.168.65.0/24
    route add -net 192.168.65.0/24 gw 192.168.66.3
    ولی این کاررا برای تمام ipهای با مقصد ۶۵٫۰ انجام میده درصورتی که من میخوام فقط برای یکسری ip های خاص (مثلا آن هایی که از ۶۴٫۰ مثل ۶۴٫۳ می آید)که به ۶۵٫۰ پینگ میزنن فقط این کار رو کنه.با چه دستوری میتونم این کارو کنم؟ ممنونم

    1. سلام،

      برای فهمیدن آدرس کامل یک دستور، میتوونید از دستور whereis استفاده کنین:

      whereis route
      

      که برای من در OS X خروجی زیر رو نشون میده:

      /sbin/route
      

      لطفا در مورد سوال دومتون بیشتر توضیح بدید. اون دستور رو روی کدوم کامپیوتر دارید میزنید. آی پی اون چنده؟

  2. انگلیسی مینویسم ببخشید:
    mikham agar kasi az 192.168.64.3 be 192.168.65.3 ping zad in ping be 192.168.66.3 hedayat shavad va 66.3 az tarafe 66.5 reply konad. in karhara anjam dadam vali baraye tamame ip ha inkaro mikonad dar sorati k man mikham faqat bara ip 192.168.64.3 (va ya har ip khasi k man khastam in kar rakonad, chetor mitonam? )in karo konad. va in karha ra rooye router linuxi anjam dadam:
    route del -net 192.168.65.0/24
    route add -net 192.168.65.0/24 gw 192.168.66.3
    va hamchenin roye systeme 192.168.66.3 yek karte shabakeye majazi ba ip 192.168.65.3 tarif kardam k betavanad be ping haei k be 65.3 mizanand vali be 66.3 hedayat mishavad ra reply konad.
    mamnonam

  3. با سلام
    آقای زبردست ببخشید شما میدونید چطور با eclipse میتونم توی لینوکس دستورات مربوط به ترمینال رو اعمال کنم؟
    میخوام با زبان c درون eclipse یک سری ای پی را بصورت فایل تکست از ورودی بگیرم و تنظیمات شبکه ای رو ست کنم

    1. سلام،
      اگر سوالی داشتیم من میتونم کمکتون کنم ولی برای اینکه زودتر به جواب برسید میتونید قبلش سوالتون رو از طریق گوگل، جستجو ویا در انجمن های فارسی اوبونتو (http://forum.ubuntu.ir) مطرح کنین. مطالعه مطلب برای رسیدن سریع‌تر به جواب براتون مفیده:
      http://wiki.ubuntu-ir.org/SmartQuestions

  4. سلام من مبتدی هستم یه سری اطلاعات در مورد دستورات و برنامه نویسی لینوکس می خواستم مثلا اینکه هر دستوری چه کاربردی داره!
    و مهمتر اینکه هر دستور یکتا هستش؟ مثلا یک کد دستور العمل به زبان c++ داریم و همون کد به زبان پیتون وجود داره ؟؟؟؟؟؟؟؟؟؟؟

  5. اگه وقت داشتین ممنون میشم اگه جواب این سوالمو هم بدین:
    چطور با استفاده از استراکت stat وchmod مجوز اجرایی رو برای یک فایل خاموش کنیم درصورتی که قبلا این مجوز رو بهش داده باشیم
    ما با دستور stat میتونیم اطلاعاتی رو درباره فایل ببینیم،حالا اگه بخوایم یه برنامه ب زبان سی توی یونیکس بنویسیم ک همه اطلاعات دستورstat رو نشون بده،چطور این کارو میکنیم؟

  6. سلام،ببخشید من یه سوال دارم فوری دارم میشه جوابمو بدین
    اگه بخوایم سه تاپروسه ایجاد کنیم که پروسه اول دوتا پروسه ی دیگه رو ایجاد کنه باید چیکارکنیم؟یک پدر دوفرزند،میدونم که به وسیله تابع fork باید این کاروبکنم،و میدونم که این تابع برنامه رو دوقسمت میکنه پدرو فرزند،اما forkپدر و یک فرزند ایجاد میکنه ،دوتا فرزند چطور میشه؟تواینترنت خیلی سرچ کردم ولی به نتیجه نرسیدم
    لطف میکنید اگه جواب سوالمو میدونین بهم بگین؟؟!!

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

شما می‌توانید از این دستورات HTML استفاده کنید: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>