حال میرسیم به آخرین بخش دستورات سرور لینوکس که برای مدیریت سرور لینوکس به آن نیاز داریم. همچنان توصیه میکنم اگر آموزشهای قبلی را مطالعه نکردید، زمان کافی را برای خواندن و تمرین روی آنها را بگذارید. در این مقاله هم با ۲۰ دستور دیگر از دستورات مهم لینوکس آشنا خواهیم شد. دستورهای این بخش مختص سرور لینوکس و اندکی پیشرفتهتر است، در صورتی که دو قسمت قبلی بیشتر برای کسانی بود که تازه با سرور لینوکس یا حتی رایانۀ رومیزی لینوکس میخواستند کار کنند. به هر حال با دستورات سرور لینوکس قسمت سوم هم همراه ما باشید.
۴۱- دستور ifconfig : پیکربندی رابط شبکه
این دستور برای پیکربندی و انجام تنظیمات رابطهای شبکۀ مقیم هسته استفاده میشود. رابط شبکه همان وسیلهای است که امکان اتصال سرور به شبکۀ اینترنت را مهیا میکند. تنظیماتی که با ifconfig انجام میشود معمولاً در زمان راه اندازی سیستم برای برپاسازی رابط شبکه مورد استفاده قرار میگیرد. چندتا از ترکیبات مهم این دستور را با هم کار میکنیم. اول از همه دستور ifconfig را به تنهایی میزنیم.
اطلاعات تمامی رابطهای شبکه که فعال هستند را به ما نشان میدهد. اما اگر خواسته باشید مشخصات تمامی رابطهای شبکه، چه آنهایی که فعال هستند و چه آنهایی که غیرفعالند را ببینید، باید مشخصۀ -a را هم به کار ببرید.
ifconfig -a
برای غیرفعال کردن یک رابط از دستور زیر میتوانید استفاده نمایید. که به جای eth0 باید نام رابط مورد نظر خود را تعیین کنید.
ifconfig eth0 down
برای فعال کردن یک رابط هم دستور زیر. دقت کنید که اگر روی سرور اصلی رابط اصلی شبکه را غیرفعال کنید، دسترسی شما به سرور مسدود خواهد شد و اگر دسترسیِ جایگزینی مثل VNC نداشته باشید، باید از مدیر سرور بخواهید تا حداقل سرور را برای شما راه اندازی مجدد کند! پس با دقت از این دستورات استفاده کنید.
Ifconfig eth0 up
تخصیص IP به یک رابط:
ifconfig eth0 192.168.1.12
تغییر Subnet Mask یک رابط شبکه:
ifconfig eth0 netmask 255.255.255.
تغییر آدرس Broadcast یک رابط شبکه:
ifconfig eth0 broadcast 192.168.1.255
تغییر تمامی موارد بالا به صورت یکجا در یک دستور:
ifconfig eth0 192.168.1.12 netmask 255.255.255.0 broadcast 192.168.1.255
این دستورات مربوط به شبکههای کابلی بود که دارای رابط شبکه بودند. اما اگر رایانۀ مد نظر از شبکۀ بی سیم استفاده میکند، باید از دستور iwconfig به جای ifconfig استفاده شود.
۴۲- دستور netstat : نمایش وضعیت شبکه
این دستور برای نمایش اطلاعات مختلف مرتبط با شبکه از قبیل اتصالات شبکه، جدولهای مسیریابی، آمار رابطهای شبکه، درگاهها و … استفاده میشود که بسیار هم مهم است.
فهرست کردن تمامی درگاههای شبکه:
netstat -a
فهرست کردن تمامی درگاههای پروتکل TCP:
netstat -at
نمایش همۀ آمار و ارقام برای همۀ درگاهها:
netstat -s
۴۳- دستور nslookup : دریافت اطلاعات سرورهای اینترنت
این دستور برای پی بردن به name server های یک دامنه یا نشانی اینترنتی مورد استفاده قرار میگیرد. برای استفاده از این دستور، باید عبارت nslookup را به همراه نام دامنۀ مورد نظر بزنید، تا نتیجه را شاهد باشید. در مواردی که سیستم به شما خطا داد که چنین دستوری وجود ندارد، باید بستۀ bind را با دستور yum install bind نصب نمایید.
این دستور بیشتر زمانی که میخواهید با سرویس DNS کار کنیم به کارمان خواهد آمد. در آموزشهای بعدی راجع به نحوۀ استفاده از آن توضیحات تکمیلی را ارائه خواهم نمود. اما اگر خواسته باشید رکوردهای MX یک دامنه را کشف کنید، باید از دستور زیر استفاده نمایید.
پرسوجو برای name server یا ns یک دامنه:
nslookup -query=ns google.com
پرسوجو برای رکوردهای DSN یک دامنه:
nslookup -query=any google.com
پرسوجو برای Start of Authority یا SOA یک دامنه:
nslookup -type=soa google.com
پرسوجو بر اساس شماره درگاه (پورت):
nslookup -port 56 google.com
همانطور که گفته شد از این دستورات بیشتر برای رفع ایراد مشکلات مربوط به دامنۀ سایتها و همچنین پی بردن به اطلاعات دامنه و ns های آن بود.
۴۴- دستور dig : پرسوجوی اطلاعات دامنه
این دستور هم یک چیزی تو مایههای دستور قبلی است و اگر برای شما کار نکرد، باز هم باید بستۀ bind را نصب کنید. به سادگی تمام عبارت dig را زده و در ادامۀ آن پس از یک فاصله نام دامنۀ اینترنتی یک سایت را بنویسید.
این دستور برای نمایش IP و دیگر اطلاعات یک دامنه توضیحات اضافی را هم نمایش میدهد که اگر خواسته باشید این توضیحات نمایش داده نشود، باید از دستورهای زیر برای حذف کردن قسمتی از اطلاعات استفاده کنید.
dig google.com +nocomments
dig google.com +noauthority
dig google.com +noadditional
dig google.com +nostats
dig google.com +noanswer
dig google.com +noall
هر کدام از دستورات بالا، یک قسمتی از نتیجه را حذف میکردند. اما اگر خواسته باشید تمامی قسمتهای نتیجه حذف شوند باید از دستور آخر استفاده کنید. علاوه بر این، اگر خواسته باشید اطلاعات مربوط به فقط یک نوع رکورد یک دامنه را به دست آورید، باید از ساختار دستور زیر استفاده کنید. مثلاً دستور زیر فقط رکوردهای MX گوگل را نشان میدهد.
dig MX google.com
۴۵- دستور uptime : نمایش مدت زمان روشن بودن سیستم
این دستور علاوه بر اینکه مدت زمان بالا بودن یا روشن بودن سرور را به شما نشان میدهد، اطلاعات دیگری مثل میانگین میزان بار پردازنده (load average) و همچنین تعداد کاربرانی که همینک وارد سیستم هستند و زمان سیستم را به شما نشان میدهد.
۴۶- دستور wall : ارسال پیام به همۀ کاربران
فرض میکنیم شما به عنوان مدیر سرور که همینک روی سرور شما چندین کاربر ورود پیدا کردند، میخواهید پیامی را برای همه ارسال کنید. در اصل این پیام در پایانۀ تمامی کاربران نمایش داده میشود. میتوانید از دستور wall استفاده کرده و در ادامه متن خود را در بین ” ” بنویسید.
این پیام حتی برای خود شما هم نشان داد خواهد شد که برای خروج از این وضعیت کافی است یک بار Enter را بزنید.
۴۷- دستور mesg : کنترل ارسال پیام
با این دستور میتوانید ببینید آیا دیگر کاربران لینوکس میتوانند برای شما پیام ارسال کنند یا خیر. حتی قادر به تغییر این وضعیت هم هستید. دیگر کاربران میتوانند با استفاده از دستور write برای شما پیام ارسال کنند. اگر میخواهید این وضعیت را تغییر دهید میتوانید به همراه y یا n به ترتیب برای فعال و یا غیرفعال کردن دریافت پیام از دیگران از این دستور استفاده کنید.
در تصویر بالا شما میبینید که اول من با دستور mesg دریافتم که قادر به دریافت پیام از دیگر کاربران سیستم هستم. سپس با دستور mesg n این قابلیت را غیرفعال کردم.
۴۸- دستور write : ارسال پیام برای دیگر کاربران سیستم لینوکس
با استفاده از این دستور میتوان برای دیگر کاربرانی که همینک وارد حساب خود در سیستمِ شما شدند، پیام ارسال کنید تا روی صفحۀ پایانۀ آنها نمایش داده شود. البته اگر آنها با استفاده از دستور mesg امکان دریافت پیام را غیرفعال نکرده باشند.
برای استفاده از این دستور کافی است اول عبارت write را بنویسید و سپس نام کاربری کاربر مد نظر خود را بنویسید. حالا Enter کنید و متن خود را در خط جدیدی که برای شما باز میشود بنویسید. برای خارج شدن از حالت ارسال متن هم میتوانید Ctrl+C را از صفحه کلید بزنید.
جالبیِ این دستور این است که شما مثل حالت چت کردن میتوانید مبادرت به گفتگو کنید. طرف مقابل هم باید از دستور فوق برای وصل شدن به کاربر اولی استفاده کرده و پیام خود را ارسال کند.
۴۹- دستور talk : کاربردی مثل دستور write اما پیشرفتهتر
این دستور هم مثل دستور write برای ارسال پیام به کاربرانی که همینک وارد حساب خود روی سیستم شدند، کاربرد دارد. کاربر آن هم دقیقاً شبیه به دستور قبلی است. البته به احتمال زیاد با زدن این دستور در خط فرمان، با خطای چنین دستوری پیدا نشد مواجه خواهید شد که شما باید با استفاده از دستور yum یا apt اقدام به نصب بستۀ نرم افزاری talk کنید.
۵۰- دستور w : ترکیب دستور who و uptime
این دستور ترکیبی از دو دستور who و uptime میباشد که برای نمایش میزان روشن بودن سیستم و همچنین تاریخ و تعداد کاربرانی که همینک وارد حساب خود شدند استفاده میشود. به نتیجۀ این دستور در تصویر زیر بنگرید!
۵۱- دستور rename : تغییر نام دسته جمعی پروندهها
همانطور که از نام این دستور میتوان فهمید، با استفاده از rename میتواند به صورت دستهجمعی اقدام به ویرایش نام فایلها بر اساس یک قاعدۀ منظم نمود. ساختار استفاده از این دستور به شکل زیر است:
rename from to file
from نشان دهندۀ ساختار اولین فایل و to نشان دهنده ساختار آخرین فایل. همچنین file نشان دهندۀ نوع پروندههایی است که قرار است تغییر نام داده شوند.
۵۲- دستور top : نمایش و کنترل فرآیندها
این دستور فرآیندهایی که توسط CPU یا پردازندۀ سرور پردازش میشوند را نشان میدهد. دستور بسیار کاربردی است که میتوان تمامی فرآیندهایی که پردازندۀ سرور را مشغول به خود کردند را کنترل کرد. این دستور به صورت خودکار به روز میشود و تا زمانی که با استفاده از کلید q از این دستور خارج نشدید، نمیتوانید دستور دیگری غیرمرتبط با دستور top را بزنید.
دستور top علاوه بر اینکه اطلاعاتی راجع به پردازندۀ سیستم ارائه میدهد، اطلاعات حافظۀ RAM و حافظۀ تبادلی یا همان Swap را هم در بالای صفحه به نمایش میگذارد که میتواند دید کاملی نسبت به تمامی بخشهای سرور به ما اعطا کند. این دستور که در اصل یک نرم افزار جامع است، دارای جوانب بسیاری است که اگر خواسته باشم توضیحات کاملی راجع به آن خدمت شما ارائه کنم، باید یک آموزش کامل راجع به آن تهیه کنم.
۵۳- دستور mkfs.ext4 : دستور پارتیشن بندی و فرمت دیسک
یکی از خطرناکترین دستوراتی است که اگر دربارۀ استفاده کردن از آن توجیه نشده باشید، مطمئن باشید خسارت زیادی را میتواند به اطلاعات شما وارد کند. از این دستور برای ساخت یک فایل سیستم از نوع ext4 روی حافظۀ انتخاب شده استفاده میشود. اگر حافظه به درستی انتخاب نشود، میتواند خطرناک باشد.
Mkfs.ext4 /dev/sda1
دستور بالا قطعۀ sdb1 را فرمت میکند؛ یعنی تمامی اطلاعات آن را حذف میکند (اخطار: این دستور را نزنید).
۵۴- دستورهای vi/emacs/nano : ویرایشگرهای متنی
این دستورات مرتبط با بستههای نرم افزاری همنام با خودشان هستند. مثلاً استفاده از دستور nano ویرایشگر nano را باز کرده که شما میتوانید درون آن بنویسید. این نوع ویرایشگرها مثل notepad ویندوز هستند. البته هر کدام از آنها دارای ویژگیها و خاصیتهای هستند. مثلاً vi برای کاربران حرفهای کاربرد بسیار سادهتری دارد، نسبت به nano که معمولاً همراه با راهنمایی که دارد برای تازه کارها خیلی میتواند جذابتر باشد.
یه غیر از vi معمولاً دو ویرایشگر دیگر را شما باید با استفاده از دستور yum یا apt اقدام به نصب آن روی سیستم خود کنید. پس شاید در اولین گامی که سرور را تحویل گرفتید، نصب کردن nano با استفاده از دستور yum install nano در توزیع CentOS ایدۀ بسیار خوبی باشد. حالا اگر این دستور را بزنید، میبینید که صفحۀ اصلی nano باز شده و یک سند خالی هم در آن وجود دارد که با نوشتن متن درون آن میتوانید در انتها کار را با یک نام دلخواه در مکانی ذخیره کنید. ویرایش فایلهای پیکربندی هر نرم افزار یا بستۀ نرم افزاری در لینوکس، با استفاده از این ویرایشگرها انجام میشود. پس چه خوب است که کار کردن با حداقل یکی از آنها را به خوبی بیاموزید.
۵۵- دستور rsync : هماهنگ سازی پروندهها روی شبکه
در اصل این یک برنامه است که باید اول آن را نصب کنید. پس از نصب حالا میتوانید فایلهای مختلف را روی شبکه هماهنگ سازی (Synchronizing) کنید. این دستور را بیشتر میتوان مثل دستور cp برای کپی کردن دانست که البته به rcp بیشتر شبیه است. با این تفاوت که با مشخصههایی که این دستور دارد، مثل مشخصۀ -P میتوان نوار پیشرفت کپی کردن را هم مشاهده کرد. البته این دستور مشخصههای دیگری مثل v برای مشاهدۀ اطلاعات اضافی حین انجام کار، یا r برای کپی شدن یا هماهنگ شدن فایلها و پوشههای زیرین پوشۀ اصلی و z برای فشرده سازی حین همگام سازی هم دارد.
برای استفادۀ راحتتر از این دستور، پیشنهاد شده که با دستور alias کاربرد دستور cp را به دستور rsync تبدیل کنید که از این به بعد حتی اگر خواسته باشید یک فایل ساده را در مکانی دیگر کپی کنید، باز هم از دستور rsync استفاده شود. با زدن دستور زیر، از این به بعد اگر دستور cp را هم بزنید، دستور rsync فراخوانی خواهد شد.
alias cp='rsync -aP'
۵۶- دستور free : رصد حافظۀ RAM
از این دستور برای رصد کردن میزان مصرف شده یا باقیمانده از حافظۀ RAM استفاده میشود. حافظۀ اصلی یکی از قسمتهایی است که مدام باید روی آن کنترل صورت گیرد که مبادا مشکلی برای آن پیش آید. یا حتی اگر دیدید نیاز به ارتقاء این قسمت از سخت افزار داشته باشید، هر چه سریعتر اقدام کنید.
نتایجی که این دستور به شما بر میگرداند خود نیاز به تفسیر دارد. ولی با یک نگاه به ستونهای used و free میتوان فهمید که چه مقدار از حافظۀ اصلی پر است و چه مقدار از آن هنوز خالی است. البته اگر دستور free را با مشخصۀ -m به این صورت بزنید، free -m نتایج بسیار خواندنیتر است. چون واحد اعداد به مگابایت به شما برخواهد گشت.
۵۷- دستور mysqldump : پشتیبانگیری از پایگاه داده
تا اینجای کار شما از روی بیشتر دستورات، میتوانستید به کارکرد آنها پی ببرید. این دستور هم به دلیل اینکه عبارت mysql را درون خود دارد، میتوان فهمید که کاری با پایگاه دادۀ mysql دارد. این دستور برای گرفتن نسخۀ پشتیبان از کل یا قسمتی از پایگاه دادۀ mysql مورد استفاده قرار میگیرد.
برای مثال دستور زیر با نام کاربری root و رمز عبوری که حتماً باید داشته باشید (البته اگر برای کاربر ریشۀ پایگاه داده از قبل رمز عبور تعیین کرده باشید) از همۀ پایگاههای دادۀ سیستم شما در مسیر /home/server/Desktop درون پروندهای با نام backupfile.sql نسخۀ پشتیبان تهیه میکند.
mysqldump -u root -p --all-databases > /home/server/Desktop/backupfile.sql
پس دقت داشته باشید که این دستور زمانی کار میکند که شما سرویس mysql را روی سرور خود نصب شده و به حالت اجرا داشته باشد. همچنین تنظیمات و پیکربندیهای اولیۀ آن را انجام داده باشید و رمز و نام کاری حسابی با دسترسیهای کافی را هم داشته باشید.
۵۸- دستور mkpasswd : ساخت رمز عبور تصادفی و قوی
با استفاده از این دستور شما میتوانید برای مقاصد مختلف خود یک رمز عبور پیچیده و غیر قابل حدس بسازید. دقت داشته باشید که تا زمانی که بستۀ نرم افزاری expect را نصب نکرده باشید، این دستور برای شما کار نخواهد کرد. پس اول با استفاده از دستور yum install expect این بسته را نصب کنید تا بتوانید از دستور mkpasswd استفاده نمایید. نحوۀ استفاده از این دستور به قرار زیر است.
من در مثال بالا با مشخصۀ l تعیین کردم که رمز عبور من ۲۰ حرف داشته باشد. شما هم میتوانید رمزهای عبور کاملاً تصادفی برای استفادههای مختلف و حتی برای اسکریپتهای خود بسازید.
۵۹- دستور paste : الحاق دو پرونده درون یک پرونده
با این دستور میتوان دو تا یا بیشتر فایل را به درون یک فایل، آن هم به صورت ستونی الحاق کرد. به دستورات زیر نگاه کنید:
۶۰- دستور lsof : فهرست کردن پروندههای باز
این دستور سرنامی از عبارت list open files میباشد که به معنای فهرست کردن فایلهای باز شده است که تمامی پروندههایی که همینک سیستم آنها را باز کرده است را نشان میدهد. این دستور برای تشخیص اینکه چه فرآیندی از چه نوع فایلی استفاده میکند خیلی میتواند مفیدِ فایده باشد.
برای استفاده کردن ازاین دستور هم شما باید بستۀ lsof را با استفاده از دستور yum install lsof (روی سرورهای لینوکس CentOS) نصب کنید. فهرستی که این دستور به شما نشان میدهد، بسیار بلند است! شاید نیاز باشد با استفاده از دستورات دیگری مثل grep آن را خلاصهتر کنیم تا اطلاعاتی که مد نظر داریم را از آن استخراج کنیم.
این ۶۰ دستور کار با سرور لینوکس هم به اتمام رسید. البته این تمام دستورات نیست! یک مدیر سرور لینوکس باید خیلی چیزها یاد داشته باشد که این یادگیری یک فرآیند مداوم است. شما هر روز باید چیز جدیدی بیاموزید که حتی در آموزشهای بعدی سایت وبنولوژی با دستورات بیشتری آشنا خواهید شد. به هر حال این ۶۰ دستور از مهمترین دستورهای کار با سرور لینوکس و حتی رایانۀ لینوکس بودند که یادگیری آنها لازم و شیرین بود.
و در انتها از شما درخواست دارم وبنولوژی مرجع آموزش طراحی سایت و آموزشهای آن را به دیگران هم معرفی کنید و آنها را به اشتراک بگذارید. برای تهیۀ این مقالههای آموزشی زمان زیادی گذاشته میشود. امیدواریم با کمک شما افراد زیادی بتوانند از آنها استفاده کنند تا با هم بتوانیم زمینۀ پیشرفت همدیگر را فراهم کنیم.
دلم نیومد تشکر نکنم
خیلی خوب بود
سپاس
انصافا بیان شیوایی دارین. خیلی خوبه
عالیییییی