سیستم عامللینوکس

دستورات مدرن لینوکس به جای فرمان های قدیمی و منسوخ

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

آیا به دنبال لیستی از دستورات مدرن لینوکس می گردید؟

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

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

این موضوع به‌ویژه در مورد دستورات شبکه صدق می‌کند، زیرا بسیاری از آنها با دستورات جدید جایگزین شده‌اند یا به زودی جایگزین خواهند شد.

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

اما به عنوان یک کاربر آگاه از لینوکس، خوب است که آنها را بشناسید. خب پس حالا شروع می‌کنیم!

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

scp – احتمالاً منسوخ شده

دستور scp، که مخفف Secure Copy است، از پروتکل SSH برای کپی کردن فایل‌ها بین دو ماشین لینوکس استفاده می‌کند. مهم‌ترین ویژگی این دستور این است که به شدت از ساختار دستور cp پیروی می‌کند. به همین دلیل، scp در میان کاربران لینوکس بسیار محبوب است. شما دستور cp را برای کپی کردن فایل‌ها در یک ماشین محلی می‌شناسید و از همان ساختار برای کپی کردن فایل‌ها بین ماشین‌ها استفاده می‌کنید.

اما دستور scp مشکلاتی دارد. پروتکل SCP چندین دهه قدمت دارد، به‌روزرسانی نشده و دارای مشکلات امنیتی فراوانی است؛ این مسئله توسط تیم OpenSSH مطرح شده است.

به همین دلیل، توزیع‌های مختلف پیشنهاد می‌دهند که این دستور با دستورات دیگری مثل rsync جایگزین شود یا نسخه جدیدی از scp ایجاد شود که از پروتکل sftp استفاده می‌کند. توزیع‌هایی مانند Red Hat و Fedora نسخه جدیدی از scp ایجاد کرده‌اند.

در سایر توزیع‌ها، استفاده از scp همچنان بحث‌برانگیز است. با توجه به عدم قطعیت پیرامون آینده آن، منطقی است که به تدریج به استفاده از دستورات مدرن لینوکس مانند rsync و sftp روی بیاورید.

جایگزین پیشنهادی: دستورات rsync و sftp

برای آشنایی بیشتر با جایگزین‌های مدرن برای scp، در اینجا چند مثال ساده از دستورات پیشنهادی مانند rsync و sftp آورده شده است:

۱. استفاده از rsync

دستور rsync برای همگام‌سازی فایل‌ها بین دو سیستم استفاده می‌شود و علاوه بر کپی کردن، قابلیت‌های بیشتری مثل انتقال فایل‌ها به صورت فشرده و ادامه کپی پس از قطع اتصال را دارد. یک مثال ساده از استفاده از این دستور به شکل زیر است:

rsync -avz /path/to/local/file username@remote_host:/path/to/remote/directory
  • -a : حفظ تمام ویژگی‌های فایل (حالت‌ها، مالکیت‌ها و غیره)
  • -v : نمایش جزئیات عملیات
  • -z : فشرده‌سازی فایل‌ها در حین انتقال

این دستور فایل‌ها را از سیستم محلی به یک ماشین راه دور با استفاده از SSH کپی می‌کند، مانند scp، اما کارآمدتر و امن‌تر.

۲. استفاده از sftp

دستور sftp جایگزینی امن و رایج برای scp است که بر پایه پروتکل SSH کار می‌کند و امکان مرور دایرکتوری‌ها و انتقال فایل‌ها را به روشی مشابه ftp فراهم می‌کند. برای مثال:

sftp username@remote_host

سپس می‌توانید از دستورات put برای آپلود فایل‌ها یا get برای دانلود فایل‌ها استفاده کنید:

put /path/to/local/file /path/to/remote/directory

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

شاید این مقاله نیز برای شما کاربردی باشد: لیست ضروری ترین دستورات SSH برای کاربران وردپرس

egrep و fgrep – جایگزین شده توسط پارامترهای grep

دستورات grep، egrep و fgrep همگی شباهت زیادی به هم دارند. دلیل این شباهت این است که هر سه دستور از یک خانواده هستند.

grep، اولین و قدیمی‌ترین دستور در این گروه است و چندین دهه پیش ایجاد شده است.

دستورات egrep و fgrep کمی بعدتر به وجود آمدند تا قابلیت‌های بیشتری به دستور grep اضافه کنند:

  • دستور egrep امکان استفاده از عبارت‌های منظم گسترده (extended regex) را فراهم می‌کند.
  • دستور fgrep به جای عبارت‌های منظم، با رشته‌های ثابت کار می‌کند (که رفتار پیش‌فرض grep است).

اما چرا باید دستورات جداگانه‌ای وجود داشته باشد در حالی که می‌توان این قابلیت‌ها را به‌صورت پارامتر به دستور اصلی اضافه کرد؟

این دقیقاً همان چیزی است که اتفاق افتاد. دستور grep تغییر کرد تا پارامترهای جدیدی را اضافه کند که همان قابلیت‌های egrep (با استفاده از grep -E) و fgrep (با استفاده از grep -F) را ارائه می‌دهند.

با این حال، میراث دستورات egrep و fgrep همچنان ادامه دارد. متأسفانه، بسیاری از آموزش‌ها، وب‌سایت‌ها و کتاب‌ها هنوز به آنها اشاره می‌کنند و توزیع‌های لینوکس همچنان این دستورات را شامل می‌شوند.

جایگزین پیشنهادی: استفاده از grep -E به جای egrep و grep -F به جای fgrep.

  1. استفاده از grep -E (جایگزین egrep):
    grep -E 'pattern1|pattern2' filename

    این دستور امکان استفاده از عبارت‌های منظم گسترده (extended regex) را فراهم می‌کند.

  2. استفاده از grep -F (جایگزین fgrep):
    grep -F 'fixed_string' filename

این دستور برای جستجوی رشته‌های ثابت بدون تفسیر آنها به عنوان عبارت‌های منظم استفاده می‌شود.

این دستورات مدرن لینوکس مانند grep -E و grep -F جایگزین بهتری برای egrep و fgrep هستند و استفاده از آنها توصیه می‌شود.

netstat – از ابزارهای دیگر برای آمار شبکه استفاده کنید

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

شما می‌توانستید از آن برای نظارت بر بسته‌های TCP/UDP، سوکت‌ها، مشاهده رابط‌های شبکه و موارد دیگر استفاده کنید.

این دستور بخشی از بسته net-tools بود. از آنجا که بسته net-tools حدود سال ۲۰۱۰ منسوخ شد، توزیع‌های لینوکس دیگر دستور netstat را اضافه نکردند.

جایگزین پیشنهادی: استفاده از دستور ss.

برای استفاده از دستور ss به جای netstat، می‌توانید از دستور زیر استفاده کنید:

ss -tuln

این دستور اطلاعات مربوط به سوکت‌های TCP و UDP را نمایش می‌دهد، مشابه خروجی netstat -tuln.

دستور ss به عنوان یک ابزار مدرن لینوکس برای تجزیه و تحلیل شبکه، به طرز قابل توجهی سریع‌تر و کارآمدتر از netstat عمل می‌کند و گزینه بهتری برای نظارت بر شبکه‌های شما است.

ifconfig – قطعا دلتنگش خواهیم شد

واقعاً. این دستور، دستور اصلی برای بررسی آدرس IP در سیستم‌های لینوکس و اطلاعات دیگر درباره رابط‌های شبکه بود.

شما هنوز هم می‌توانید آن را در پست‌های قدیمی انجمن‌ها و آموزش‌ها ببینید. این دستور با بسته net-tools منسوخ شد.

قابلیت‌های آن اکنون در دستور ip یافت می‌شود. در واقع، بسیاری از دستورات محبوب شبکه‌ای لینوکس که بخشی از بسته net-tools بودند، منسوخ شده‌اند.

جایگزین پیشنهادی: استفاده از دستور ip.

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

ip addr show

این دستور اطلاعات مربوط به رابط‌های شبکه و آدرس‌های IP را نمایش می‌دهد، به‌گونه‌ای که به راحتی می‌توانید وضعیت شبکه خود را بررسی کنید.

دستور ip به عنوان یک ابزار مدرن لینوکس برای مدیریت و نظارت بر شبکه، گزینه‌ای کارآمدتر و جامع‌تر برای جایگزینی ifconfig است و به کاربران این امکان را می‌دهد که به راحتی مدیریت بهتری بر روی تنظیمات شبکه خود داشته باشند.

iptables – بله درست می‌بینید همان آیپی تیبل معروف

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

این دستور هنوز هم توسط بسیاری از کاربران لینوکس استفاده می‌شود. با این حال، پروژه اصلی آن، netfilter، یک دستور جایگزین به نام nftables ایجاد کرده است.

چرا؟ زیرا “چارچوب iptables کمی پیچیده شده است با وجود دستورات iptables، ip6tables، arptables و ebtables که همگی عملکردهای مختلف ولی مشابهی ارائه می‌دهند.”

بنابراین یک ابزار جدید برای ترکیب همه آنها تحت nftables ایجاد شده است. می‌توانید مقایسه‌ای بین دستورات iptables و nftables را مطالعه کنید.

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

جایگزین پیشنهادی: استفاده از دستور nftables.

برای استفاده از nftables به جای iptables، می‌توانید از دستورات زیر استفاده کنید:

  1. برای نمایش قوانین موجود:
    nft list ruleset
  2. برای اضافه کردن یک قانون جدید:
    nft add rule ip filter input tcp dport 22 accept

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

شاید این مقاله نیز برای شما کاربردی باشد: نحوه تغییر پورت SSH سرور | آموزش تصویری

نتیجه‌گیری

با گذشت زمان، ابزارهای قدیمی لینوکس مانند scp، netstat، ifconfig و iptables به دلیل پیچیدگی‌ها و ضعف‌های امنیتی در حال منسوخ شدن هستند. توسعه‌دهندگان این ابزارها با معرفی جایگزین‌های مدرن‌تر مانند rsync، ss، ip و nftables به نیازهای کاربران پاسخ داده‌اند و امکان مدیریت بهینه‌تر و امن‌تر شبکه و سیستم‌های لینوکس را فراهم کرده‌اند.

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

یکی دیگر از مجموعه آموزش های سیستم عامل لینوکس به اتمام رسید. امیدواریم این راهنما به شما در آموزش دستورات مدرن لینوکس کمک کرده باشد و بتوانید بدون هیچ مشکلی از سرور لینوکسی خود استفاده کنید. اگر سوال یا مشکلی داشتید، حتماً در بخش نظرات با ما در میان بگذارید؛ همچنین ممکن است مقاله های دسته بندی مجموعه آموزش های ویندوز نیز برای شما کاربردی و مفید باشد.

برای امتیاز به این نوشته کلیک کنید!
[کل: ۱ میانگین: ۵]

سعید زارعین

سعید هستم 27 ساله، یک عدد تولید محتوا(ئر) خلاق :)))

دیدگاهتان را بنویسید

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

دکمه بازگشت به بالا