نویسنده: fema co
12 فوریه 2020
0 188
آموزش دستورات لینوکس

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

در این مقاله به آموزش دستورات لینوکس میپردازیم , کارکردن با لینوکس که امروزه رشد بسیار زیادی داشته و در اکثر موارد میزبانی و .. نیز وجود دارد جزء ملزمات یک مدیر سرور میباشد.

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

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

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

زمان شروع به فعالیتم در زمینه آیتی و سایت و سرور هیچ یک از دستورات را بلد نبودم بجز دستورات مبتدی مثل نمایش دایرکتوری و ورژن و …. دقیقا مشابه زمانی که فارق التحصیل شدم و آخر دوره دانشگاهیم متوجه شدم بجز نوشتند چندین ماشین حساب و بازی با ریشه دستورات ویندوز مثل قرمز کردن رنگ و تغییر دایرکتوری و ریشه اصلی و دستور اسکن ریشه درختی tree هیچ نمیدانم.

اینترنت خیلی ارزشمند است مخصوصا اینکه شما آموزه هایی رو یاد میگیرید که با پول و وقت و صرف جوانی و… ممکن است یاد نگیرید یا دلسرد شوید مانند آموزش برنامه نویسی که هیچ وقت در هیچ دانشگاهی تدریس نمیشود مگر دانشجو خلاق باشد.

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

در لینوکس نیز همینگونه است دوره های زیادی وجود دارد و حتی تدریس آکادمیک هم میشود و جدیدا به دروس رشته های دبیرستانی نیز اضافه گردیده ولی نسخه سرور متفاوت است.

شما ویندوزی دارید و با محیط گرافیکی آشنایی دارید که همین موضوع را من درک کردم که هیچ یک از ما ۱۰۰ درصد ویندوز را نمیشناسیم و فقط در حد نیازهایمان فرا میگیریم,دقیقا لینوکس نیز همین موارد را شامل میشود ولی درصد خیلی کمی را زیرا در عین سادگی قدرتی شگرف دارد و نسخه سرور و کلاینت آن تفاوت جزء دارد .

آموزش دستورات لینوکس برابر هستند و دسته بندیهای زیادی دارند که تقسیم به ۲ شاخه اصلی میشوند:

۱-لینوکس

۲- یونیکس

تفاوت آنچنانی در دستورات ندارند ولی ریشه های بازخوانی و فراخوانی متفاوت است.

در این مقاله با دستورات لینوکس آشنا میشیم و در مقالات قبل مثل آموزش نصب دایرکت ادمین یا تغییر پورت SSH  یا آموزش کار با ویرایشگر vi و یا تنظیم کارت شبکه در cent os مشاهده کرده اید که این دستورات جز بهترین ابزارها هستند و دوران بسنده کردن به نرم افزار و … تمام شده.

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

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

در لینوکس همه‌چیز به یک سری فایل و دایرکتوری تقسیم‌بندی می‌شود ساختار دایرکتوری‌ها (همان فولدرها در ویندوز) در لینوکس همان‌طور که در عکس زیر مشاهده می‌کنید به صورت یک درخت وارونه می‌باشد.

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

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

هر دایرکتوری، خود شامل یک سری دایرکتوری و فایل‌های مهم سیستمی دیگر می‌باشد که وظیفه‌های اساسی و مهم لینوکس را انجام می‌دهند.

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

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

یکی از کارهایی که ابتدا باید در لینوکس با آن آشنا شوید نحوه‌ی باز کردن فایل‌ها می‌باشد، شما در ویندوز با رفتن روی آیتم موردنظر خود و دابل کلیک کردن، فایل مربوطه را باز می‌کردید، در لینوکس این عمل با دستور 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 دستور را وارد می‌کنیم fvhd

man cat

 

برای نمایش ورژن سیستم عامل لینوکس و یا دستور نمایش سیستم عامل لینوکس دستور زیر را وارد کنید:

cat /etc/issue

 

دستور init  که توسط آن می‌توانید مد کارکرد سرور رو تغییر بدید، ۶ مد برای این دستور تعریف شده که ۰ برای بردن سیستم به حالت shutdown مد ۱ حالت single user هستش که معمولاً برای ریکاوری استفاده میشه.

مد ۲ حالت multi user مد ۳ حالت multi user with networking مد ۴ بلا استفاده و تعریف نشده، مد ۵ حالت گرافیکی سیستم که لینوکس معمولاً در این حالت کار میکنه و با GUI بالا میاد و مد ۶ هم بردن لینوکس به حالت ریبوت هستش مانند زمانی که شما دستور reboot رو وارد می‌کنید.

init 0
init 1
init 2
init 3
init 5
init 6

 

دستور بعدی 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 1.txt /home/1.txt

 

دستور بالا که کاملاً مشخصه توسط دستور زیر هم یک دایرکتوری رو عیناً با محتویات داخلش کپی می‌کنیم یک جای دیگه

cp /music /music2

 

توسط دستور ls می‌توانید یک خروجی از دایرکتوری که در حال حاضر در آن هستید بگیرید و هر فایل و دایرکتوری موجود در این دایرکتوری را مشاهده کنید.

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

دستور ls دارای سوییچ‌های گوناگونی است که با زدن دستور man همان‌طور که توضیح دادم می‌توانید از آن‌ها استفاده کنید ولی دستور ls با سوییچ‌های زیر به طور کامل جواب تمامی نیازهای شما را خواهد داد

ls –lha
ls –lthra

 

اگر بخواهید در لینوکس یک دایرکتوری بسازید باید چیکار کنید؟ باید از دستور mkdir مخفف make directory استفاده کنید و سپس نام دایرکتوری را بدید در مثال زیر ما یک دایرکتوری با نام famaserver می‌سازیم.

mkdir famaserver

 

اگر بخواهید یک فایل یا یک دایرکتوری را کلاً در لینوکس جابه‌جا کنید مانند move در ویندوز از دستور mv استفاده می‌کنیم در مثال زیر من دایرکتوری famaserver رو منتقل می‌کنم به home به طور کامل

mv famaserver /home

 

اگر در لینوکس بخواهید ببینید در حال حاضر در چه دایرکتوری هستید از دستور pwd استفاده می‌کنیم با زدن این دستور لینوکس به شما دایرکتوری فعلی که در آن هستید رو به صورت absolute path نمایش خواهد داد.

pwd

 

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

rm famaserver

 

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

rm –rf famaserver

 

اگر بخواهید در لینوکس یک فایل خالی با هر پسوندی بسازید هم از دستور touch می‌توانید استفاده کنید البته در جلوتر خواهم گفت که با کمک ادیتورها هم می‌توانید این کار رو انجام بدید.

touch test.txt

 

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

این دستور کاربرد مدیریتی چندانی ندارد ولی برای کامل کردن آموزش دستورات لینوکس و جامع شدن این بخش باید تمامی دستورها رو بگیم خدمتتون

tree

 

 

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

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

find / -name filename

 

به جای filename نام فایل موردنظر خود را وارد کنید.

اگر به دنبال فایل‌هایی با پسوند خاصی می‌باشید می‌توانید به صورت زیر از دستور find استفاده کنید. توسط دستور زیر تمامی فایل‌هایی که پسوند آن‌ها txt. می‌باشد برای شما نمایش داده خواهند شد.

find / -name *.txt

 

البته اینو هم مدنظر داشته باشید اگر مسیر خاصی به غیر از شاخه / را بخواهید جستجو کنید می‌توانید مسیر خود را جایگزین آن کنید.

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

find / -type f –atime 30

 

در دستور بالا با سوییچ 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 2005-12-31 user

 

به جای user نام کاربری موردنظر خود را وارد نمایید و طبق همیشه برای بررسی سوییچ‌ها می‌توانید از دستور man در ابتدای دستور استفاده کنید.

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

با دستور groupadd groupname می‌توانید این کار را انجام دهید فقط کافی است نام گروه کاربری موردنظر خود را جایگزین groupname کنید.

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

groupdel groupname

 

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

groupmod -n plan1 famaserver

 

در دستور بالا ما نام گروه را از plan 1 به famaserver تغییر دادیم.

دستور پرکاربرد بعدی دستور passwd می‌باشد که توسط آن می‌توانید پسورد هر یوزر را تغییر بدید اگر با دسترسی روت وارد ناحیه ssh سرور شده باشید و این دستور را تنها وارد کنید در واقع دارید پسورد یوزر root رو تغییر میدید ولی چنانچه جلوی دستور نام کاربری را وارد کنید پسورد مشخصاً یوزر مربوطه تغییر خواهد کرد.

passwd root
passwd admin
passwd username

 

دستور اضافه کردن یوزر به سرور هستش که من کامل‌ترین سوییچ‌های انو هم استفاده کرده که در ادامه براتون هرکدومو شرح میدم

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 و بدین شکل می‌توانید ترکیب‌های دیگری برای این دستور نیز بسازید.

chmod -r filenemaor dir
chmod 777 filename or dir

 

دستور بعدی chown می‌باشد مخفف change owner یا تغییر مالک، هر فایل و یا دایرکتوری به یک مالک و یک گروه اختصاص دارد شما توسط دستور مربوطه می‌توانید با فرمت زیر این دو مورد رو تغییر بدید

chown root:root file

 

چنانچه بخواهید به صورت تو در تو تمامی فایل‌ها و یا دایرکتوری‌های موجود در دایرکتوری موردنظر خود را تغییر مالک دهید از سوییچ R- به صورت زیر استفاده کنید. [inter_codes color="#4A148C"]chown –R root:root directory[/inter_codes]

فشرده‌سازی و خارج کردن فایل‌ها از حالت فشرده :

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

bunzip2 file.bz2

 

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

bzip2 file

 

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

gunzip file.gz

 

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

gzip file

 

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

gzip -9 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 -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

 

ابزار 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 -2 file

حالا اگر بخواهیم چند خط انتهایی فایل را نمایش دهیم باید از دستور tail استفاده کنید، قرینه دستور بالا را با less اجرا می‌کنیم و دو خط انتهایی فایل را مشاهده می‌کنیم.

tail -2 file

دستور less و more نیز قابلیت خواندن یک فایل را فراهم کرده با این تفاوت که more به صورت درصدی و جلو رونده بوده و less قابلیت رو به عقب و خواندن خط به خط را فراهم می‌کند و نسبت به more پرکاربردتر است.

 

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

اگر بخواهیم یک ستون خاصی از خروجی را جدا کنیم باید از دستور awk استفاده کنید، این دستور به شدت پرکاربرد بوده و برای شخصی سازی خروجی مورد استفاده می‌باشد.

 

echo hello world | awk '{print $1}'

 

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

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

 

diff test1 test2

 

دستور بعدی 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 32 -F /dev/hda1

 

دستور آخر نیز mkswap می‌باشد یک دستور کم کاربرد ولی ضروری برای مدیران سیستم، این دستور به شما امکان پارتیشن‌بندی یک هارد را به منظور اختصاص دهی برای عملیات swap فراهم می‌کند، swap یک فضایی بر روی هارد است که اصولاً مقدار آن دو برابر رم سیستم است و نهایتاً ۸ گیگ بوده و در مواقعی که رم موجود بر روی لینوکس قادر به پاسخگویی به درخواست‌ها نباشد با نوشتن اطلاعات قبلی روی رم روی فضای swap رم را برای پاسخگویی به درخواست‌های جدید خالی می‌کند که البته کند می‌باشد ولی برای استفاده‌های سروری ضروری است.

 

mkswap /dev/hda3

 

توسط دستور بالا پارتیشن سوم هارد اول را به swap اختصاص دادیم البته بحث مدیریت swap تخصصی بوده که سعی کردیم در دوره ۰ تا ۱۰۰ لینوکس برای مدیران سرور آن را آموزش دهیم.

بعد از پارتیشن‌بندی هارد مربوط به swap باید آن را در فایل fstab تعریف کنید و توسط دستور swapon آن را به فضای موجود اختصاص دهید.

swapon /dev/hda3

 

بکاپ گیری و دستورات شبکه

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

 

find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2

 

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

توسط دستور زیر هم از طریق ssh یک سرور ثانویه، از هارد سرور هدف یک بکاپ تهیه می‌کنیم

 

dd bs=1M 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 0/0 gw IP_Gateway

 

بدیهی است باید به جای gw IP_Gateway آدرس Ip مربوط به gateway دریافتی از سمت دیتاسنتر را وارد نمایید.

در لینوکس و در لابه‌لای آموزش دستورات لینوکس به یک دستور مهم و البته کاربردی در مواقع خاص می‌رسیم، توسط دستور زیر شما سرور و یا سیستم خودتان را به حالت مد routing می‌برید یعنی لینوکس شما همانند یک روتر قابلیت روت کردن پکتها را خواهد داشت.

echo "1" > /proc/sys/net/ipv4/ip_forward

 

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

 

tcpdump tcp port 80

 

توسط دستور بالا تمامی پکتهای مربوط به وب سرور بر بستر پروتکل tcp در خروجی نمایش داده خواهند شد.

 

 

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

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

منبع فاما سرور

 

 

اشتراک گذاری

مقالات مرتبط این مطلب پیشنهاد می شود

خدمات فاما سرور

  • سرور مجازی

    سرور مجازی

    سرور مجازی یکی از سرویس های پر استفاده و مقرون بصرفه برای کسب و کارهای کوچک و خدمات سایر در ضمینه IT و شبکه میباشد که توان پشتیبانی از 128 هسته و 512 گیگ رم را دارد.

  • سرور اختصاصی

    سرور اختصاصی

    سرور های اختصاصی فاماسرور از دو گروه نسل جدید و پردازش سنگین استفاده میشود که میتوانید تا 155 گیگاهرتز پردازش و تا 1.5 ترابایت رم را در اختیار داشته باشید.

  • بیگ بلوباتن

    بیگ بلوباتن

    سرور بیگ بلوباتن اختصاصی و مجازی یکی از خدمات , برای استفاده از کلاس های آموزشی , جلسات و ... بصورت دوطرفه و با کیفیت تضمین شده میباشد.

  • هاست لینوکس

    هاست لینوکس

    در هاست لینوکس با منابع گوناگون امکان میزبانی از سایت های بزرگ و پر بازدید نیز وجود دارد و میتوان از مزایا و خدمات آن استفاده کرد.

  • هاست دانلود

    هاست دانلود

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

  • ثبت دامنه

    ثبت دامنه

    ثبت دامنه های بین المللی , دامنه ir و دامنه های با پسوند های مختلف در فاماسرور پشتیبانی میشوند.