50 دستورات مهم لینوکس + دستورات ترمینال لینوکس و اوبونتو

پرکاربردترین دستورات لینوکس
Picture of کسری حاتمی
کسری حاتمی

طراح و توسعه دهنده وب - 7 سال سابقه طراحی سایت و سئوی انواع سایت

لینوکس به عنوان یکی از محبوب‌ترین سیستم‌عامل‌های متن‌باز، در دنیای سرورها، توسعه نرم‌افزار و مدیریت سیستم‌های کامپیوتری نقش اساسی دارد. اگرچه لینوکس محیطی قدرتمند و انعطاف‌پذیر است، اما برای کار با آن، آشنایی با دستورات لینوکس امری ضروری است. این دستورات به کاربران امکان مدیریت فایل‌ها، اجرای برنامه‌ها، پیکربندی شبکه و کنترل سیستم را می‌دهند.

در این مقاله، 50 دستور مهم لینوکس را معرفی می‌کنیم که برای هر کاربر، از مبتدی تا حرفه‌ای، کاربردی خواهد بود. در کنار آن، نحوه کار با دستورات ترمینال لینوکس و همچنین دستورات مخصوص لینوکس اوبونتو و سنتوس را بررسی خواهیم کرد. اگر قصد دارید مهارت‌های خود را در استفاده از لینوکس ارتقا دهید یا به دنبال یک راهنمای جامع برای آموزش دستورات لینوکس هستید، این مقاله برای شما مناسب است.

فهرست محتوا

دستورات پایه لینوکس

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

دستور ls

دستور ls (مخفف list) یکی از پراستفاده‌ترین دستورات در لینوکس است که فهرست فایل‌ها و پوشه‌ها را نمایش می‌دهد. این دستور گزینه‌های متنوعی دارد که به شما امکان می‌دهد اطلاعات بیشتری درباره فایل‌ها به دست آورید:

  • ls: لیست ساده فایل‌ها و پوشه‌های موجود
  • ls -l: نمایش اطلاعات تفصیلی شامل مجوزها، مالک، گروه، اندازه و زمان اصلاح فایل‌ها
  • ls -a: نمایش تمام فایل‌ها، شامل فایل‌های مخفی (نام‌شان با نقطه شروع می‌شود)
  • ls -la: ترکیبی از دو حالت بالا ls -lh: نمایش اندازه فایل‌ها به صورت خوانا برای انسان (KB، MB، GB) 
  • ls -lt: مرتب‌سازی فایل‌ها بر اساس زمان اصلاح (جدیدترین‌ها اول)
  • ls -R: لیست بازگشتی تمام فایل‌ها در زیرپوشه‌ها

دستور cd

دستور cd (مخفف change directory) برای تغییر مسیر فعلی در ترمینال استفاده می‌شود. با این دستور می‌توانید به راحتی بین پوشه‌های مختلف جابجا شوید:

  • cd /path/to/directory: رفتن به مسیر مشخص
  • cd ~: رفتن به دایرکتوری خانه کاربر جاری
  • cd ..: بازگشت به یک سطح بالاتر
  • cd -: بازگشت به دایرکتوری قبلی
  • cd /: رفتن به ریشه سیستم فایل

یک نکته مهم: اگر مسیر شامل فاصله باشد، باید آن را در گیومه قرار دهید یا قبل از فاصله از کاراکتر \ استفاده کنید:

cd “My Documents” cd My\ Documents

دستور pwd

دستور pwd (مخفف print working directory) مسیر کامل دایرکتوری فعلی را نمایش می‌دهد. این دستور برای زمانی که گم شده‌اید یا می‌خواهید مطمئن شوید در مسیر درست هستید، بسیار مفید است:

pwd: نمایش مسیر کامل دایرکتوری فعلی

دستور cat

دستور cat (مخفف concatenate) برای نمایش محتوای فایل‌ها، ایجاد فایل‌های جدید یا الحاق فایل‌ها استفاده می‌شود:

  • cat file.txt: نمایش محتوای فایل
  • cat file1.txt file2.txt: نمایش محتوای چند فایل پشت سر هم
  • cat file1.txt file2.txt > combined.txt: ترکیب چند فایل و ذخیره در فایل جدید
  • cat > newfile.txt: ایجاد فایل جدید (برای پایان ورودی Ctrl+D را فشار دهید)
  • cat >> file.txt: اضافه کردن متن به انتهای فایل موجود

دستور touch

دستور touch برای ایجاد فایل‌های خالی یا به‌روزرسانی زمان دسترسی و اصلاح فایل‌های موجود استفاده می‌شود:

  • touch file.txt: ایجاد فایل خالی یا به‌روزرسانی زمان فایل موجود
  • touch file1.txt file2.txt file3.txt: ایجاد چندین فایل همزمان
  • touch -a file.txt: فقط زمان دسترسی را به‌روز می‌کند
  • touch -m file.txt: فقط زمان اصلاح را به‌روز می‌کند
  • touch -t 202101010000 file.txt: تنظیم زمان مشخص برای فایل (سال، ماه، روز، ساعت، دقیقه)

دستور mkdir

دستور mkdir (مخفف make directory) برای ایجاد پوشه‌های جدید استفاده می‌شود:

  • mkdir folder: ایجاد پوشه جدید
  • mkdir folder1 folder2 folder3: ایجاد چندین پوشه همزمان
  • mkdir -p parent/child/grandchild: ایجاد ساختار پوشه‌های تو در تو (والد/فرزند)

دستور mv

دستور mv (مخفف move) برای انتقال یا تغییر نام فایل‌ها و پوشه‌ها استفاده می‌شود:

  • mv file.txt /path/to/destination/: انتقال فایل به مسیر دیگر
  • mv file.txt newname.txt: تغییر نام فایل
  • mv file.txt folder/: انتقال فایل به درون پوشه
  • mv folder1/ folder2/: انتقال یا ادغام پوشه‌ها
  • mv -i file.txt destination/: انتقال با درخواست تایید قبل از بازنویسی فایل‌های موجود

دستور cp

دستور cp (مخفف copy) برای کپی فایل‌ها و پوشه‌ها به کار می‌رود:

  • cp file.txt copy.txt: کپی فایل با نام جدید
  • cp file.txt /path/to/destination/: کپی فایل به مسیر دیگر
  • cp -r folder/ folder_backup/: کپی پوشه و تمام محتویات آن (بازگشتی)
  • cp -i file.txt destination/: کپی با درخواست تایید قبل از بازنویسی فایل‌های موجود
  • cp -p file.txt copy.txt: حفظ مالکیت، مجوزها و زمان‌بندی فایل اصلی

دستور rm و rmdir

این دستورات برای حذف فایل‌ها و پوشه‌ها استفاده می‌شوند:

  • rm file.txt: حذف فایل
  • rm -i file.txt: حذف با درخواست تایید
  • rm -f file.txt: حذف اجباری بدون درخواست تایید
  • rm -r folder/: حذف پوشه و تمام محتویات آن
  • rm -rf folder/: حذف اجباری و بازگشتی پوشه و محتویات آن (خطرناک!)
  • rmdir folder/: حذف پوشه خالی

دستور less و more

این دستورات برای مشاهده محتوای فایل‌های بزرگ صفحه به صفحه استفاده می‌شوند:

  • less file.txt: نمایش محتوای فایل با امکان اسکرول و جستجو
  • more file.txt: نمایش محتوای فایل صفحه به صفحه

در less، می‌توانید از کلیدهای q برای خروج، / برای جستجو، n برای یافتن بعدی و Space برای صفحه بعدی استفاده کنید.

هشدار: استفاده از rm -rf بسیار خطرناک است و می‌تواند به حذف غیرقابل بازگشت داده‌ها منجر شود. همیشه با احتیاط از آن استفاده کنید و هرگز آن را با مسیر / یا با متغیرهای تنظیم نشده به کار نبرید.

دستور head و tail

این دستورات برای مشاهده ابتدا یا انتهای فایل‌ها به کار می‌روند:

  • head file.txt: نمایش 10 خط اول فایل
  • head -n 20 file.txt: نمایش 20 خط اول فایل
  • tail file.txt: نمایش 10 خط آخر فایل
  • tail -n 15 file.txt: نمایش 15 خط آخر فایل
  • tail -f log.txt: نمایش انتهای فایل و مشاهده تغییرات در زمان واقعی (مفید برای بررسی فایل‌های لاگ)

دستورات کاربردی لینوکس پیشرفته

پس از آشنایی با دستورات لینکوس پایه نوبت به یادگیری دستورات پیشرفته‌تر می‌رسد. این دستورات قدرت و انعطاف‌پذیری بیشتری به کاربران می‌دهند.

دستور grep

grep یکی از قدرتمندترین ابزارهای جستجو در لینوکس است که برای یافتن الگوهای متنی در فایل‌ها استفاده می‌شود:

  • grep “pattern” file.txt: جستجوی الگو در فایل
  • grep “pattern” file1.txt file2.txt: جستجو در چندین فایل
  • grep -i “pattern” file.txt: جستجوی بدون حساسیت به بزرگی و کوچکی حروف
  • grep -r “pattern” directory/: جستجوی بازگشتی در تمام فایل‌های درون پوشه
  • grep -v “pattern” file.txt: نمایش خطوطی که با الگو مطابقت ندارند (معکوس)
  • grep -n “pattern” file.txt: نمایش شماره خط نتایج
  • grep -c “pattern” file.txt: شمارش تعداد خطوط مطابق با الگو
  • grep -E “pattern1|pattern2” file.txt: جستجوی چندین الگو (عبارت منظم توسعه‌یافته)

دستور awk

awk یک زبان برنامه‌نویسی قدرتمند برای پردازش و تحلیل داده‌های متنی است:

  • awk ‘{print $1}’ file.txt: نمایش ستون اول هر خط
  • awk ‘{print $1,$3}’ file.txt: نمایش ستون اول و سوم هر خط
  • awk ‘/pattern/ {print $2}’ file.txt: نمایش ستون دوم خطوطی که با الگو مطابقت دارند
  • awk ‘{sum+=$1} END {print sum}’ file.txt: محاسبه مجموع مقادیر ستون اول
  • awk ‘NR>1’ file.txt: نمایش تمام خطوط به جز خط اول
  • awk ‘length($0) > 80’ file.txt: نمایش خطوط طولانی‌تر از 80 کاراکتر

دستور sed

  • sed (مخفف stream editor) یک ویرایشگر متنی قدرتمند برای پردازش و دستکاری فایل‌های متنی است:
  • sed ‘s/old/new/’ file.txt: جایگزینی اولین رخداد “old” با “new” در هر خط
  • sed ‘s/old/new/g’ file.txt: جایگزینی همه رخدادهای old با new
  • sed ‘1,5s/old/new/g’ file.txt: جایگزینی فقط در خطوط 1 تا 5
  • sed ‘/pattern/d’ file.txt: حذف خطوطی که با الگو مطابقت دارند
  • sed -i ‘s/old/new/g’ file.txt: ویرایش مستقیم فایل (به جای نمایش در خروجی استاندارد)
  • sed -i.bak ‘s/old/new/g’ file.txt: ویرایش فایل با ایجاد نسخه پشتیبان

دستور sort

دستور sort برای مرتب‌سازی خطوط فایل‌های متنی استفاده می‌شود:

  • sort file.txt: مرتب‌سازی الفبایی ساده
  • sort -r file.txt: مرتب‌سازی معکوس
  • sort -n file.txt: مرتب‌سازی عددی
  • sort -k 2 file.txt: مرتب‌سازی بر اساس ستون دوم
  • sort -u file.txt: مرتب‌سازی و حذف خطوط تکراری

دستور echo

دستور echo برای نمایش متن یا مقادیر متغیرها در ترمینال استفاده می‌شود:

  • echo “Hello World”: نمایش متن ساده
  • echo $HOME: نمایش مقدار متغیر محیطی
  • HOME echo -e “Line 1\nLine 2”: استفاده از کاراکترهای کنترلی (مانند خط جدید)
  • echo “Text” > file.txt: نوشتن متن در فایل (بازنویسی)
  • echo “Text” >> file.txt: اضافه کردن متن به انتهای فایل

دستور man

دستور man (مخفف manual) راهنمای دستورات لینوکس را نمایش می‌دهد:

  • man command: نمایش راهنمای دستور مشخص
  • man -k keyword: جستجوی کلمه کلیدی در تمام صفحات راهنما
  • man -f command: نمایش توضیح کوتاه درباره دستور
  • man section command: نمایش راهنما از بخش مشخص (مثلا man 5 passwd برای فرمت فایل passwd)

دستور chmod

دستور chmod برای تغییر مجوزهای فایل‌ها و پوشه‌ها استفاده می‌شود:

  • chmod 755 file: تنظیم مجوز
  • (rwxr-xr-x) chmod +x file: اضافه کردن مجوز اجرا برای همه کاربران
  • chmod -w file: حذف مجوز نوشتن برای همه کاربران
  • chmod u+rwx,g+rx,o-w file: تنظیم مجوزهای متفاوت برای مالک، گروه و سایرین
  • chmod -R 755 folder/: تغییر مجوزها به صورت بازگشتی

دستور chown

دستور chown برای تغییر مالک و گروه فایل‌ها و پوشه‌ها استفاده می‌شود:

  • chown user file: تغییر مالک فایل
  • chown user:group file: تغییر مالک و گروه فایل
  • chown -R user:group folder/: تغییر مالکیت به صورت بازگشتی

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

ترمینال لینوکس پر از ترفندها و میانبرهایی است که می‌تواند بهره‌وری شما را به شدت افزایش دهد.

کلیدهای میانبر مفید

  •  Ctrl+C: توقف برنامه در حال اجرا
  • Ctrl+Z: انتقال برنامه به پس‌زمینه
  • Ctrl+D: خروج از شل فعلی یا پایان ورودی
  • Ctrl+L: پاک کردن صفحه
  • Ctrl+R: جستجوی بازگشتی در تاریخچه دستورات
  • Ctrl+A: رفتن به ابتدای خط Ctrl+E: رفتن به انتهای خط
  • Ctrl+U: حذف متن از موقعیت مکان‌نما تا ابتدای خط
  • Ctrl+K: حذف متن از موقعیت مکان‌نما تا انتهای خط
  • Ctrl+W: حذف کلمه قبل از مکان‌نما Tab: تکمیل خودکار دستورات و مسیرها
  • !!: تکرار آخرین دستور
  • !string: تکرار آخرین دستوری که با “string” شروع می‌شود
  • !number: تکرار دستور شماره “number” در تاریخچه

مدیریت کارها (jobs)

  • jobs: نمایش لیست برنامه‌های در حال اجرا در پس‌زمینه
  • fg: آوردن کار به پیش‌زمینه bg: ادامه اجرای کار در پس‌زمینه
  • fg %n: آوردن کار شماره n به پیش‌زمینه
  • kill %n: پایان دادن به کار شماره n

تغییر مسیر خروجی و ورودی

  • command > file.txt: هدایت خروجی به فایل (بازنویسی)
  • command >> file.txt: هدایت خروجی به انتهای فایل (اضافه کردن)
  • command < file.txt: استفاده از فایل به عنوان ورودی
  • command 2> error.log: هدایت خروجی خطا به فایل
  • command > file.txt 2>&1: هدایت خروجی استاندارد و خطا به فایل
  • command1 | command2: استفاده از خروجی دستور اول به عنوان ورودی دستور دوم (pipe)

ویرایشگرهای متنی

  • nano file.txt: ویرایشگر ساده و کاربر پسند (مناسب مبتدیان)
  • vi file.txt: ویرایشگر سنتی یونیکس (نیاز به یادگیری کلیدهای خاص)
  • vim file.txt: نسخه بهبود یافته vi (قدرتمندتر)

نکات مهم برای کار با vim

  • برای ورود به حالت ویرایش: i
  • برای خروج از حالت ویرایش: Esc
  • برای ذخیره و خروج: :wq
  • برای خروج بدون ذخیره: :q!

دستور alias

  • alias دستوری برای ایجاد میانبر برای دستورات طولانی یا پیچیده است:

    • alias l=’ls -la’: تعریف میانبر l برای اجرای ls -la
    • alias update=’sudo apt-get update && sudo apt-get upgrade: تعریف میانبر update برای به‌روزرسانی سیستم

    برای ذخیره دائمی alias‌ها، آنها را به فایل ~/.bashrc یا ~/.bash_aliases اضافه کنید.

دستورات لینوکس ابونتو و سنتوس

توزیع‌های مختلف لینوکس از سیستم‌های مدیریت بسته متفاوتی استفاده می‌کنند. در این بخش، دستورات مخصوص ابونتو و سنتوس را بررسی می‌کنیم.

دستورات لینوکس ابونتو

در این قسمت، دستورات لینوکس اوبونتو (یا به عبارت دقیق‌تر دستورات لینوکس ubuntu) را بررسی می‌کنیم. ابونتو از سیستم مدیریت بسته APT استفاده می‌کند:

  • sudo apt update: به‌روزرسانی لیست مخازن
  •  sudo apt upgrade: به‌روزرسانی تمام بسته‌های نصب شده
  • sudo apt full-upgrade: ارتقای نسخه توزیع
  • sudo apt install package: نصب بسته جدید
  • sudo apt remove package: حذف بسته
  • sudo apt purge package: حذف بسته و فایل‌های پیکربندی آن
  • sudo apt autoremove: حذف بسته‌های غیرضروری
  • sudo apt search keyword: جستجوی بسته
  • apt list –installed: نمایش بسته‌های نصب شده
  • apt show package: نمایش اطلاعات بسته

توجه: در نسخه‌های قدیمی‌تر ابونتو، از دستورات apt-get و apt-cache استفاده می‌شد که همچنان پشتیبانی می‌شوند.

دستورات مدیریت سرویس در ابونتو

ابونتو از systemd برای مدیریت سرویس‌ها استفاده می‌کند:

  • sudo systemctl start service: شروع سرویس
  • sudo systemctl stop service: توقف سرویس
  • sudo systemctl restart service: راه‌اندازی مجدد سرویس
  • sudo systemctl enable service: فعال کردن سرویس در زمان بوت
  • sudo systemctl disable service: غیرفعال کردن سرویس در زمان بوت
  • sudo systemctl status service: نمایش وضعیت سرویس

دستورات لینوکس سنتوس

در این قسمت، دستورات لینوکس CentOS (یا دستورات لینوکس centos) را مشاهده خواهید کرد. سنتوس از سیستم مدیریت بسته YUM و DNF استفاده می‌کند:

  • sudo yum update: به‌روزرسانی تمام بسته‌ها
  • sudo yum install package: نصب بسته جدید
  • sudo yum remove package: حذف بسته
  • sudo yum search keyword: جستجوی بسته
  • yum list installed: نمایش بسته‌های نصب شده
  • yum info package: نمایش اطلاعات بسته
  • sudo yum groupinstall “group name”: نصب گروهی از بسته‌ها

در سنتوس 8 و نسخه‌های جدیدتر، DNF جایگزین YUM شده است و دستورات مشابهی دارد:

sudo dnf update sudo dnf install package sudo dnf remove package

دستورات مدیریت سرویس در سنتوس

سنتوس 7 و نسخه‌های جدیدتر از systemd استفاده می‌کنند (مشابه ابونتو):

sudo systemctl start service sudo systemctl stop service sudo systemctl restart service

در سنتوس 6 و قدیمی‌تر، از دستورات service و chkconfig استفاده می‌شود:

sudo service service_name start sudo service service_name stop sudo chkconfig service_name on

آموزش iptables در لینوکس

iptables یک فایروال قدرتمند و انعطاف‌پذیر در لینوکس است که به عنوان واسط برای هسته netfilter عمل می‌کند. این ابزار به مدیران سیستم اجازه می‌دهد ترافیک شبکه را کنترل کنند و امنیت سرور را افزایش دهند.

iptables از جداول (tables)، زنجیره‌ها (chains) و قوانین (rules) برای مدیریت بسته‌های شبکه استفاده می‌کند. هر قانون شامل یک شرط و یک عمل است که تعیین می‌کند با بسته‌های مطابق با آن شرط چه کاری انجام شود.

دستورات پایه‌ای iptables

  • sudo iptables -L: نمایش تمام قوانین فعلی
  • sudo iptables -L -v: نمایش قوانین با جزئیات بیشتر
  • sudo iptables -F: پاک کردن تمام قوانین موجود

قوانین پایه‌ای

  • sudo iptables -A INPUT -p tcp –dport 22 -j ACCEPT: اجازه دسترسی به پورت
  • SSH sudo iptables -A INPUT -p tcp –dport 80 -j ACCEPT: اجازه دسترسی به پورت
  • HTTP sudo iptables -A INPUT -p tcp –dport 443 -j ACCEPT: اجازه دسترسی به پورت
  • HTTPS sudo iptables -A INPUT -i lo -j ACCEPT: اجازه به ترافیک
  • loopback sudo iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT: اجازه به اتصالات برقرار شده و مرتبط
  • sudo iptables -P INPUT DROP: سیاست پیش‌فرض DROP برای زنجیره
  • INPUT sudo iptables -A INPUT -j DROP: مسدود کردن تمام ترافیک ورودی که با قوانین قبلی مطابقت ندارد

ذخیره و بازیابی قوانین

  • sudo iptables-save > /etc/iptables.rules: ذخیره قوانین فعلی در فایل
  • sudo iptables-restore < /etc/iptables.rules: بازیابی قوانین از فایل

برای ذخیره دائمی قوانین در ابونتو، می‌توانید از بسته iptables-persistent استفاده کنید:

sudo apt install iptables-persistent sudo netfilter-persistent save

قوانین پیشرفته‌تر

  • sudo iptables -A INPUT -s IP_ADDRESS -j DROP: مسدود کردن IP مشخص
  • sudo iptables -A INPUT -p tcp –dport 22 -s IP_ADDRESS -j ACCEPT: اجازه SSH فقط از IP مشخص
  • sudo iptables -A INPUT -p icmp –icmp-type echo-request -j ACCEPT: اجازه به ping

دستورات مدیریت سیستم و به‌روزرسانی

دستور sudo

sudo (مخفف “superuser do”) به کاربران اجازه می‌دهد دستورات را با دسترسی مدیر سیستم اجرا کنند:

  • sudo command: اجرای دستور با دسترسی مدیر
  • sudo -i: ورود به پوسته با دسترسی مدیر
  • sudo -s: ورود به پوسته با دسترسی مدیر (با حفظ متغیرهای محیطی کاربر)
  • sudo -u username command: اجرای دستور با دسترسی کاربر مشخص sudo -l: نمایش دستوراتی که کاربر می‌تواند با sudo اجرا کند

دستور systemctl

systemctl ابزار اصلی مدیریت systemd است که برای کنترل سیستم و سرویس‌ها استفاده می‌شود:

  • systemctl start service: شروع سرویس
  • systemctl stop service: توقف سرویس
  • systemctl restart service: راه‌اندازی مجدد سرویس
  • systemctl reload service: بارگیری مجدد فایل پیکربندی بدون راه‌اندازی مجدد
  • systemctl status service: نمایش وضعیت سرویس
  • systemctl enable service: فعال کردن سرویس در زمان بوت
  • systemctl disable service: غیرفعال کردن سرویس در زمان بوت
  • systemctl is-active service: بررسی فعال بودن سرویس
  • systemctl list-units –type=service: نمایش تمام سرویس‌های فعال

دستورات مربوط به کاربران و گروه‌ها

  • useradd username: ایجاد کاربر جدید
  • userdel username: حذف کاربر
  • usermod -option username: تغییر مشخصات کاربر
  • passwd username: تغییر رمز عبور کاربر
  • groupadd groupname: ایجاد گروه جدید
  • groupdel groupname: حذف گروه
  • usermod -aG groupname username: اضافه کردن کاربر به گروه
  • id username: نمایش اطلاعات شناسه کاربر و گروه‌های او

دستورات مدیریت پردازش‌ها

  • ps: نمایش پردازش‌های فعلی
  • ps aux: نمایش تمام پردازش‌های در حال اجرا با جزئیات
  • top: نمایش پردازش‌ها به صورت زنده و مرتب شده بر اساس مصرف
  • CPU htop: نسخه بهبود یافته top با رابط کاربری بهتر
  • kill PID: ارسال سیگنال خاتمه به پردازش با شناسه
  • PID kill -9 PID: خاتمه اجباری پردازش
  • pgrep pattern: یافتن شناسه پردازش‌های مطابق با الگو
  • pkill pattern: خاتمه پردازش‌های مطابق با الگو

دستورات شبکه در لینوکس: بررسی دستورات شبکه

دستور netstat

  • netstat اطلاعات اتصالات شبکه، جداول مسیریابی و رابط‌های شبکه را نمایش می‌دهد:
  • netstat -tln: نمایش تمام پورت‌های TCP در حال گوش دادن
  • netstat -uln: نمایش تمام پورت‌های UDP در حال گوش دادن
  • netstat -tuln: نمایش تمام پورت‌های TCP و UDP در حال گوش دادن
  • netstat -plant: نمایش تمام اتصالات TCP فعال همراه با نام برنامه 
  • PID netstat -r: نمایش جدول مسیریابی

توجه: در بسیاری از توزیع‌های جدید لینوکس، netstat در حال منسوخ شدن است و به جای آن از دستورات ss و ip استفاده می‌شود.

دستور ss

ss جایگزین جدیدتر و سریع‌تر برای netstat است:

  • ss -tln: نمایش پورت‌های TCP در حال گوش دادن
  • ss -tuln: نمایش تمام پورت‌های TCP و UDP در حال گوش دادن
  • ss -plant: نمایش اتصالات فعال با نام برنامه و PID

دستور ifconfig

ifconfig برای پیکربندی و نمایش اطلاعات رابط‌های شبکه استفاده می‌شود، اما در توزیع‌های جدید، دستور ip جایگزین آن شده است:

  • ifconfig: نمایش تمام رابط‌های شبکه
  • ifconfig eth0 up/down: فعال/غیرفعال کردن رابط
  • ifconfig eth0 192.168.1.100 netmask 255.255.255.0: تنظیم آدرس IP

دستورات معادل با ip

  • ip a: نمایش تمام رابط‌های شبکه و آدرس‌های
  • IP ip link set eth0 up/down: فعال/غیرفعال کردن رابط
  • ip addr add 192.168.1.100/24 dev eth0: تنظیم آدرس
  • IP ip route: نمایش جدول مسیریابی
  • ip route add default via 192.168.1.1: تنظیم gateway پیش‌فرض

دستور ping

ping برای بررسی اتصال به یک هاست یا سرور استفاده می‌شود:

  • ping hostname: ارسال بسته ICMP به هاست مشخص
  • ping -c 5 hostname: ارسال 5 بسته و سپس توقف
  • ping -i 2 hostname: ارسال بسته هر 2 ثانیه

دستور traceroute و tracepath

این دستورات مسیر بسته‌های شبکه به سمت یک هاست را نمایش می‌دهند:

  • traceroute hostname: نمایش مسیر به سمت هاست
  • tracepath hostname: نسخه ساده‌تر که نیاز به دسترسی مدیر ندارد

دستور nslookup و dig

این دستورات برای جستجوی DNS استفاده می‌شوند:

  • nslookup domain.com: نمایش رکوردهای DNS یک دامنه
  • dig domain.com: ابزار پیشرفته‌تر برای جستجوی
  • DNS host domain.com: نمایش آدرس IP مرتبط با دامنه

دستور ssh

ssh (Secure Shell) برای اتصال ایمن به سرورهای از راه دور استفاده می‌شود:

  • ssh username@hostname: اتصال به سرور
  • ssh -p 2222 username@hostname: اتصال با پورت مشخص
  • ssh -i key.pem username@hostname: اتصال با کلید خصوصی

دستورات مرتبط با ssh:

  • scp file.txt username@hostname:/path/to/destination/: کپی امن یک فایل به سرور از راه دور
  • scp -r folder/ username@hostname:/path/: کپی امن یک پوشه و تمام محتویات آن به سرور
  • sftp username@hostname: انتقال فایل با پروتکل
  • SFTP ssh-keygen: ایجاد جفت کلید عمومی و خصوصی
  • ssh-copy-id username@hostname: کپی کلید عمومی به سرور برای اتصال بدون رمز عبور

دستورات مدیریت فایل و دایرکتوری

دستور tar

tar برای آرشیو و فشرده‌سازی فایل‌ها استفاده می‌شود:

  • tar -cvf archive.tar folder/: ایجاد آرشیو از پوشه
  • tar -xvf archive.tar: استخراج آرشیو
  • tar -czvf archive.tar.gz folder/: ایجاد آرشیو فشرده با gzip
    tar -xzvf archive.tar.gz: استخراج آرشیو فشرده
  • gzip tar -cjvf archive.tar.bz2 folder/: ایجاد آرشیو فشرده با bzip2 (فشرده‌سازی بهتر)
  • tar -xjvf archive.tar.bz2: استخراج آرشیو فشرده
  • bzip2 tar -tvf archive.tar: نمایش محتویات آرشیو بدون استخراج

راهنمای گزینه‌های tar:

  • c: ایجاد آرشیو جدید
  • x: استخراج آرشیو
  • t: نمایش محتویات آرشیو
  • v: نمایش فایل‌ها در حین عملیات (verbose)
  • f: مشخص کردن نام فایل آرشیو
  • z: استفاده از فشرده‌سازی gzip
  • j: استفاده از فشرده‌سازی bzip2

دستور mount

mount برای نصب سیستم‌های فایل (اتصال آنها به درخت سیستم فایل) استفاده می‌شود:

  • mount /dev/sdb1 /mnt: نصب پارتیشن در مسیر
  • /mnt mount -t type device dir: نصب سیستم فایل با نوع مشخص
  • mount -t ntfs /dev/sdb1 /mnt/windows: نصب یک پارتیشن NTFS در مسیر مشخص
  • mount -o options device dir: نصب با گزینه‌های خاص (-o options)
  • /etc/fstab: نصب تمام سیستم‌های فایل ذکر شده
  • Umount: جدا کردن سیستم فایل نصب شده

دستور df و du

این دستورات برای بررسی فضای دیسک استفاده می‌شوند:

  • df -h: نمایش فضای خالی و استفاده شده دیسک‌ها با واحدهای خوانا
  • df -i: نمایش اطلاعات
  • inode du -h file/folder: نمایش فضای استفاده شده توسط فایل یا پوشه
  • du -sh folder/*: نمایش فضای استفاده شده توسط هر عنصر درون پوشه
  • du -h –max-depth=1 /: نمایش فضای استفاده شده توسط پوشه‌های سطح اول

دستور ln

ln برای ایجاد پیوندهای (لینک‌های) سخت و نمادین استفاده می‌شود:

  • ln -s target link_name: ایجاد پیوند نمادین
  • ln target link_name: ایجاد پیوند سخت

جمع‌بندی

در این مقاله جامع، ما 50 دستور مهم و کاربردی لینوکس را بررسی کردیم. از دستورات پایه مانند ls و cd گرفته تا دستورات پیشرفته‌تر مانند grep، awk و iptables، آشنایی با این دستورات به شما کمک می‌کند تا با اطمینان بیشتری با سیستم‌های لینوکسی کار کنید. به یاد داشته باشید که یادگیری دستورات ترمینال لینوکس یک فرآیند مداوم است. هر چه بیشتر از این دستورات استفاده کنید، مهارت شما در کار با ترمینال افزایش می‌یابد. برای کمک بیشتر، همیشه می‌توانید از دستور man استفاده کنید تا به راهنمای هر دستور دسترسی داشته باشید. اگر به دنبال میزبانی مطمئن برای پروژه‌های لینوکسی خود هستید، هاست لینوکس ما با پشتیبانی 24/7، امنیت بالا و قیمت مناسب گزینه عالی برای شماست.

سوالات متداول

آیا می‌توانم دستورات لینوکس را در ویندوز اجرا کنم؟

بله، روش‌های مختلفی برای این کار وجود دارد. می‌توانید از WSL (Windows Subsystem for Linux)، Git Bash، Cygwin یا ماشین‌های مجازی استفاده کنید. WSL به شما امکان می‌دهد توزیع‌های کامل لینوکس را درون ویندوز اجرا کنید.

بهترین راه برای یادگیری، تمرین مداوم است. با یک پروژه ساده شروع کنید و تلاش کنید تمام کارها را از طریق ترمینال انجام دهید. همچنین می‌توانید از منابع آنلاین، دوره‌های آموزشی و کتاب‌ها استفاده کنید.

دستوراتی مانند rm -rf، mkfs، dd و دستوراتی که مستقیما با پارتیشن‌ها کار می‌کنند، پتانسیل آسیب‌رسانی جدی دارند. همیشه قبل از اجرای این دستورات، مطمئن شوید که دقیقا می‌دانید چه کاری انجام می‌دهید و اگر امکان دارد، از روی سیستم‌های حیاتی آنها را اجرا نکنید.

شل‌های مختلف تفاوت‌های ظریفی در نحو دستورات، قابلیت‌ها و ویژگی‌ها دارند. Bash (Bourne Again SHell) رایج‌ترین شل در بیشتر توزیع‌های لینوکس است. Zsh امکانات پیشرفته‌تری مانند تکمیل هوشمندتر و تم‌های قابل تنظیم دارد. Sh (Bourne Shell) شل اصلی و پایه یونیکس است که سازگاری بیشتری دارد اما امکانات کمتری ارائه می‌دهد.

روش‌های مختلفی وجود دارد: می‌توانید دستورات را در فایل /etc/rc.local (در بعضی توزیع‌ها)، ایجاد یک سرویس systemd، استفاده از crontab با @reboot یا اضافه کردن به startup applications اضافه کنید.

برخلاف سطل بازیافت در سیستم‌های گرافیکی، دستور rm فایل‌ها را مستقیما حذف می‌کند. بازیابی فایل‌های حذف شده در لینوکس بسیار دشوار است و به نوع سیستم فایل و میزان استفاده از دیسک پس از حذف بستگی دارد. ابزارهایی مانند extundelete یا testdisk می‌توانند در برخی موارد کمک کنند، اما بهتر است همیشه از داده‌های مهم نسخه پشتیبان داشته باشید.

دستوراتی مانند top، htop، atop، iotop، vmstat، netstat، nmon و glances برای مانیتورینگ منابع مختلف سیستم مانند CPU، حافظه، دیسک و شبکه مفید هستند. هر کدام ویژگی‌ها و قابلیت‌های متفاوتی دارند.

این مقاله برای شما مفید بود؟

لوگوی ابرها

ابرها همیشه در تلاش است تا با فراهم کردن بهترین و به روزترین تجهیزات و فناوری‌ها، پایدارترین بسترها را برای ساخت کسب و کارهای مختلف فراهم آورد. تا همیشه در کنار شما برای ساختن قوی‌ترین کسب و کارهای ایرانی. ابرها

راه‌های ارتباطی با ابرها :

info@abrha.ir

کلیه حقوق برای ابرها محفوظ می باشد.

Copyright © 2025 Abrha Cloud Computing Technology ® , All Rights Reserved.