آموزش دستورات لینوکس centos
لینوکس بر خلاف سیستمعامل ویندوز انعطافپذیری بسیار قدرتمندی در استفاده از دستورات برای مدیریت سرور دارا میباشد، به طوری که با آگاهی از دستورات و بدون نیاز به محیط گرافیکی میتوان یک سرور لینوکسی را از راه دور به طور کاملاً حرفهای مدیریت کرد، کاری که برای یک سرور ویندوزی غیرممکن و یا بسیار بسیار سخت خواهد بود.
آموزش دستورات لینوکس centos و ubuntu اولین گام و مهمترین کاری است که به عنوان مدیر سرور در جهت یادگیری و تسلط به لینوکس باید آن را به طور جدی پیگیری کنید و در آن مسلط شوید.
سعی میکنیم این مقاله را به طور مرتب در بازههای زمانی مشخص با دستورات جدید آپدیت کنیم به طوری که در پایان مقاله آموزش دستورات لینوکس کاربر نیازی به سرچ دستور خاصی در موتورهای جستجو و یا وبسایتهای دیگر نداشته باشد، پس دائما به این آموزش رجوع کنید.
آموزش دستورات لینوکس centos
در لینوکس همهچیز به یک سری فایل و دایرکتوری تقسیمبندی میشود ساختار دایرکتوریها (همان فولدرها در ویندوز) در لینوکس همانطور که در عکس زیر مشاهده میکنید به صورت یک درخت وارونه میباشد.
هر دایرکتوری، خود شامل یک سری دایرکتوری و فایلهای مهم سیستمی دیگر میباشد که وظیفههای اساسی و مهم لینوکس را انجام میدهند. شما با دانستن دستورات لینوکس به طور کامل خواهید توانست عملیات مدیریتی خود را بر روی این بخشها به طور تخصصی انجام داده و یا سرویسهای خاصی را بر روی لینوکس نصب و راهاندازی کنید.
قدم اول: کار با سیستم عامل لینوکس با آموزش نصب لینوکس آغاز میشود و توصیه ما با توجه به تجربیات چندین ساله در زمینه کار با سرورهای لینوکسی همین یادگیری کامل آموزش دستورات لینوکس centos و سپس در آینده گذراندن دوره تخصصی لینوکس برای مدیران سرور میباشد.
سعی میکنیم هر دستوری که آموزش میدهیم مثال بارز استفاده از آن در ویندوز را هم برای شما بگوییم تا به صورت کاملاً ملموس بتوانید کارایی هر دستور را درک کنید.
یکی از کارهایی که ابتدا باید در لینوکس با آن آشنا شوید نحوهی باز کردن فایلها میباشد، شما در ویندوز با رفتن روی آیتم موردنظر خود و دابل کلیک کردن، فایل مربوطه را باز میکردید، در لینوکس این عمل با دستور cat قابل انجام میباشد بدین شکل که ابتدا دستور cat را نوشته و سپس به دنبال آن مسیر فایل مربوطه را وارد میکنیم.
۱
۲
|
cat /etc/passwd
cat /proc/meminfo
|
چنانچه بخواهید اطلاعات سرور لینوکسی خود را به صورت دقیق به دست آورید برای شروع کار و با دانستن همین دستور فایلهای زیر را بررسی کنید.
۱
۲
۳
|
cat /proc/cpuinfo
cat /proc/meminfo
cat /proc/swaps
|
دستور اول اطلاعات سی پیو، تعداد هستهها – دستور دوم اطلاعات رم و دستور سوم اطلاعاتی در رابطه با مقادیر swap فایل به شما نمایش خواهد داد.
چنانچه بخواهید تاریخ و زمان تنظیم شده بر روی سرور خود را مشاهده کنید با دستور date خروجی تاریخ و زمان قابل دریافت میباشد.
۱
|
date
|
برای نمایش تمامی اسلات های متصل شده به سیستم هم دستور زیر را میتوانید استفاده کنید (صرفاً جهت یادآوری: اسلات ها همانند سختافزارهای نصب شونده به صورت کارت هستند که در جایگاههای خاصی بر روی سرور تعبیه میشوند مثل کارت گرافیک در کیس سیستمهای شخصی)
۱
|
lspci
|
دستور زیر هم برای نمایش تعداد سختافزارهای نوع usb متصل شده به لینوکس کاربرد دارد، مانند زمانی که شما در my computer سیستمعامل ویندوزی تعداد usb ها متصل شده به سیستم را بررسی میکنید.
۱
|
lsusb
|
چنانچه بخواهید اطلاعاتی راجب نوع توزیع و ورژن و اطلاعات کرنل یا هسته لینوکس دریافت کنید میتوانید از دستور زیر استفاده کنید.
۱
|
uname –a
|
برای تنظیم ساعت بر روی بایوس سرور هم از دستور زیر میتوانید استفاده کنید.
۱
|
clock –w
|
نکته مهم: در لینوکس برای آشنایی بیشتر با هر دستور و همچنین نحوه استفاده از سوییچها از man قبل از دستور استفاده کنید و راهنمای استفاده را دقیقاً مطالعه کنید تا اطلاعات بسیار زیادی را کسب کنید، برای مثال ما میخواهیم راهنمای دستور cat را دریافت کنیم به صورت زیر در محیط command line دستور را وارد میکنیم
۱
|
man cat
|
پایان جلسه اول آموزش دستورات لینوکس
بخش دوم آموزش دستورات لینوکس centos
بخش دوم آموزش دستورات لینوکس رو شروع میکنیم، در این قسمت میخواهیم یک سری دستورات مدیریت سختافزار رو براتون شرح بدم که توسط آنها میتوانید وضعیت روشن، خاموش و ریبوت سرور رو تحت کنترل داشته باشید.
اولین دستور init هستش که توسط آن میتوانید مد سرور رو تغییر بدید، ۶ مد برای این دستور تعریف شده که ۰ برای بردن سیستم به حالت shutdown مد ۱ حالت single user هستش که معمولاً برای ریکاوری استفاده میشه، مد ۲ حالت multi user مد ۳ حالت multi user with networking مد ۴ بلا استفاده و تعریف نشده، مد ۵ حالت گرافیکی سیستم که لینوکس معمولاً در این حالت کار میکنه و با GUI بالا میاد و مد ۶ هم بردن لینوکس به حالت ریبوت هستش مانند زمانی که شما دستور reboot رو وارد میکنید.
۱
۲
۳
۴
۵
۶
|
init ۰
init ۱
init ۲
init ۳
init ۵
init ۶
|
دستور بعدی logout هستش که توسط این دستور مانند زمانی که گرافیکی از ویندوز logout میکنید عمل میکنه
۱
|
logout
|
دستور reboot هم که معلومه مانند ریستارت کردن در ویندوز عمل می کنه دقیقاً
۱
|
reboot
|
دستور shutdown هم که سیستم رو خاموش میکنه ولی اگر با سوییچهای دیگه به کار بره میتونه عملکرد متفاوتی داشته باشه برای مثال دستور زیر سیستم رو ریبوت میکنه
۱
|
shutdown –r now
|
خوب آموزش دستورات لینوکس رو ببریم سمت مدیریت و کنترل دایرکتوریهای در لینوکس تا ببینیم چطور میتونیم با دایرکتوریها کار کنیم.
دستور اول که یکی از مهمترین دستورات و بسیار هم پرکاربرد هستش دستور cd هستش این دستور مخفف کلمات change directory هستش به این معنی که شما زمانی بخواهید تو لینوکس از یک مسیر به یک دایرکتوری دیگه برید از این دستور باید استفاده کنید.
در دستور زیر ما هر کجای لینوکس که باشیم با این دستور وارد دایرکتوری خانه میشیم شاید براتون سؤال باشه که این دایرکتوری چی هست خدمتتون باید ارض کنم این دایرکتوری اطلاعات مربوط به هر یوزر رو نگهداری میکنه که در دوره لینوکس برای مدیران سرور به طور کامل و ریزبهریز این موارد رو توضیح دادیم.
۱
|
cd /home
|
در لینوکس برای رفتن به یک شاخه قبلتر مانند زدن دکمه back در ویندوز جلوی دستور cd ما .. میزاریم تا یک دایرکتوری به عقبتر برگردیم
۱
|
cd ..
|
با زدن دستور زیر در محیط command line لینوکس نیز وارد home یوزر خودتان میشوید، چون دستورات رو به عنوان یوزر root وارد میکنید دایرکتوری home شما root/ خواهد بود.
۱
|
cd ~
|
با دستور cp هم در لینوکس میتوانید فایل یا دایرکتوری رو کپی کنید، مانند راست کلیک و copy کردن یک آیتم و سپس paste در ویندوز عمل میکند.
۱
|
cp ۱.txt /home/۱.txt
|
دستور بالا که کاملاً مشخصه توسط دستور زیر هم یک دایرکتوری رو عیناً با محتویات داخلش کپی میکنیم یک جای دیگه
۱
|
cp /music /music2
|
توسط دستور ls میتوانید یک خروجی از دایرکتوری که در حال حاضر در آن هستید بگیرید و هر فایل و دایرکتوری موجود در این دایرکتوری را مشاهده کنید. به دلیل اینکه در لینوکس سرور، مانند ویندوز گرافیک معنا ندارد و همه کارها به صورت دستوری است تا دستور ls وارد نشود هیچ خروجی شما نخواهید داشت و نمیدانید در یک دایرکتوری چه محتویاتی وجود دارد.
دستور ls دارای سوییچهای گوناگونی است که با زدن دستور man همانطور که توضیح دادم میتوانید از آنها استفاده کنید ولی دستور ls با سوییچهای زیر به طور کامل جواب تمامی نیازهای شما را خواهد داد
۱
۲
|
ls –lha
ls –lthra
|
اگر بخواهید در لینوکس یک دایرکتوری بسازید باید چیکار کنید؟ باید از دستور mkdir مخفف make directory استفاده کنید و سپس نام دایرکتوری را بدید در مثال زیر ما یک دایرکتوری با نام tedsa میسازیم.
۱
|
mkdir tedsa
|
اگر بخواهید یک فایل یا یک دایرکتوری را کلاً در لینوکس جابهجا کنید مانند move در ویندوز از دستور mv استفاده میکنیم در مثال زیر من دایرکتوری tedsa رو منتقل میکنم به home به طور کامل
۱
|
mv tedsa /home
|
اگر در لینوکس بخواهید ببینید در حال حاضر در چه دایرکتوری هستید از دستور pwd استفاده میکنیم با زدن این دستور لینوکس به شما دایرکتوری فعلی که در آن هستید رو به صورت absolute path نمایش خواهد داد.
۱
|
pwd
|
توسط دستور rm میتوانید فایل و دایرکتوری را از روی سرور حذف کنید، در استفاده از این دستور به شدت مراقب باشید چون در صورت اشتباه فایلهای سیستمی لینوکس رو پاک کنید دیگه هیچ کار نمیشه کرد و کلیهی اطلاعات شما از بین خواهد رفت در دوره لینوکس برای مدیران سرور اشاره کردیم که چگونه از این دستور به صورت امن استفاده کنید.
۱
|
rm tedsa
|
زمانی که دستور بالا را وارد کنید از شما سؤال خواهد شد که آیا مطمئن به حذف فایل هستید یا خیر و بعد تأیید این عمل انجام میشود ولی اگر بخواهید به صورت کامل و بدون هیچ سؤالی یک دایرکتوری را با محتویات داخل آن پاک کنید از سوییچهای این دستور به شکل زیر استفاده کنید.
۱
|
rm –rf tedsa
|
اگر بخواهید در لینوکس یک فایل خالی با هر پسوندی بسازید هم از دستور touch میتوانید استفاده کنید البته در جلوتر خواهم گفت که با کمک ادیتورها هم میتوانید این کار رو انجام بدید.
۱
|
touch test.txt
|
هرگاه بخواهید در لینوکس یک خروجی به شکل درختی از دایرکتوریها بگیرید دستور زیر یک نمای کلی از تمامی دایرکتوریها و زیر دایرکتوریهای آن به شما خواهد داد، این دستور کاربرد مدیریتی چندانی ندارد ولی برای کامل کردن آموزش دستورات لینوکس و جامع شدن این بخش باید تمامی دستورها رو بگیم خدمتتون
۱
|
tree
|
پایان بخش دوم آموزش دستورات لینوکس
جلسه سوم آموزش دستورات لینوکس centos
برای سرچ در لینوکس هم دستورات قدرتمندی وجود دارد که شما توسط آنها میتوانید آیتمهای متنوع از جمله فایل، یوزر، دایرکتوری و… را جستجو کنید. قدرتمندترین دستور موجود find میباشد که در ادامه به نحوه کاربرد آن خواهیم پرداخت.
برای پیدا کردن یک فایل در لینوکس از دستور find به همراه سوییچ name- به شکل زیر استفاده میکنیم.
۱
|
find / –name filename
|
به جای filename نام فایل موردنظر خود را وارد کنید.
اگر به دنبال فایلهایی با پسوند خاصی میباشید میتوانید به صورت زیر از دستور find استفاده کنید. توسط دستور زیر تمامی فایلهایی که پسوند آنها txt. میباشد برای شما نمایش داده خواهند شد.
۱
|
find / –name *.txt
|
البته اینو هم مدنظر داشته باشید اگر مسیر خاصی به غیر از شاخه / را بخواهید جستجو کنید میتوانید مسیر خود را جایگزین آن کنید.
و یا اگر به دنبال فایلی میگردید که آخرین بار ۳۰ روز قبل استفاده شده و تا زمان کنونی به آن دسترسی گرفته نشده باشد از دستور زیر میتوانید استفاده کنید
۱
|
find / –type f –atime ۳۰
|
در دستور بالا با سوییچ type- فقط به دنبال فایلها هستیم و یک جور فیلتر ایجاد کردیم و توسط atime- نیز تمامی فایلهای مسیر / که آخرین بار ۳۰ روز گذشته به آنها دسترسی گرفته شده در خروجی نمایش داده خواهند شد.
دستور بعدی که از آن نیز برای جستجو استفاده میکنیم دستور locate هستش مزیت این دستور نسبت به find سرعت بیشتر آن در پیدا سرچ هستش ولی حتماً باید قبل استفاده دستور updated را بزنید تا دیتابیسی که از آن برای جستجو استفاده میکند آپدیت شود.
۱
|
locate *.txt
|
برای نمایش مسیر یک فایل باینری در لینوکس نیز میتوانید از دستور زیر استفاده کنید.
۱
|
whereis ls
|
توسط این دستور ما در واقع به دنبال مسیر فایل باینری ls هستیم که اگر یادتون باشه ls خودش دستور لینوکسی هستش
دستور نهایی هم which هستش که کاربردی مانند whereis دارد
۱
|
which ls
|
پایان بخش سوم آموزش دستورات لینوکس
جلسه چهارم
دستور mount نیز برای مستقر کردن یک دایرکتوری و یا هارد دیسک به مسیر دیگری در لینوکس مورد استفاده میباشد. برای مثال شما زمانی که یک usb را به لینوکس خود متصل میکنید این سختافزار به صورت یک پارتیشن توسط سیستم شناسایی خواهد شد و شما برای آنکه بتوانید از اطلاعات درون این دیسک در یک دایرکتوری مشخص شده توسط خودتان استفاده کنید میتوانید یک دایرکتوری ابتدا ایجاد کرده و سپس usb را به آن mount کنید.
۱
|
mount /dev/usb /root/myusb
|
برای خارج کردن پارتیشن از حالت استقرار هم از دستور زیر استفاده میکنیم.
۱
|
umount /dev/usb
|
شما به عنوان مدیر سرور نیاز دارید تا مرتباً مقدار فضای استفاده شده و یا فضای خالی هارد سرور را بررسی کنید و در صورت لزوم مناسبترین تمهیدات رو بی اندیشید توسط دستور df میتوانید تمامی پارتیشنهای مانت شده را به همراه مقدار فضای خالی آنها مشاهده نمایید.
۱
|
df –h
|
چنانچه بخواهید مقدار فضای استفاده شده توسط یک دایرکتوری خاص را بررسی کنید میتوانید از دستور زیر استفاده کنید.
۱
|
du –sh dirname
|
جای dirname نام دایرکتوری موردنظر خودتان را وارد نمایید.
در این بخش میرسیم به دستورات مدیریت کاربران که تماماً توسط مدیر سرور و با دسترسی root انجام میشه، مدیر میتونه توسط این دستورها در سرورهای لینوکسی یوزری ایجاد کرده، حذف و یا دسترسیهای آنها را محدود نماید.
توسط دستور زیر بر روی یک یوزر محدودیت زمانی اعمال میشود
۱
|
chage –E ۲۰۰۵–۱۲–۳۱ user
|
به جای user نام کاربری موردنظر خود را وارد نمایید و طبق همیشه برای بررسی سوییچها میتوانید از دستور man در ابتدای دستور استفاده کنید.
در بسیاری از مواقع شما باید یک گروه برای دستهای کاربران خاص ایجاد کرده و به این گروه دسترسیهای مشخصی را اعمال کنید و چنانچه در آینده بخواهید یوزر جدیدی با دسترسیهای مشابه ایجاد کنید کافی است یوزر را به این گروه الحاق نمایید و کار شما بسیار راحتتر خواهد شد.
با دستور groupadd groupname میتوانید این کار را انجام دهید فقط کافی است نام گروه کاربری موردنظر خود را جایگزین groupname کنید.
در هر زمان اگر بخواهید یک گروه را حذف نمایید دستور مشخصی بدین منظور در لینوکس برای آن در نظر گرفته شده است. توسط دستور groupdel به راحتی میتوانید اقدام به این کار کنید.
۱
|
groupdel groupname
|
گاهی مواقع هم نیاز هستش تا اطلاعات یک گروه کاربری مانند نام آن را تغییر دهید برای این منظور دستور groupmod تعیین شده است که با فرمت زیر میتوانید از آن بهرهمند شوید.
۱
|
groupmod –n vpsroyal tedsa
|
در دستور بالا ما نام گروه را از vpsroyal به tedsa تغییر دادیم.
دستور پرکاربرد بعدی دستور passwd میباشد که توسط آن میتوانید پسورد هر یوزر را تغییر بدید اگر با دسترسی روت وارد ناحیه ssh سرور شده باشید و این دستور را تنها وارد کنید در واقع دارید پسورد یوزر root رو تغییر میدید ولی چنانچه جلوی دستور نام کاربری را وارد کنید پسورد مشخصاً یوزر مربوطه تغییر خواهد کرد.
دستور مهم آخر نیز دستور اضافه کردن یوزر به سرور هستش که من کاملترین سوییچهای انو هم استفاده کرده که در ادامه براتون هرکدومو شرح میدم
۱
|
useradd –c “comment here” –g adm –d /home/user –s /bin/bash user
|
توسط سوییچ c برای یوزر یک کامنت تعریف میکنیم که البته وجود اون ضروری نیستش، توسط سوییچ g یوزر رو به گروه مربوطه مرتبط میکنیم و با d خانه یوزر و محل قرارگیری فایلهای هر یوزر رو مشخص میکنیم و توسط d نیز دسترسی کاربر به شل رو معلوم میکنیم.
حالا میخواهیم در این بخش به دستورات مدیریت فایلها بپردازیم، برای تغییر گروه یک فایل از دستور زیر میتوانیم استفاده کنیم.
۱
|
chgrp adm file
|
توسط دستور بالا file را به گروه کاربری adm تغییر میدهیم.
دستور بسیار مهم و کاربردی بعدی دستور chmod میباشد توسط این دستور میتوان پرمیژن هر فایل و یا دایرکتوری را تغییر داد. سه سمبلی که برای این دستور حتماً باید آنها را یادبگیرید r به معنی read و عدد ۴، w به معنی write و عدد ۲ و x به معنی execute و عدد ۱ میباشد.
زمانی که بخواهید به یک فایل فقط دسترسی خواندن داشته باشید با توجه به ترکیب بالا خروجی دستور می شود –r و عدد مربوطه ۴۰۰ خواهد شد یعنی chmod 400 file و بدین شکل میتوانید ترکیبهای دیگری برای این دستور نیز بسازید.
دستور بعدی chown میباشد مخفف change owner یا تغییر مالک، هر فایل و یا دایرکتوری به یک مالک و یک گروه اختصاص دارد شما توسط دستور مربوطه میتوانید با فرمت زیر این دو مورد رو تغییر بدید
۱
|
chown root:root file
|
چنانچه بخواهید به صورت تو در تو تمامی فایلها و یا دایرکتوریهای موجود در دایرکتوری موردنظر خود را تغییر مالک دهید از سوییچ R- به صورت زیر استفاده کنید.
۱
|
chown –R root:root directory
|
فشردهسازی و خارج کردن فایلها از حالت فشرده :
برای اکسترکت فایلهای فشرده شده با پسوند bz2. از دستور bunzip2 به شکل زیر میتوانید استفاده کنید.
۱
|
bunzip2 file.bz2
|
برای فشرده کردن یک فایل با پسوند bzip2 از دستور زیر میتوانید استفاده کنید.
۱
|
bzip2 file
|
برای خارج کردن فایل از حالت فشرده با پسوند gz. از دستور زیر میتوانید استفاده کنید.
۱
|
gunzip file.gz
|
برای فشرده کردن فایل با پسوند gz از دستور زیر استفاده میشود.
۱
|
gzip file
|
برای فشرده کردن یک فایل با حداکثر میزان فشردگی میتوانید از دستور زیر استفاده کنید.
۱
|
gzip –۹ file
|
برای فشرده کردن یک فایل با پسوند rar نیز میتوانید به فرمت زیر دستور را وارد کنید.
۱
|
rar a file.rar file
|
برای خارج کردن یک فایل از حالت فشرده نیز میتوانید به شکل زیر دستور را وارد نمایید.
۱
|
rar x file.rar
|
ایجاد یک فایل با فرمت tar به صورت غیر فشرده
۱
|
tar –cvf archive.tar file
|
برای خارج کردن یک فایل از حالت فشرده tar.gz. میتوانید از دستور زیر استفاده کنید.
۱
|
tar –xvfz archive.tar.gz
|
برای خارج کردن یک فایل از حالت فشرده با پسوند zip از دستور زیر میتوانید استفاده کنید.
۱
|
unzip file.zip
|
پایان جلسه چهارم
جلسه پنجم مدیریت بستههای RPM
در لینوکسهای مبتنی بر توزیع ردهت بیس برای نصب بستههای نرمافزاری از پکیجهای RPM استفاده میشود. بدین صورت که ابتدا شما باید فایل مربوط به نرمافزار خود را از اینترنت دانلود کرده و سپس توسط دستور زیر اقدام به نصب آن کنید.
۱
|
rpm –ivh package
|
به جای package نام نرمافزار خود را به صورت کامل وارد کنید.
چنانچه بخواهید یک پکیج را بدون در نظر گرفتن پیشنیازهای آن نصب کنید میتوانید از دستور RPM به صورت زیر استفاده کنید.
۱
|
rpm –ivh –nodeeps package
|
اگر بر روی لینوکس خود یک پکیج را از قبل نصب دارید و میخواهید آن را آپدیت کنید از دستور زیر میتوانید استفاده کنید.
۱
|
rpm –U package
|
برای حذف یک بسته میتوانید از دستور زیر استفاده کنید.
۱
|
rpm –e package
|
از دستور زیر نیز میتوانید برای نمایش تمامی پکیجهای نصب شده بر روی سیستم استفاده کنید.
۱
|
rpm –qa
|
حال اگر بخواهیم یک بسته را درون تمامی پکیجهای نصب شده بر روی سیستم جستجو کنیم میتوانیم از دستور زیر استفاده کنیم.
۱
|
rpm –qa | grep httpd
|
من در این مثال به دنبال پکیج httpd بودم
توسط دستور زیر میتوانیم صحت سالم بودن تمامی بستههای نصب شده بر روی سیستم خود را بررسی کنیم.
۱
|
rpm –qa gpg–pubkey
|
با دستور زیر هم میتوانیم یک پکیج را از حالت فشرده خارج کنید.
۱
|
rpm2cpio package | cpio –id
|
پایان جلسه پنجم آموزش دستورات لینوکس centos
جلسه ششم ابزار yum و نحوه استفاده از آن
در این جلسه از آموزش دستورات لینوکس به نحوه بررسی و نصب دقیق پکیجها بر روی توزیعهای مبتنی بر ردهت خواهیم پرداخت، این جلسه یکی از پرکاربردترین بخشهای دستورات لینوکس centos محسوب میشود.
در توزیعهای ردهت بیس همانند centos یک دستور قدرتمند برای نصب و مدیریت پکیجها با نام yum وجود دارد این ابزار همانند apt در توزیعهای دبیان بیس عمل میکند شما توسط این دستور میتوانید یک پکیج را جستجو، نصب و حتی حذف کنید.
توسط دستور زیر از سری دستورات لینوکس centos میتوانید یک پکیج را به صورت اتوماتیک نصب نمایید این دستور بدین شکل عمل میکند که ابتدا به مخازن centos رجوع کرده و در صورت وجود نام پکیج در مخزن آن را بر روی لینوکس شما نصب و راهاندازی میکند.
۱
|
yum –y install packagename
|
اگر پکیج در مخزن اصلی وجود نداشته باشد یا باید به صورت دستی آن را نصب کنید و یا در صورت وجود مخزن حاوی پکیج آن را بر روی لینوکس خود فعال کنید. برای مثال بسیاری از پکیجهای مهم توسط مخزن epel بر روی لینوکس قابل نصب هستند که شما میتوانید آن را با دستور زیر ابتدا بر روی لینوکس خود فعال کنید و بعد توسط دستور بالا آن را نصب کنید.
۱
|
yum install epel–release
|
توسط دستور زیر تمامی پکیجهایی که بر روی لینوکس شما نصب هستند به آخرین ورژن آپدیت میشوند، استفاده از دستور زیر برای یک مدیر سرور به صورت دورهای جز واجبات کار محسوب میشود.
۱
|
yum –y update
|
سوییچ y- باعث میشود بعد از بررسی پکیجها هنگام آپدیت جهت نصب از شما دوباره اجازه بازنویسی پرسیده نشود و تمامی کارها اتوماتیک و بدون وقفه انجام شوند.
برای حذف یک پکیج بعد از اینکه نام آن را یافتید باید توسط دستور زیر آن را حذف کنید. البته باید این را مدنظر داشته باشید فقط پکیجهایی توسط این دستور حذف میشوند که توسط دستور yum قبلاً نصب شده باشند.
۱
|
yum remove packagename
|
اگر به دنبال نصب یک پکیج خاص هستید ولی نام دقیق آن را نمیدانید و هنگام استفاده از دستور نصب با ارور مواجه میشوید کافی است بعد از دستور yum search بخشی از نام پکیج را وارد کنید تا اسم دقیق آن برای شما در خروجی نمایش داده شود.
اگر در گذشته هنگام نصب یک پکیج با ارور مواجه شده باشید محتمل است در آینده هنگام نصب پکیجهای جدید همان ارور قبلی برای شما رخ دهید در این مواقع باید توسط دستور yum clean all تمامی cache موجود بر روی لینوکس خود را پاک کرده و دوباره برای نصب اقدام کنید.
پایان جلسه ششم
جلسه هفتم مدیریت نصب پکیجها در توزیعهای دبیان بیس
توسط دستور dpkg میتوان در توزیعهای دبیان بیس مانند دبیان و اوبونتو به مدیریت بستههای نصبی پرداخت، توسط دستور زیر میتوان یک پکیج را بر روی سیستم نصب و یا آپدیت نمود.
۱
|
dpkg –i package.deb
|
مشخصاً باید به جای package.deb نام پکیجی که قصد نصب و یا آپدیت آن را دارید باید قرار دهید.
با استفاده از همین دستور و تنها با تغییر سوییچ به r- میتوان یک پکیج را از روی سیستم حذف نمود، فرمت استفاده از این دستور به شکل زیر میباشد.
۱
|
dpkg –r package
|
با استفاده از سوییچ l- میتوان لیستی از تمام پکیجهای نصب شده بر روی سیستم را در خروجی نمایش داد.
۱
|
dpkg –l
|
چنانچه بخواهید یک پکیج نصب شده بر روی سیستم را درون این لیست جستجو کنید کافی است از دستور زیر استفاده کنید.
۱
|
dpkg –l | grep httpd
|
توسط دستور بالا خروجی لیست شده را به ورودی دستور grep داده و میتوانیم هر پکیجی را جستجو کنیم که در این مثال ما به دنبال وب سرور apache بودیم.
اگر بر روی سرور به یک فایلی برخورد کردید و خواستید که بدانید این فایل دقیقاً مربوط به کدام پکیج نصبی بوده است میتوانید از دستور زیر استفاده کنید.
۱
|
dpkg –S /bin/ping
|
پایان جلسه هفتم
جلسه هشتم مشاهده محتویات فایل
در لینوکس شما همواره به عنوان مدیر سرور نیاز خواهید داشت تا محتویات درون فایلها را بررسی کنید و آن را بخوانید و یا ادیت کنید لینوکس انعطافپذیری بسیار زیادی برای خواندن فایلها با دستورات متنوع دارد یکی از مشهورترین آنها دستور cat میباشد.
cat یکی از دستورات لینوکس centos است که توسط دستور cat شما همواره هر فایلی را با هر پسوندی میتوانید باز کرده و محتویات آن را بخوانید و کاربرد دیگر دستور cat ادغام محتویات چند فایل به صورت همزمان باهم و نمایش خروجی آن هاست.
۱
|
cat file
|
توسط دستور بالا تمامی محتویات داخل file در خروجی نمایش داده خواهد شد.
دستور بعدی head میباشد همانطور که از معنی آن هم مشخص است این دستور برای نماش بخش ابتدای یک فایل به کار میرود، برای مثال توسط دستور زیر ما فقط دو خط ابتدایی فایل را در خروجی نمایش میدهیم.
۱
|
head –۲ file
|
حالا اگر بخواهیم چند خط انتهایی فایل را نمایش دهیم باید از دستور tail استفاده کنید، قرینه دستور بالا را با less اجرا میکنیم و دو خط انتهایی فایل را مشاهده میکنیم.
۱
|
tail –۲ file
|
دستور less و more نیز قابلیت خواندن یک فایل را فراهم کرده با این تفاوت که more به صورت درصدی و جلو رونده بوده و less قابلیت رو به عقب و خواندن خط به خط را فراهم میکند و نسبت به more پرکاربردتر است.
پایان جلسه هشتم
جلسه نهم ادیت و کار با فایل متنی
اگر بخواهیم یک ستون خاصی از خروجی را جدا کنیم باید از دستور awk استفاده کنید، این دستور به شدت پرکاربرد بوده و برای شخصی سازی خروجی مورد استفاده میباشد.
۱
|
echo hello world | awk ‘{print $1}’
|
توسط دستور بالا ما خروجی حاصل از دستور echo را به صورت شخصی سازی شده درآورده و فقط ستور اول آن را جدا میکنیم، یعنی کلمه hello فقط در خروجی نمایش داده خواهد شد.
اگر بخواهیم دو فایل را با هم مقایسه کنیم دستوری منحصراً برای این کار در لینوکس تعبیه شده است که میتوان از آن استفاده کرد توسط دستور زیر ما دو فایل test1 و test2 را با هم مقایسه میکنیم.
۱
|
diff test1 test2
|
دستور فوقالعاده پرکاربرد و بینظیر بعدی grep هستش که به کمک آن میتوانید درون محتویات یک فایل جستجو کنید، برای مثال شما میخواهید درون یک دایرکتوری خاص هر فایلی که دورن آن عبارت tedsa آمده بود را پیدا کنید به راحتی توسط دستور grep و به شکل زیر میتوانید این کار را انجام دهید.
۱
|
grep tedsa /var/log/messages
|
البته در دستور بالا ما فقط درون فایل لاگ messages به دنبال عبارت tedsa بودیم شما میتوانید از این دستور به شکلهای بهینهتری استفاده کنید و سوییچهای مهم آن را باهم ترکیب کنید.
دستور بعدی sed هستش که به کمک آن میتوانید یک حرف و یا رشته خاصی را با عبارات دلخواه خود جایگزین کنید، این دستور زمانی بسیار مهم جلوه میکند که شما قصد دارید تعداد بسیار زیادی از یک حرف و یا جمله را درون یک و یا چندین فایل به سرعت و فقط با یک دستور تغییر دهید.
۱
|
sed ‘s/string1/string2/g’ example.txt
|
توسط دستور بالا ما عبارت string1 را به string2 درون فایل example.txt تبدیل کردیم
دستور آخر نیز sort بوده که به وسیله آن میتوان خروجی چند فایل را به صورت مرتب شده بر اساس فاکتور دلخواه شما درآورد.
۱
|
sort file1 file2 | uniq
|
با استفاده از دستور بالا دو فایل file1 و file2 با هم ترکیب شده و خروجی آنها به صورت sort شده و البته با حذف خطوط تکراری نمایش داده میشود.
پایان جلسه نهم
جلسه دهم آنالیز و تعمیر فایل سیستم
در مواردی در لینوکس، فایل سیستم شما ممکن است دچار مشکل شود و شما به عنوان مدیر سیستم باید در سریعترین زمان مشکلات موجود را رفع نمایید، یکی از دستوراتی که در اینگونه موارد به کمک شما میآید دستور fsck میباشد که وظیفه چک و رفع مشکلات فایل سیستم را بر عهده دارد.
۱
|
fsck /dev/sda1
|
توسط این دستور پارتیشن اول هارد اول سیستم را جهت بررسی مشکلات موجود آنالیز میکنیم.
دستور fsck خود یک دستور font-end برای دستور fsck.ext2,fsck.ext3,fsck.vfat و … میباشد که با توجه به نوع پارتیشن فرمت هارد شما آن را به صورت اتوماتیک شناسایی و اجرا میکند.
توسط دستور زیر هم اگر بلاکهای معیوبی بر روی سیستم موجود باشد بررسی و برطرف خواهد شد.
۱
|
badblocks –v /dev/hda1
|
یکی دیگر از دستورات مدیریتی در لینوکس دستور mkfs میباشد که وظیفه پارتیشنبندی هارد را بر عهده دارد، استفاده از این دستور بدون سوییچ به شکل زیر بر روی hda1 پارتیشن فرمت ext2 را اجرا میکند.
۱
|
mkfs /dev/hda1
|
استفاده از سوییچهای این دستور به شما قابلیت پارتیشنبندی هارد با انواع رایج فرمتها را فراهم میسازد، برای مثال توسط دستور زیر فرمت FAT32 رو بر روی هارد اجرا میکنیم.
۱
|
mkfs –t vfat ۳۲ –F /dev/hda1
|
دستور آخر نیز mkswap میباشد یک دستور کم کاربرد ولی ضروری برای مدیران سیستم، این دستور به شما امکان پارتیشنبندی یک هارد را به منظور اختصاص دهی برای عملیات swap فراهم میکند، swap یک فضایی بر روی هارد است که اصولاً مقدار آن دو برابر رم سیستم است و نهایتاً ۸ گیگ بوده و در مواقعی که رم موجود بر روی لینوکس قادر به پاسخگویی به درخواستها نباشد با نوشتن اطلاعات قبلی روی رم روی فضای swap رم را برای پاسخگویی به درخواستهای جدید خالی میکند که البته کند میباشد ولی برای استفادههای سروری ضروری است.
۱
|
mkswap /dev/hda3
|
توسط دستور بالا پارتیشن سوم هارد اول را به swap اختصاص دادیم البته بحث مدیریت swap تخصصی بوده که سعی کردیم در دوره ۰ تا ۱۰۰ لینوکس برای مدیران سرور آن را آموزش دهیم.
بعد از پارتیشنبندی هارد مربوط به swap باید آن را در فایل fstab تعریف کنید و توسط دستور swapon آن را به فضای موجود اختصاص دهید.
۱
|
swapon /dev/hda3
|
بدیهی است توسط دستور swapoff میتوانیم فضایی که برای عملیات swap اختصاص دادهایم را غیرفعال کنیم.
پایان جلسه دهم آموزش دستورات لینوکس
جلسه یازدهم بکاپ گیری و دستورات شبکه
در لینوکس دستورات متنوعی برای گرفتن بکاپ وجود دارد که هر کدام کارایی متفاوتی را ایجاد میکنند، دستور زیر که یک دستور ترکیبی است ابتدا تمامی فایلهای log را بر روی سیستم پیدا کرده و سپس از تمامی آنها یک فایل فشرده درست میکند.
۱
|
find /var/log –name ‘*.log’ | tar cv —files–from=– | bzip2 > log.tar.bz2
|
در واقع شما با زدن یک دستور توانستید مجموعهای از فایلهای پراکنده log را به صورت یک فایل فشرده در سریعترین زمان ممکن در اختیار بگیرید که اگر این کار را دستی قصد داشتید انجام بدید زمان بسیار زیادی را فقط باید صرف پیدا کردن فایلها میکردید.
توسط دستور زیر هم از طریق ssh یک سرور ثانویه، از هارد سرور هدف یک بکاپ تهیه میکنیم
۱
|
dd bs=۱M if=/dev/hda | gzip | ssh user@ip_addr ‘dd of=hda.gz’
|
توسط دستور زیر هم می توانیم بکاپ موجود از دایرکتوری home/ را بازگردانی کنیم
۱
|
restore –if /tmp/home0.bak
|
با دستور tar هم به شکل زیر میتوان از یک دایرکتوری به طور کامل نسخه پشتیبان تهیه کرد.
۱
|
tar –cvf backup.tar /home/user
|
در بررسی آموزش دستورات لینوکس به بخش شیرین دستورات شبکه میرسیم که میتوانیم به واسطه آنها رو شبکه کنترل دقیقی داشته باشیم
دستور اول وظیفه بردن کارت شبکه روی مد dhcp را بر عهده دارد
۱
|
dhclient eth0
|
البته نام کارت شبکه را توسط دستور ifconfig پیدا میکنیم و توسط دستور بالا مد آن را تغییر میدهیم.
حال میتوانیم توسط دستور ifconfig eth0 تنظیمات کارت شبکه خودمان را مشاهده کنیم و مقادیر ip و gateway و netmask را بررسی و حتی تغییر دهیم.
اگر بخواهیم کارت شبکه را از شبکه خارج کنیم میتوانیم توسط دستور زیر موقتاً آن را غیرفعال کنیم.
۱
|
ifdown eth0
|
حالا اگر بخواهیم کارت شبکه را به حالت اول برگردانیم و وارد شبکه کنیم میتوانیم از دستور مخالف یعنی ifup eth0 استفاده کنیم.
دستور مهم و پرکاربرد بعدی netstat هستش که به واسطه آن میتوان اتصالات شبکه را به طور دقیق ردیابی کرد این دستور به همراه سوییچهای آن قدرتمند و با ارزش است پس لزوماً باید با استفاده از man به کاربرد تمامی سوییچهای آن مسلط شوید.
۱
|
netstat –tup
|
این دستور تمامی اتصالات شبکه و PID مربوط به هرکدام را نمایش میدهد.
در مبحث روتینگ و تنظیم gateway نیز از دستور route استفاده خواهیم کرد. استفاده از این دستور به همراه سوییچ n- تمامی اطلاعات مربوط به جداول روتینگ را نمایش میدهد.
۱
|
route –n
|
حالا اگر بخواهیم آدرس gateway مربوط به یک کارت شبکه را تغییر دهیم میتوانیم از دستور زیر استفاده کنیم.
۱
|
route add –net ۰/۰ gw IP_Gateway
|
بدیهی است باید به جای gw IP_Gateway آدرس Ip مربوط به gateway دریافتی از سمت دیتاسنتر را وارد نمایید.
در لینوکس و در لابهلای آموزش دستورات لینوکس به یک دستور مهم و البته کاربردی در مواقع خاص میرسیم، توسط دستور زیر شما سرور و یا سیستم خودتان را به حالت مد routing میبرید یعنی لینوکس شما همانند یک روتر قابلیت روت کردن پکتها را خواهد داشت.
۱
|
echo “۱” > /proc/sys/net/ipv4/ip_forward
|
دستور بعدی که مدیران شبکه و سیستم از آن بسیار زیاد استفاده میکنند دستور tcpdump میباشد توسط این دستور میتوان پکتهای شبکه را خروجی گرفت و دیتاهای رد و بدل شده را آنالیز کرد.
۱
|
tcpdump tcp port ۸۰
|
توسط دستور بالا تمامی پکتهای مربوط به وب سرور بر بستر پروتکل tcp در خروجی نمایش داده خواهند شد.
پایان جلسه یازدهم
جلسه دوازدهم دیواره آتش
در لینوکس به صورت پیشفرض از یک فایروال قدرتمند به نام iptables بهره گرفته شده است، توسط این ابزار قدرتمند و البته با تسلط به دستورات آن میتوان رولهای بسیار قدرتمندی نوشت که جلوی بسیاری از حملات شبکه را گرفته و برای شما امنیت را به طور چشمگیری افزایش دهد.
طبق همیشه استفاده از man برای مشاهده سوییچهای کاربردی و راهنمای دستور استفاده میکنیم و بعد با استفاده از تمرین بر دستورات مسلط میشویم.
اولین دستور برای نمایش تمامی رولهای مربوط به filter هستش که در خروجی برای شما لیست خواهد شد.
۱
|
iptables –t filter –L
|
در واقع استفاده از دستور iptables به این فرمت برای گرفتن اطلاعات دیتابیس فایروال میباشد.
دستور iptables -t nat –F نیز تمامی رولهای مربوط به nat را در خروجی نمایش میدهد.
دیواره آتش iptables دارای یکسری فرمتهای مشخص بوده که با یادگیری چند نمونه از آنها میتوانید به راحتی قوانین متنوعی را بنویسید.
توسط دستور زیر ما اجازهی اتصال telnet به ورودی را میدهیم.
۱
|
iptables –t filter –A INPUT –p tcp —dport telnet –j ACCEPT
|
یا توسط دستور زیر اجازه اتصال http به خروجی را مسدود میکنیم.
۱
|
iptables –t filter –A OUTPUT –p tcp —dport http –j DROP
|
و یا حتی میتوان بستههای یک میزبان را به یک مقصد و یا میزبان دیگر تحویل داد.
۱
|
iptables –t nat –A PREROUTING –d ۱۹۲.۱۶۸.۰.۱ –p tcp –m tcp —dport ۲۲ –j DNAT —to–destination ۱۰.۰.۰.۲:۲۲
|
پایان جلسه دوازدهم
جلسه سیزدهم نظارت و اشکالزدایی سیستم
در این جلسه از آموزش دستورات لینوکس میرسیم به مبحث نظارت روی سختافزار و اتصالات شبکه، یک مدیر سیستم باید توانایی بررسی و حل مشکلات سیستم را در مواقع ضروری داشته باشد ممکن است در مواقعی لود سرور بالا رفته و مشکلاتی از جمله down شدن سرویسها را همراه داشته باشد و یا اتصالات و پکتهای بیشماری از سمت آدرسهایی محدودی به سمت سرور شما باعث اشغال منابع سرور شده و شما را زحمت بیندازد.
در اینگونه از موارد شما باید توانایی این را داشته باشید که سریعاً وارد عمل شده مشکل را یافته و بهترین راهکار را جهت برون رفت اعمال کنید.
یکی از منابع مهم و همیشه درگیر در سیستم رم میباشد، شما باید مرتباً میزان خالی و پر بودن رم را بررسی کنید و در صورت لزوم به صورت سختافزاری منابع را افزایش داده و یا برای خروج از overload شدن راهکاری پیدا کنید.
۱
|
free –m
|
این دستور میزان فضای استفاده شده و فضای خالی رم را بر حسب مگابایت به شما نمایش میدهد.
در مواقعی شما یک پروسه را در سیستم پیدا میکنید که هیچ نیازی به آن ندارید و یا باید در حال حاضر آن پروسه را ببندید و یا حتی در مواقعی در لینوکس شما به صورت معمول نمیتوانید یک سرویس را غیرفعال کنید و پروسه آن کماکان در پسزمینه در حال اجراست در این موارد توسط دستور زیر میتوانید به طور حتم آن را ببندید.
۱
|
kill –۹ process_id
|
شما باید به جای process_id عدد مربوط به شماره PID آن پروسه را ابتدا پیدا کنید و سپس با جایگزینی آن را ببندید، برای پیدا کردن شماره پروسهها میتوانید از دستورات مختلفی همچون ps و یا top استفاده کنید.
توسط دستور زیر میتوانید آخرین باری که سیستم راهاندازی مجدد شده را مشاهده کنید.
۱
|
last reboot
|
لینوکس توسط کرنل و ماژولهای که توسط آن راهاندازی میشود اجرا و کاربردی میشود در لینوکس توسط دستور زیر شما میتوانید لیستی از ماژولهای در حال اجرای روی سیستم را مشاهده کنید.
۱
|
lsmod
|
اگر بخواهید لیستی از فایلهایی که یک پروسه در حال استفاده از آنها میباشد را پیدا کنید میتوانید از دستور زیر استفاده کنید.
۱
|
lsof –p process_id
|
همانطور که قبلتر هم اشاره کردیم توسط دستور ps میتوان پروسههای سیستمی را مشاهده کرد، این دستور توسط سوییچهای آن کاربردی میشود و نمونهای از این دستور که نمایش تمامی برنامههای در حال اجرا را ممکن میکند به شکل زیر میباشد.
۱
|
ps –eafw
|
شاید در مواقعی بخواهید وابستگی هر پروسه به دیگری را به صورت یک نمایش گرافیکی و درختی مشاهده کنید که لینوکس یک دستور برای این کار در نظر گرفته که میتوانید از آن استفاده کنید.
۱
|
pstree
|
دستور بسیار مهم بعدی دستور top هستش که به جرات میتوان گفت تمامی مدیران سیستم به صورت روزانه از آن استفاده میکنند.
این دستور تمامی پروسهها، میزان استفاده از منابع را به صورت در لحظه نمایش میدهد و ابزاری قدرتمند برای سنجش کارای و رفع مشکل سیستم است.
پایان جلسه سیزدهم
جلسه آخر دستورات اضافی و الحاقی
در لینوکس قابلیتی به نام alias وجود دارد که به واسطه آن میتوانید برای دستورات عبارات معادل و کوتاه دلخواه در نظر بگیرید برای مثال توسط دستور زیر شما تعریف میکنید که هرگاه hh تایپ شد عملکردی مانند دستور history را داشته باش
۱
|
alias hh=‘history’
|
در مواردی که امنیت برای شما مهم باشد قابلیت دیگری در لینوکس وجود دارد که شما میتوانید به واسطه آن بر روی فایلهای خود یک کد احراز هویت قرار دهید تا اگر این فایل توسط افراد متخلف دچار تغییر شد به وسیله این امضا بتوانید متوجه تغییرات اعمالی بر روی فایل شوید.
۱
|
gpg –c file1
|
توسط این دستور شما روی فایل یک کد رمزنگاری شده قرار میدهید.
در مواقعی نیاز دارید تا کتابخانههای استفاده شده یک برنامه را دقیقاً متوجه شوید تا از آنها در برنامهنویسی خود استفاده کنید و یا حتی آن کتابخانه به خصوص را آپدیت کنید توسط دستور ldd /usr/bin/ssh به طور مثال میتوانید تمامی کتابخانههای مورد استفاده دستور ssh را مشاهده کنیم.
دستور آخر نیز دستور who –a هستش که به واسطه آن میتوان تمامی کاربرانی که در حال حاضر به سیستم متصل هستند، پروسههای فعال، پروسههای مرده، آخرین تغییرات روی ساعت و … را مشاهده کرد.
تاپیک طولانی آموزش دستورات لینوکس بالاخره به اتمام رسید، سعی کردیم کاملترین مرجع با سلیسترین بیان را برای شما ارائه کنیم که امیدواریم برای شما کاربردی و مفید بوده باشه.