محمد لینوکس

همه چیز به غیر از لینوکس!

محمد لینوکس

همه چیز به غیر از لینوکس!

سریال آبکی لینوکس ۲

این قسمت: بیاموز

---------------------------------------------------------------------------------------------------
آنچه گذشت:

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

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

------------------------------------------------------------------------------------------------------
خوب، مواد لازم برای امروز،

1- یک دستگاه کامپیوتر متناسب با شخصیت لینوکس
2- یک دستگاه Keyboard با حداقل کلید
3- برق 220V شهری با فرکانس 50-60 هرتز جریان حداقل 1 آمپر
4- یک فقره میز کامپیوتر و صندلی
5- ماوس به اندازه کافی
6- نوشابه یا قهوه بسته به خودتون به میزان کافی

بند اول - قبل از هرچیزی از سایت شخصی من emadct.com یک PDF برای نصب لینوکس FC5 دانلود کنید. تو این PDF سعی کردم با گرامر کشاورزی نصب لینوکس رو توضیح بدم، امیدوارم شما الوات IT از پسش بر بیاید.

بند دوم- برای تحقیق دانشگاه، جلوی دوستان و بقیه موارد شبیه، اگه خواستید از PDF بدون درج اسم استفاده کنید(صفحه اول رو میشه با Adobe Professional ویرایش کرد)، ولی اگه یه جایی گذاشتید برای استفاده دیگران، یه صلوات هم نثار نویسنده کنید خدا رو خوش بیاد.

بند سوم- قبل از شروع نصب لینوکس اگه از خودتون مطمئن نیستید یا از Document که من نوشتم، بهتره یکی از محصولات VMWare یا Microsoft Virtual PC یا Bochs یا QEMu رو نصب کنید و به صورت مجازی یک سیستم کامپیوتری در Windows خود ایجاد کنید، اینطوری هم می‌تونید Linux بریزید و اون سیستم مجازی رو خراب کنید و هم Windows باشید PDF بخونید.

بند چهارم- سعی کنید از PDF نصب جلوتر باشید، یعنی یه مرحله نصب که نمایش داده شد، اول خودتون فکر کنید که چیکار باید کرد، بعدش قبل از اینکه ادامه بدید، PDF رو بخونید ببینید همچین چیزی که فکر کردید هست یا من اشتباه نوشتم!

بند پنجم- راهنمای نصب برای FC5، نصب SUSE و Ubuntu و بقیه نسخه‌ها کمی متفاوت ولی در اصول یکی هستن. برای همین اگه نسخه‌دیگری رو می‌خواهید نصب کنید، یه بار رو سیستم مجازی Fedora نصب کنید که خیالتون از مراحل نصب باشید و فقط در نسخه دیگری کار Map کردن رو انجام بدید که این بخش رو مغزتون انجام می‌ده.

بند ششم- برای نصب فضای کافی کنار بگذارید.

بند هفتم- مواظب داده‌های اصلی روی سیستم خودتون باشید ( در حالتی که از سیستم مجازی استفاده نمی‌کنید)

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

بند نهم- در Virtual PC و VMWare، می‌شه تو هر مرحله از نصب از سیستم SnapShot گرفت، مثل Hibernate می‌مونه، از سیستم در حال Running پشتیبان می‌گیره و اگه مرحله بعدی رو خراب کردید می‌تونید برگردید (مثل فیلم Butterfly Effect)

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


------------------------------------------------------------------------------------------------------------

نصب ویندوز با نصب لینوکس چه فرقهایی داره؟

یکی از مهمترین تفاوتهای نصب لینوکس و ویندوز اینه که در هنگام نصب ویندوز، سوالها به صورت گاوی در مزرعه(اصطلاح علمی) در هنگام مراحل نصب از شما سوال می‌شه، در حالی که در لینوکس کلیه سوالات و تنظیمات نصب در ابتدا از شما سوال خواهد شد  و شما با ترک  1 ساعته سیستم و برگشت به محل، شاهد یک سیستم لینوکس آماده دریافت Username هستید.

یکی دیگه از تفاوتها امکانات زیادی که در نصب لینوکس در اختیار شماست. شما با خیلی از تنظیماتی برمی‌خورید که در نصب Windows به صورت پیش فرض تنظیم می‌شوند. راه فرار هم ندارید، چون این تنظیمات باید صورت بگیرن و حالت پیش فرض ندارن به همین منظور کلیه مراحل نصب رو از روی PDF و راهنمای انگلیسی موجود در مراحل نصب دنبال کنید.

------------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------
بعد از نصب لینوکس
------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------

خوب از نصب رد شیم (دیدید ماسمالیو D، وارد محیط لینوکس شیم.

محیط لینوکس شامل 2 بخش، محیط گرافیکی و محیط Console. محیط گرافیکی اونجاست که شما اشکال رنگی و صفحات گرافیکی می‌بینید و محیط Console مانند محیط Command Prompt در ویندوز دارای شکلی سیاه با متنهای سفید و به صورت Text می باشد.

به صورت پیش فرض بعد از نصب محیط گرافیکی برای شما نمایش داده می‌شه، در شرایطی که شما محیط گرافیکی را نصب نکرده باشید یا، محیط Text رو به صورت پیش فرض قرار داده باشید، محیط Console نمایش داده می‌شه.

محیط گرافیکی لینوکس بر خلاف ویندوز که محیط گرافیکی بخشی از سیستم عامل محصوب می‌شه، یک نرم‌افزار کاملا مستقل از سیستم و عملکرد اون کاملا مثل بقیه نرم‌افزار‌های سیستم. این توضیح یه چیز خیلی مهم رو برای ما روشن می‌کنه، که لینوکس به طور کلی با Console اون شناخته می‌شه و در نتیجه کلیه قابلیتهای لینوکس از طریق Console اون قایل دسترس هستند. بر خلاف Windows که در محیط Console شما قابلیت‌های نسبتا کمی رو در اختیار دارید.

کاربران سیستم لینوکس به 3 گروه تقسیم می‌شوند. گروه مدیر‌ها، گروه کاربران و root. بازهم بر خلاف Windows که ما چندین Administrator با قابلیت‌های یکسان داریم و گروهی کاربر با قابلیت‌های متفاوت، در لینوکس ما تنها یک کاربر با قابلیت محض داریم به نام root. بقیه مدیران کاربران جزئی هستند که مقداری از قدرت root را به ارث برده اند. کاربران جزء کاربری در پایین ترین لایه قرار می‌گیرند و تنها کارهایی را می‌توانند انجام دهند که کاربران لایه‌های بالایی به آنها اجازه داده باشند.

ما در لینوکس 3 اصطلاح root داریم که معمولا دوستان با آنها معجون درست می‌کنند:

1- کاربر root: این root قابل دیدن نیست، بلکه جزئی از Policy سیستم در تصمیم گیری‌های عملکردی است(دیدی یکی یه چیزیو بلد نیست، چند تا کلمه قلمبه سلمبه می‌گه، که بگه تو نمی‌فهمی ((: )
2- root: به مسیر اولیه یا پایه لینوکس گفته می‌شه. بر خلاف ویندوز که مسیر‌های پایه محدود به نام درایوها می‌شن مثل :C و و ... در لینوکس ما تنها یک مسیر واحد داریم، که به آن root گفته می‌شود و بقیه فایلهای سیستم در زیر شاخه این مسیر قرار دارند و از این شاخه بالاتر نداریم. به عبارت دیگه، تنها شاخه لینوکس که شاخه بالاتری ندارد شاخه root سیستم است و با علامت / نمایش داده می‌شود.
3- شاخه root واقع در root: در root سیستم، یک شاخه یا Directory داریم به نام، root که محل قرار گیری فایل‌های کاربر مدیر سیستم (یا root) است( چی در اومد). به بیان دیگه، کاربر root سیستم (تعریف اول) باید یک شاخه برای قرار دادن فایلهاش داشته باشه که اسم این شاخه root (تعریف سوم) که طبق تعریف کل سیستم باید در مسیر اصلی لینوکس یا همان root (تعریف دوم) است. این شاخه با نماد root/ نمایش داده می‌شه.

ما در root لینوکس کلی شاخه داریم:
root: مسیر قرار گیری فایل‌های مدیر سیستم
bin: مسیر قرار گیری فایل‌های اجرایی قابل اجرا برای کلیه کاربران (غیر مدیریتی)
sbin: مسیر قرارگیری فایل‌های اجرایی قابل اجرا برای کاربران مدیر( مدیریتی)
dev: مسیر قرار گیری فایل‌های مربوط به وسایل سخت افزاری
etc: مسیر قرار گیری تنظیمات سیستم (مثل Registry)
usr: مسیر قرار گیری کلیه نرم‌افزار‌های نصب شده بر روی لینوکس شما
var: مسیر قرار گیری فایل‌های runtime برنامه‌های در حال اجرا (معمولا از یک پارتیشن پویا با سرعت بالا استفاده می‌شود)
tmp: مسیر قرار گیری فایل‌های Temp تولید شده توسط نرم‌افزارها
opt: مسیر اختیاری برای نصب برنامه‌ها
home: مسیر قرار گیری شاخه‌های مربوط به کاربران غیر root سیستم.
mnt: مسیر قرار گیری Mappingهای Storageهای شما(میگم یعنی چی)
media: مسیر قرار گیری Mappingهای اتوماتیک Storageهای شما(اینم می‌گم)
و تعدادی شاخه دیگه در لینوکس‌های مختلف.

اینجا یک مسئله‌ای خیلی مهم. در لینوکس همه چیز فایل است.

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

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

فراموش نکنید، در لینوکس همه‌چیز فایل است.

------------------------------------------------------------------------------------------------------------

چند دستور ساده،
بعد از شروع لینوکس، وارد محیط متنی اون بشید، اگه با محیط گرافیکی لینوکس شما شروع شد، با استفاده از کلید‌های Alt Ctrl F1 وارد محیط متنی 1 بشید. در لینوکس ما می‌تونیم 12 محیط واقعی و بینهایت محیط مجازی داشته باشیم. این محیط های واقعی با استفاده از ALT CTRL و کلید F مربوطه نمایش داده می‌شوند. به طور معمول، 6 تای اولی متنی و 4تای آخر گرافیکی هستند، ولی در هنگام نصب لینوکس شما فقط از محیط 7 گرافیک می‌گیرید که قابل گسترش.

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

وقتی وارد محیط متنی شدید دستورات زیر رو اجرا کنید:
adduser user
passwd user

با اجرای دستور اول کاربری به نام user ساخته می‌شه و با اجرای دستور دوم، سیستم از شما کلمه عبوری برای این کاربر دریافت می‌کنه. سپس با استفاده از دستور exit از محیط root خارج بشید. زمانی که دستور exit رو اجرا می‌کنید، سیستم دوباره از شما نام کاربری و رمز عبور می‌خواد، اینبار برای نام کاربری کلمه user رو وارد کنید و برای کلمه عبور، که دیگه خودتون می‌دونید.

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

خوب بیاید قبل از اینکه با این غول آشنا بشیم ببینیم دستورات چین و چطوری عمل می‌کنن.

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

خوب برای شروع دستور / cd رو اجرا کنید، این دستور باعث میشه، شما به root سیستم منتقل بشید. دستور ls رو اجرا کنید.

توضیح: دستور فلان رو اجرا کنید یعنی اینکه دستور رو تابپ کنید و enter رو فشار دهید
توضیح: دستور فلان رو اجرا کنید با پارامتر فلان، یعنی اینکه دستور رو تایپ کنید و پارامتر‌ها رو با فاصله از اون وارد کنید و کلید Enter رو فشار دهید.

دستور cd مخفف Change Directory یا تغییر شاخه است. دستور ls مخفف List و برای گرفتن لیست از فایلهای مسیر جاری استفاده می‌شه. مثل Dir در Dos. حالا سعی کنید یک فایل بسازید، دستور touch رو با پارامتر a اجرا کنید. این دستور از شما خطا می‌گیره، زیرا شما یک کاربر جزء هستید و می‌خواهید در root سیستم فایل ایجاد کنید و این امر توسط لینوکس جلوگیری می‌شه. دستور cd رو اجرا کنید. دستور cd خالی به معنی انتقال به مسیر مربوط به کاربر فعلی می‌شه. یعنی اگه کاربر root باشید دستور cd معادل دستور cd به همراه پارامتر root/ و در صورتی که کاربر user باشید، دستور cd به تنهایی به معنی cd با پارامتر home/user/ می‌باشد.

حال که دستور cd رو اجرا کردید، دستور pwd رو اجرا کنید، تا ببینید کجا هستید. حال دستور touch با پارامتر a رو اجرا کنید، اینبار از شما خطایی نگرفت و در صورتی که دستور ls رو اجرا کنید فایل a رو می‌بینید. حال با دستور rm به معنی remove و پارامتر a فایل ساخته شده به نام a رو پاک کنید.

خوب دستورات دیگه:

دوباره یک فایل بسازید
touch a

فایل ساخته شده a رو به نام دیگری کپی کنید:
cp a b
دستور cp به معنی کپی کردن و به صورت معمول با 2 پارامتر استفاده می‌شه، پارامتر اول فایل مبدا و پارامتر دوم فایل مقصد.
این باعث می‌شه از فایل شما به نام a یک کپی به نام b ساخته بشه. این عمل معادل دستور کپی و چسباندن در ویندوز عمل می‌کنه.

حالا فایل a رو با دستور rm پاک کنید. تنها فایلی که می‌مونه فایل b. می‌تونید مراحل رو با ls ببینید. این دو مرحله کار رو می‌شه با دستور mv انجام داد که مانند Cut و Paste در ویندوز عمل می‌کنه. یعنی یک کپی از فایل تهیه می‌شه و فایل اصلی پاک می‌شه به اصطلاحی عمل Move انجام میشه. پس تابپ کنید:
mv b a
یعنی فایل b رو به a تغییر نام بده.

خوب تا حالا با فایل‌ها کار کردید، فایل‌ها مثل کاغذند، که میشه اونها رو تو کیف یا پوشه قرار داد. برای ساخت پوشه از دستور mkdir استفاده کنید.
mkdir folder
 این باعث ایجاد یک شاخه می‌شه به نام folder، این بار اگه شما دستور زیر رو تابپ کنید:
mv a folder

باعث تغییر نام a به folder نمیشه، بلکه به خاطر اینکه folder اسم یک شاخه می‌باشد، فایل a رو به داخل اون شاخه یا پوشه انتقال می‌ده.

می‌تونید حالا برید داخل شاخه folder و فایل های توش رو ببینید:
cd folder
ls

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

ضمنا یکی از تفاوتهای اصلی ویندوز و لینوکس در جدا ساز شاخه هاس که در ویندوز از بک اسلش یا استفاده می‌شه و در لینوکس از اسلش یا /. مثل سایت‌های اینترنت که از اسلش استفاده می‌کنن.

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

مورد بعدی تفاوت، حساس بودن لینوکس به نام کوچک و بزرگ فایلهاست برای مثال دستورات زیر خطاست:
touch a
cp A b

زیرا در دستور cp شما می‌خواهید فایلی با نام A‌بزرگ رو کپی کنید، در حالی که اسم فایل ما a کوچک کی‌باشد.

جا افتادن این مسئله یه مقدار سخت، ولی کم کم عادت می‌کنید.

یکی از پارامتر‌هایی که معمولا دستورات لینوکس از اون پشتیبانی می‌کنن، پارامتر help-- که باعث می‌شه یک راهنما از اون دستور نمایش داده بشه و مثل ?/ در ویندوز عمل می‌کنه. مانند:
cp --help
mv --help
touch --help

همچنین شما می‌تونید از دستور man با پارامتر اسم دستور استفاده کنید تا یک راهنمای جامع در اختیار شما قرار بگیره. مانند:

man cp
man mv
man touchژ

توجه کنید برای خروج از برنامه man شما باید در برنامه کلید Escape رو بزنید و تایپ کنید q: و کلید Enter رو فشار بدید.
( البته در بعضی از نسخه‌ها با کلید q هم خارج می‌شه)

مورد دیگه خیلی خوب در لینوکس اینه‌که شما می‌تونید با نوشتن چند حرف از دستور و فشار دادن کلید tab دستور رو کامل کنید. برای مثال دستور fdisk، که شما می‌تونید تایپ کنید fdi و کلید tab رو فشار بدید تا خود Shell لینوکس برای شما ادامه دستور رو کامل کنه. اگه تعداد دستورات زیاد باشه، چیزی نمایش داده نمی‌شه و باtab دوم که شما فشار بدید کل دستوراتی که با fdi شروع می‌شن نمایش داده می‌شه. اگه تعداد دستورات زیاد تر از صفحه باشه، یک صفحه از دستورات نمایش داده می‌شه و سیستم منتظر فشار کلید از سوی شما می‌شه. کلید enter یک خط صفحه رو به پایین می‌بره، کلید Space یک صفحه رو انتقال می‌ده و کلید q از نمایش دستورات خارج می‌شه. این‌کار رو شما با اسم فایل‌ها هم می‌تونید انجام بدید.

ضمنا محیطی که شما الان داخلش قرار دارید Console لینوکس نام داره و اسمش Bash. این نرم‌افزار یکی از قدرتمند ترین Shellهای موجود در جهان، که خیلی هم پویا و پر استفاده است.

برای مثال ما دستوری داریم به نام echo که هر پارامتری که به اون داده بشه رو چاپ می‌کنه مثل
echo salaam

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

for i in `seq 10`; do
echo salaam
done

این دستورات باعث می‌شن که 10 خط سلام برای شما نمایش داده بشه. Bash از بقیه دستورات کنترلی مثل if، do ، While و switch پشتیبانی می‌کنه که خارج از بحث اینجاست.

حالا برای ادامه از محیط متنی خارج شید،

قبل از exit کردن، همه فایل‌هایی که ساختید رو پاک کنید با rm

برای پاک کردن شاخه از دستور rm با پارامتر r- استفاده کنید مثل
rm -r folder

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

همچنین برای کپی کردن شاخه‌ها می‌تونید از cp با پارامتر r- و سپس شاخه مبدا و مقصد استفاده کنید.

دستور exit رو تایپ کنید.

حالا با کلید Alt Ctrl F7 به محیط گرافیکی برید(توجه کنید زمانی که در محیط متنی‌هستید استفاده از کلید Alt F7 کافیه)

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

اگه پسورد نام کاربری userرو فراموش کردید، در محیط متنی با نام کاربری root وارد شید و دستور passwd رو با پارامتر user اجرا کنید، این کار باعث می‌شه بتونید رمز عبور کاربران جزء رو تغییر بدید.

بعد از اینکه تو محیط گرافیکی دور زدید، از منوی اصلی محیط گرافیکی گزینه Logoff رو انتخاب کنید،

اگه از محیط مجازی استفاده می‌کنید گزینه Shutdown و اگه از محیط واقعی استفاده می‌کنید گزینه Reboot رو انتخاب کنید.

این کار باعث می‌شه، لینوکس همه نرم‌افزار های باز رو ببنده و از محیطش خارج می‌شید.

هر زمانی که دوباره حوصلشو داشتید وارد محیط گرافیکی شید، چند روز با این محیط کار کنید تا یه کم به لینوکس آشنا بشید تا محیط متنی رو کم کم ادامه بدیم.

------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------

برای امروز بسه

بی ساکزز

از طرف عماد سی تی

نظرات 3 + ارسال نظر
امیرمسعود چهارشنبه 21 شهریور‌ماه سال 1386 ساعت 22:37 http://freeexp.wordpress.com

از خواندن نوشتهٔ شما بسیار لذت بردم و خیلی هم چیز یاد گرفتم. به نوشتن دربارهٔ لینوکس ادامه دهید!

مینا شنبه 5 دی‌ماه سال 1388 ساعت 21:33

عمادانقد چرند ننویس لا اله الا الله :)))))))))))))))))
گوش خلق الله کرشد زدستت :)) نه خوب بود ادامه بده :) :*

ابوالفضل شنبه 26 فروردین‌ماه سال 1391 ساعت 11:37

سلام خیلی خوشم اومددرمورد مدیریت حافظه در لینوکس توضیح بشتری میخوام اگه میشه اضافه کن ممنون ویشم

برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد