فهرست عناوین
دستورات مهم و کاربردی لینوکس که باید بدانیم
در این مستند در ابتدا دستورات مهم و پرکاربرد لینوکس را به صورت مختصر و بدون توضیحات اضافه معرفی و سپس نکات و ترفندهای جذاب استفاده از ترمینال را ارائه میکنیم.
دستورات مهم و کاربردی لینوکس
دستور ls
مشاهده لیست فایلها و دایرکتوریها
مشاهده لیست همهی فایلها و دایرکتوریها (حتی فایلهای مخفی)
مشاهده فایلها و دایرکتوریها با جزئیات
دستور ll
نام مستعار (alias) برای ls -l است و به جای آن میتواند استفاده شود.
دستور cd
تغییر دایرکتوری
دستور pwd
مشاهده مسیر دایرکتوری جاری
دستور mkdir
ساخت دایرکتوری
دستور touch
ساخت فایل
دستور rm
حذف فایل
حذف فایل و فولدر
حذف فایل و فولدر بدون چون و چرا (استفاده از این دستور خطرناک است و پیشنهاد میشود فقط در صورت نیاز و با دقت بالا استفاده شود)
دستور cp
کپی فایل یا دایرکتوری
دستور mv
تغییر نام یا جابجایی یک فایل یا دایرکتوری
نقطه «.» به معنای مسیر جاری و «..» به معنای مسیر والد مسیر جاری میباشد.
دستور rsync
روش دیگری برای کپی اطلاعات که از جذابیت و کارایی بیشتری از cp برخوردار است.
دستور w
مشاهده آپ تایم سیستم، لود آن و یوزرهایی که به سیستم لاگین هستند.
دستور df
مشاهده وضعیت فایل سیستمها (h- برای قابل فهمتر شدن اندازهها استفاده میشود)
مشاهده وضعیت فایل سیستمها به همراه نوع فایل سیستم
دستور lsblk
مشاهده بلاک دیوایسها
دستور vi
ایجاد یک فایل متنی با استفاده از ویرایشگر قدرتمند vi
دستور cat
نمایش فایل متنی
دستور du
نمایش فضای دیسک استفاده شده توسط فایلها و دایرکتوریها در مسیر مورد نظر
مشاهده حجم فایلها و دایرکتوریها
دستور head
نمایش خطوط ابتدایی فایل (پیش فرض: ۱۰ خط)
نمایش ۴ خط ابتدای فایل
دستور tail
نمایش خطوط انتهایی فایل (پیش فرض: ۱۰ خط)
نمایش ۴ خط انتهایی فایل
چک کردن آنلاین آخرین لاگهای سیستم
دستور journalctl -f
چک کردن آنلاین آخرین لاگهای سیستم
دستور date
نمایش تاریخ
دستور hostname
نمایش نام هاست
دستور hostnamectl
نمایش نام host و انجام تنظیمات مربوطه
تغییر نام هاست
دستور whereis
پیدا کردن مسیر یک دستور (در این مثال دستور hostnamectl)
دستور grep
برای پیدا کردن یک متن یا رشته خاص در یک فایل یا دایرکتوری استفاده میشود.
در این مثال خطوطی را در فایل passwd پیدا میکند که در آنها root وجود داشته باشد.
نمایش فایلها و دایرکتوریهایی که در آنها di وجود دارد.
نمایش فایلها و دایرکتوریهایی که در آنها di (با حروف بزرگ یا کوچک) وجود دارد.
دستور uname
نمایش hostname، اطلاعات مربوط به کرنل و غیره
دستور history
نمایش دستورات اجرا شده
نمایش دستورات اجرا شده (که در آنها df وجود دارد).
دستور adduser
ساخت یوزر
دستور passwd
تنظیم پسورد برای یوزر
دستور su
تغییر یوزر جاری
دستور userdel
پاک کردن یوزر
پاک کردن یوزر به همراه فایل دایرکتوری home یوزر و محتویات آن
دستور ip
یکی از مهمترین ابزارهای مدیریت شبکه در لینوکس است که قابلیتهای بسیار زیادی از جمله، مانیتور و پیکربندی وضعیت کارتهای شبکه، آدرس IP، جدول مسیریابی و … را دارد.
مشاهده آدرسهای IP تنظیم شده روی سیستم.
تنظیم آدرس IP روی اینترفیس به صورت موقت.
دستور ping
تست ارتباط با یک نود در شبکه.
ping در لینوکس به صورت پیشفرض در خواستهای echoای که جوابی برای آنها نیامده را نشان نمیدهد، برای حل این مشکل از O- استفاده میکنیم.
اجرای دستور ping با دو درخواست echo
دستور ethtool
مشاهده وضعیت فیزیکی کارت شبکه از جمله اتصال یا عدم اتصال فیزیکی آن
دستور netstat
نمایش پورت های TCP که در حالت Listening قرار دارند به همراه پروسههای مربوطه
نمایش پورت های TCP و UDP که در حالت Listening قرار دارند به همراه پروسههای مربوطه.
نمایش پورت های TCP که در حالت Listening قرار دارند و همچنین سشنهای establish شده TCP به همراه پروسههای مربوطه.
دستور free
مشاهده وضعیت رم سیستم
دستور find
پیدا کردن فایلها یا دایرکتوریهایی که نام آنها test است.
پیدا کردن فایلها یا دایرکتوریهایی که ابتدای نام آنها test است.
پیدا کردن فایلها یا دایرکتوریهایی که در آنها test (با حروف بزرگ یا کوچک) وجود دارد.
دستور top
مشاهده لیست پروسههای فعال سیستم و مانیتور کردن سیستم با جزئیات بیشتر.
دستور lsof
مشاهدهی فایلهای باز، پورتهای شبکه، پروسههای فعال و غیره
مثال زیر فایلهای باز در مسیر مورد نظر را نشان میدهد.
دستور sudo
اجرای دستوراتی که نیاز به دسترسی root دارند در یک یوزر غیر root
دستور tar
آرشیو کردن و همچنین فشرده سازی فایلها.
در این مثال آرشیو کردن فایلها با استفاده از tar انجام شده است.
استخراج یا extract آرشیو
دستور chmod
تغییر مجوز فایلها و دایرکتوریها (در این مثال مجوز اجرا به فایل داده میشود).
دستور chown
تغییر مالکیت یک فایل
دستور sleep
مکث به مدت چند ثانیه (اینجا ۱۰۰۰ ثانیه) که در اسکریپتها استفاده میشود، البته اینجا برای تست استفاده شده.
اجرای یک پروسه در پس زمینه با استفاده از &
دستور ps
نمایش پروسههای فعال (که در اسم آنها sleep وجود دارد).
دستور pgrep
نمایش PID پروسههای در حال اجرا به روشهای متفاوت.
دستور kill
ارسال سیگنال kill به پروسه و بستن آن.
دستور wget
دانلود فایل
دستور man
راهنمای استفاده از دستورات (در اینجا مشاهده راهنمای wget).
دستور echo
انتقال دیتا به یک فایل یا نمایش متن در ترمینال.
$ برای نمایش متغیر به کار میرود (در اینجا متغیر USER).
دستور clear
پاک کردن ترمینال
دستور type
نمایش نوع دستور
نکات و ترفندهای استفاده از ترمینال
Tab
استفاده از کلید Tab برای تکمیل کامند و همچنین مسیر بسیار مفید است و استفاده از آن پیشنهاد میشود.
CTRL + R
اجرای دستورات اخیر به این صورت که Ctrl + R را فشار میدهیم و بعد قسمتی از دستور را مینویسیم، در این حالت آخرین دستور اجرا شده، که همه یا قسمتی از، متن نوشته شده در آن وجود دارد، نمایش داده میشود، اگر Ctrl + R را دفعات بعد بزنیم دستورات قبلتر را نمایش میدهد و زمانی که به دستور دلخواه رسیدیم کلید اینتر را میزنیم (قبل از زدن اینتر حتما دستور را چک میکنیم).
Ctrl+C و Ctrl+Z
برای متوقف کردن دستوری که در حال اجرا است به کار میرود.
Crtl+a
رفتن به ابتدای خط جاری
Ctrl+e
رفتن به انتهای خط جاری
“;”
برای اجرای چند دستور به صورت ترتیبی و پشت سر هم استفاده میشود.
&&
اجرای چند دستور به ترتیب در صورت موفق بودن اجرای دستور قبلی.
“|” Pipe
برای ارسال خروجی یک دستور به دستور دیگر استفاده میشود.
در این مثال خروجی cat به grep ارسال میشود.
Ctrl+S
برای freeze کردن ترمینال
Ctrl+Q
برای unfreeze کردن ترمینال.
Ctrl+D
Logout از یوزر جاری
nohup
هنگامی که خواسته باشیم دستور در حال اجرا با بسته شدن ترمینال یا logout یا قطع شدن ارتباط ما با سرور همچنان به اجرای خود ادامه دهد از nohup استفاده میکنیم. اجرای این دستور قبل از دستور اصلی خروجی دستور اصلی را به فایل nohup.out ارسال میکند. استفاده از این دستور در پیشزمینه ترمینال، با توجه به عدم امکان استفاده از ترمینال در زمان اجرای دستور، خیلی مفید نیست، به همین دلیل به همراه & در انتهای دستور برای ارسال دستور به پس زمینه استفاده میشود.