انجمن تخصصی ایران سرور

نسخه‌ی کامل: آشنایی با دستورات مهم لینوکس
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
در ویندوز administrator توانایی انجام هر گونه تنظیمی مثل اضافه کردن, حذف کاربر , دادن permission به یک فلدر و یا فایل خاص و ... دارد در سیستم لینوکس administartor را root می نامیم.بدین مفهوم که root قادر به انجام اختیارات گفته شده می باشد. 
برای تشخیص اینکه کاربر در سیستم login کرده یا root میتوانیم از اعلائم زیر این مطلب را متوجه شویم # نشاندهنده root و یا در اصطلاح super user می باشد.
$ نشاندهنده کاربر معمولی و یا همان normal user می باشد.
پس از وارد کردن root به عنوان اسم login و پسورد , خط زیر نمایان میشود:
[root@localhost ~]
root نشاندهنده اسم user می باشد.
localhost نام کامپیوتر می باشد.
~ دایرکتوری که در آن هستیم می باشد.
از فرمانهای زیر برای خروج از حساب کاربری استفاده میشود :
#logout 
#exit

از فرمانهای زیر برای راه اندازی مجدد سیستم استفاده میشود:
#reboot
#init 6

از فرمان زیر برای خاموش کردن سیستم استفاده میشود:
#shutdown
#init 0

نمایش تاریخ:
#date

Calander نمایش تقویم:
#cal
بوسیله فرمان زیر سه ماه قبل , جاری , و بعد را مشاهده میکنیم:
#cal -3
بوسیله فرمان زیر 12 را مشاهده میکنیم:
#cal -y
12 ماه سال مورد نظر را میتوانیم مشاهده کنید:
#cal 2005

یکی از خصوصیات جالب لینوکس استفاده ازفرمان کمک می باشد.بوسیله فرمانهای زیر میتوانیم درباره فرمان مورد نظرمان اطلاعات کاملی کسب کنیم:
#man date
#info date
#date --help
#whatis cal
man به معنی manual میباشد و info به معنی information

از فرمان cd که به معنی change directory میباشد برای رفتن به یک دایرکتوری مورد نظر میتوانیم استفاده کنیم:
#cd /bin 
[root@localhost /bin]#

از فرمان ls که به معنی  lists میباشد محتویات بک دایرکتوری یا فولدر استفاده میکنیم
#ls

مشاهده محتویات یک دایرکتوری با جزئیات کامل آن مثل زمان ساخت permission... را با فرمان زیر تشخیص میدهیم:
#ls -l 
ll که به معنی long list میباشد همان کار فرمان ls -l را انجام میدهد:
#ll
از فرمان زیر برای دیدن فایلهای مخفی استفاده میشود:
#ls -a

با فرمانهای زیر میتوانیم صفحه نمایش را پاک کنیم:
#clear و یا ctrl+l 

از فرمان history برای نمایش فرمانهای اجرا شده استفاده میتوان استفاده کرد:
#history 
از این فرمان به منظور پاک کردن فرمانهای اجرا شده قبل استفاده میشود:
#history -c
برای نمایش فرمانهای اجرا شده استفاده میشود اما نمیتوانیم از دکمه های اشاره برای بالا و پایین کردن فرمانها استفاده کرد:
#history |more
همان کار فرمان بالا را انجام میدهد با این توافت که از دکمه های اشاره میتوانیم استفاده کنیم:
#history |less
شاخه های سیستم فایل لینوکس
سیستم فایل لینوکس ساختاری است که تمامی اطلاعات موجود بر روی کامپیوتر آنجا ذخیره میشود.
فایلها در داخل سلسله مراتبی از دایرکتوریها سازماندهی میشوند.هر دایرکتوری میتواند شامل فایلها بعلاوه سایر دایرکتوریها باشد.
اگر فایلها و دایرکتوریهای موجود در لینوکس را ترسیم کنید به یک درخت معکوس بنظر میرسد.در بالای دایرکتوری root قرار دارد که بوسیله / نشان داده میشود و در زیر این دایرکتوری , دایرکتوریها ی عادی موجود در سیستم لینوکس قرار دارند.
هر یک از این دایرکتوریها بعلاوه دایرکتوریهای اضافه شده به root میتوانند شامل زیر دایرکتوریها باشند.
حال به توصیف و عملکرد این دایرکتوریها میپردازیم .
bin
binary شامل دستورات سیستم عامل که توسط تمامی کاربران و root قابل اجرا است میباشد.
boot
فایلهای راه انداز لینوکس را شامل میشود.
dev
device شامل اطلاعات سخت افزاری و نرم افزاری میباشد.
etc
شامل فایلهای پیکربندی می باشد.
home
شامل دایرکتوریهای تخصیص داده شده به هر کاربر با یک حساب login میباشد.
lib
library محل قرارگیری فایلهای کتابخانه ای برنامه ها میباشد.
mnt
mount حاوی اطلاعات cdrom , flopy میباشد.
proc
اطلاعات مربوط به CPU را در بر دارد.
root
دایرکتوری خانگی کاربر ریشه و یا همان root را نشان میدهد.
sbin
شامل دستوراتی که توسط root قابل اجراست میباشد.
tmp
temporary شامل فایلهای موقتی بکاررفته بوسیله برنامه ها میباشد.
usr
اطلاعات دایرکتوری share را دربردارد.
var
varies فایلهای log و printer در این شاخه قرار دارد.
 در ادامه به برخی دیگر از دستورات در لینوکس و نکاتی در رابطه با محیط Command لینوکس می پردازیم.
توجه داشته باشید که میتوانیم بصورت همزمان چند فرمان جداگانه را در یک خط بوسیله ; اجرا کنیم بطور مثال ابتدا فرمان calander و سپس date اجرا میشود
#cal;date
از فرمان زیر برای نمایش اسم login استفاده میشود
#logname
بوسیله فرمان زیر نام کاربران وارد شده در سیستم نشان داده میشود
#who
#who am i
بوسیله فرمان زیر میتوانیم تشخیص دهیم کاربر در کدام ترمینال در حال فعالیت میباشد
#tty
از فرمان mkdir-making directory برای ساختن دایرکتوری استفاده میشود
#mkdir subnet
از فرمان rmdir-removing directory برای پاک کردن دایرکتوری استفاده میکنیم
#rmdir subnet
از فرمان cp به منظور کپی کردن یک فایل فولدر و یا دایرکتوری استفاده میشود
#cp source distanation
از فرمان mv به منظور move کردن یک فایل فولدر و یا دایرکتوری استفاده میشود
توجه داشته باشید از فرمان mv همچنین میتوانیم به منظور تغییر نام rename فایل فولدر و یا دایرکتوری استفاده میشود
#mv source distanation 
فرمان زیر به منظور پاک کردن delete کردن یک فایل استفاده میشود
پارامتر rf به معنی recursive force میباشد که در صورت استفاده از این پارامتر سئوالی به منظور تائید مجدد جهت اطمینان از پاک کردن فایل نمیشود
#rm -rf subnet
نکاتی در رابطه با محیط Command لینوکس : 
* بوسیله فشار دادن ctrl+a در خط فرمان مکان نما به ابتدای خط انتقال پیدا میکند.
* بوسیله فشار دادن ctrl+e در خط فرمان مکان نما به انتهای خط انتقال پیدا میکند. 
* بوسیله فشار دادن ctrl+u از ابتدای خط فرمان تا آن مکان را پاک میکنیم. 
* با فشار دادن ctrl+k از مکان نما تا انتهای خط فرمان را پاک میکنیم.
* با فشار ctrl+arrow از چپ به راست یک حرف انتقال می یابد.
vi-visual Editor :
در لینوکس از ویرایشگر متنی visual Editor به منظور ویرایش استفاده میشود.توجه داشته باشید در زمانی که از این ویرایشگر به منظور تغییر در فایلهای پیکربندی که خارج از دایرکتوریhome ما قرار دارند باید بصورت کاربر ریشه root وارد سیستم شویم. 
در صورتی که بخواهیم یک فایل متنی text به نام subnet درست کنیم ابتدا باید فرمان vi و سپس نام subnet را وارد کنیم.
$vi subnet
سپس با فشار دادن دکمه i و یا دکمه insert میتوانیم متن دلخواه را وارد کنیم. 
بطور مثال متن you're welcome را وارد میکنیم سپس بعد از پایان متن دمکه Esc را فشار میدهیم و به منظور ذخیره و خروج از فایل مورد نظر فرمان :wq را تایپ میکنیم
از فرمانهای زیر در ویریشگر vi میتوانیم استفاده کنیم. 
w: به منظور ذخیره
wq: به منظور ذخیره و خروج
q: ذخیره نمیشود
!q:به منظور نمایش خطوط همراه با شماره
در صورتی که در محیط گرافیکی میباشیم میتوانیم با استفاده از فرمان gedit از این ویرایشگر بصورت گرافیکی استفاده کنیم.
filter commands :
Head
فرمان head ابتدای یک فایل را نمایش می دهد .
بطور مثال فرمان زیر 3 خط اول فایل subnet را نمایش میدهد.
#head -n 3 subnet
در صورتی که از عددی استفاده نکنیم بصورت پیشفرض 10 سطر اول نمایش داده خواهد شد.
Tail
نقطه مقابل head فرمان tail میباشد.با فرمان tail انتهای یک فایل نمایش داده خواهد شد 
بطور مثال با فرمان زیر میتوانیم 5 خط انتهایی فایل subnet را مشاهده کنیم
#tail -n 5 subnet
در صورتی که از عددی استفاده نشود بصورت پیشفرض 10 خط انتهایی نمایش داده خواهد شد. 
Sort
با فرمان sort فایلمان را به ترتیب حروف الفبا و یا شماره مشاهده میکنیم. 
برای مرتب کردن بر اساس شماره از n- که به معنی numrical میباشد استفاده میکنیم.
#sort -n subnet
به منظور مرتب کردن بر اساس الفبا از f- استفاده میکنیم
#sort -f subnet
بوسیله r- که به معنی revers میباشد اعداد به ترتیب نزولی از کم به زیاد مرتب خواهند شد
#sort r- subnet
Grep 
با فرمان grep میتوانیم محتویات فایل موردنظر را جستجوکنیم, حروف و یا کلمات مورد نظر را استخراج کنیم.
#grep hello subnet
همچنین بوسیله n- میتوانیم شماره مورد نظر را استخراج کنیم.
#grep n- 222 subnet
استفاده از grep هیچ تغییری در محتوای فایل داده نمیشود, تنها خطی که شامل جستجوی ما است را نمایش میدهد
Cat
به منظور مشاهده محتویات یک فایل بدون اجرا کردن یک ویرایشگر متنی از فرمان cat که به معنی concatenates میباشد استفاده میکنیم.
#cat subnet
در صورتی که بخواهیم خطهای خروجی را همراه با شماره مشاهده کنیم میتوانیم از n- که به معنی numbers میباشد استفاده کنیم.
#cat -n subnet
با استفاده از فرمان cat میتوانیم خروجی چندین فایل را با اجرای تنها یک فرمان مشاهده کنیم.
#cat file1 file2 ...
WC
با فرمان wc میتوانیم line,word,character فایل را شمارش کنیم. 
#wc subnet
همچنیم میتوانیم بصورت مجزا line,word,character را شمارش کنیم. 
#wc -l subnet
#wc -w subnet
#wc -c subnet
بوسیله فرمان touch میتوانیم یک فایل خالی بسازیم.
#touch subnetwork
 File Permission :
permission و یا همان مجوز در محیط های شبکه ای یا چند کاربره به وضعیتی گفته میشود که کاربر میتواند از طریق account خاص خود به یک منبع خاص دستیابی داشته باشد.این مجوزها توسط مدیرسیستم یا صاحب فایل اعطا میشود.
 سه سطح دسترسی در لینوکس در لینوکس است:
r --> read
w --> write
x --> execute
 
سطح دسترسی read تنها اجازه خواندن ر ا میدهد.
سطح دسترسی write اجازه نوشتن و تغییر در فایل را میدهد.
سطج دسترسی execute اجازه اجرای یک فایل را میدهد.
هر کدام از سطوح دسترسی را نیز میتوان با عدد دسته بندی کرد:
r --> 4
w --> 2
x --> 1
 
بطور مثال اگر فرمان ll را برای فایل subnet اجرا کنیم خروجی زیر را مشاهده میکنید:
 
 
سه کلاس برای کاربران عبارتند از owner,group,other که برای هر کدام میتوانیم هر کدام از read,write ,execute را تنظیم کنیم.بطور مثال اگر بخواهیم permission  را به  مثال بالا فرض کنیم664 محاسبه میشود.
-rw متساوی 6 و --r برابر 4 محاسبه میشود. 

اگر بخواهیم permission را تغببردهیم باید از فرمان chmod استفاده کنیم.
بطور مثال میخواهیم permission را برای فایل بالا بطور کامل به هر سه گروه دهیم:
#chmod 777 subnet
فرمان chmod به معنی change mode میباش.
مثالی دیگر :
اگر بخواهیم permission یک فایل با نام mahyar برای owner به read,write,execute و برای group به read و برای other بدون هیچ گونه سطج دسترسی تعیین کنیم به قرار زیر عمل میکنیم :
#chmod 740 pouya
نکته دیگر اینکه امکان دارد با اجرای فرمان ll به حرف d در ابتدای یک فایل برخورد کنید.
بطور مثال:
dwrxrw-r--
d به معنی دایرکتوری میباشد.