آموزش رایگان لینوکس اسنشیال | Linux Essentials
لینوکس اسنشیال یک دوره آغازین برای یادگیری لینوکس است. امروزه کاربرد لینوکس و تکنولوژی های متن باز (Open Source) به صورت چشمگیری در حال افزایش است، به طوری که استفاده از لینوکس و فناوری های متن باز، از اشخاص حقیقی به سازمان های دولتی و صنایع مختلف از جمله خودروسازی و حتی صنایع هوا فضا کشیده شده است.
ورود لینوکس و تکنولوژی های متن باز به صنعت، موجب شده تعریف مشاغل سنتی ICT (فناوری اطلاعات و ارتباطات) تغییر پیدا کند و نیاز به مهارت های لینوکسی بیشتری در آن پدیدار شود.
شما که در ابتدای راه قرار دارید و قصد ورود به حرفه لینوکس و متن باز را دارید، یا شما که دنبال ارتقای شغلی هستید، اگر بتوانید مهارت خود را به اثبات برسانید، می توانید مدیر خود را متقاعد نمایید و به جایگاه شغلی مورد نظر دست پیدا کنید.
دوره رایگان Linux Essentials
دانش پژوه گرامی، این آموزش ، بخشی از دوره لینوکس اسنشیال می باشد. نسخه کامل این آموزش را می توانید در صفحه اصلی دوره دنبال کنید.
تفاوت GUI و CLI
GUI (Graphic User Interface) یا همان واسط کاربر گرافیکی در واقع یک راه ساده و قابل کشف برای مدیریت سیستم را در اختیار کاربر قرار میدهد. بدون GUI برخی ابزارهای گرافیکی و پخش ویدئو ناکارآمد خواهند بود.
CLI (Command Line Interface) یک واسط مبتنی بر متن است که کاربر یک دستور را در آن تایپ می کند و سپس کامپیوتر آن را اجرا میکند. قبل از محبوب شدن واسط کاربر گرافیکی، CLI روش ترجیحی برای کنترل یک کامپیوتر بود. CLI فقط به ورودی صفحه کلید متکی است. به جای کلیک روی آیکون ها، هر کاری که قرار بود کامپیوتر انجام دهد، در صفحه کلید تایپ می شد. اگر هرگز از CLI استفاده نکرده اید، در ابتدا شاید برای شما کمی بحث برانگیز باشد، چرا که نیاز دارید دستورات و Option های دستورات را به خاطر بسپارید.
هرچند لینوکس دارای محیط های GUI مختلفی است، شما می توانید با استفاده از CLI، سیستم لینوکس خود را به صورت کارآمدتری کنترل نمایید.
CLI مزایای متعددی دارد:
- کنترل دقیق تر
- سرعت بالاتر
- توانایی خودکار سازی وظایف (به کمک اسکریپت نویسی)
محیط CLI در لینوکس، توسط یک اپلیکیشن به نام Terminal قابل دستیابی است. ترمینال، هر آنچه که کاربر تایپ میکند را گرفته و به Shell پاس می دهد. Shell نیز هر آنچه کاربر تایپ کرده بوده را به دستورات قابل اجرا توسط سیستم عامل تفسیر می کند.
اگر دستور، خروجی داشته باشد، متن خروجی در ترمینال نمایش داده میشود و اگر اجرای دستور با خطا مواجه شود، متن خطا در ترمینال نمایش داده می شود.
خط دستور یا Prompt
در دوره لینوکس اسنشیال شما با دستورات خط فرمان یا CLI آشنا خواهید شد.
یک پنجره ترمینال، یک prompt نمایش می دهد. prompt وقتی نمایان می شود که هیچ دستوری در حال اجرا نباشد و خروجی تمام دستورات در صفحه چاپ شده باشد. prompt طراحی شده تا از کاربر بخواهد دستوری را وارد کند. ساختار prompt ممکن است در توزیع های مختلف، متفاوت باشد، ولی معمولاً حاوی اطلاعاتی در مورد کاربر و سیستم می باشد.
ساختار Command Prompt به اینصورت می باشد:
1 |
<strong>sysadmin@localhost:~$</strong> |
Prompt بالا حاوی نام کاربر وارد شده : sysadmin، نام سیستم : localhost و دایرکتوری جاری: ~ می باشد. علامت ~ برای نشان دادن دایرکتوری home کاربر استفاده می شود.
قبل از اینکه شما دستوری را وارد کرده باشید، در انتهای Prompt یک نشانگر چشمک زن (blinking cursor) را می بینید. نشانگر چشمک زن نشان می دهد که ترمینال آماده دریافت دستورات شما می باشد.
اگر نشانگر چشمک زن را مشاهده نکردید، شاید لازم باشد یک بار کلید Enter را فشار دهید. برای حرکت دادن نشانگر در ترمینال و ویرایش دستور نیز، می توانید از کلیدهای Home، End، Backspace و کلیدهای چپ، راست، بالا و پایین استفاده نمایید.
ساختار دایرکتوری لینوکس
یکی از مباحث مهم که در دوره لینوکس اسنشیال باید آموزش ببینید ساختار دایرکتوری در لینوکس است. ساختار دایرکتوری لینوکس به اینصورت می باشد:
دایرکتوری home کاربر sysadmin به اینصورت نمایش داده می شود:
1 |
<strong>/home/sysadmin</strong> |
به عبارت بالا در لینوکس یک مسیر (path) گفته می شود. هر مسیر در لینوکس با علامت “/” شروع می شود که بیانگر شاخه root لینوکس است.
هر علامت “/” نیز بیانگر ورود به یک زیر دایرکتوری است. در واقع مسیر بالا نشان می دهد در شاخه root یک پوشه home وجود دارد و داخل پوشه home نیز پوشه دیگری به نام sysadmin وجود دارد.
برای نشان دادن دایرکتوری home کاربر (یعنی همان مسیر /home/sysadmin ) از علامت ~ استفاده می شود.
شل (Shell)
شل یک مفسر است که دستورات وارد شده توسط کاربر را به اکشن های اجرایی توسط سیستم عامل، ترجمه می کند. محیط لینوکس، انواع مختلفی از shell را ارائه می دهد. رایج ترین shell استفاده شده در توزیع های لینوکس BASH shell نام دارد. این شل ویژگی های پیشرفته زیادی دارد. از جمله تاریخچه دستورات که به کاربر اجازه می دهد، به راحتی، دستورات قبلا اجرا شده را مجددا اجرا کند.
BASH shell ویژگی های جالب بسیاری دارد که چند نمونه از آن عبارت است از:
Scripting: امکان درج دستورات در فایل و اجرای فایل، که منجر به اجرای کلیه دستورات داخل فایل خواهد شد. این ویژگی، دارای قابلیت های برنامه نویسی همچون عبارات شرطی و امکان تعریف توابع نیز می باشد.
Aliases: امکان ایجاد نام کوتاه برای دستورات طولانی
Variables: متغیرها برای ذخیره اطلاعات مربوط به BASH shell استفاده می شوند. متغیرها برای تعیین چگونه کار کردن دستورات و ویژگی ها و همچنین برای ذخیره اطلاعات حساس سیستم استفاده می شوند.
فرمت دستورات
یکی از مباحث اصلی که در دوره لینوکس اسنشیال باید آموزش ببینید فرمت دستورات لینوکس است. بسیاری از دستورات می توانند بدون هیچ ورودی اجرا شوند. برخی دستورات نیز برای اجرای صحیح نیاز به ورودی دارند. این اطلاعات ورودی به دو شیوه قابل ارائه هستند:
- Options
- Arguments
شکل کلی فرمت یک دستور به صورت زیر می باشد:
1 |
command [<strong>options</strong>] [<strong>arguments</strong>] |
option ها برای تغییر رفتار اصلی یک دستور استفاده می شوند در حالی که argument ها برای ارائه اطلاعات بیشتر (مانند نام فایل یا نام کاربر) استفاده می شوند. معمولا یک option یا یک آرگومان با یک فاصله از بقیه جدا میشود ولی option ها اغلب ممکن است با هم ترکیب هم بشوند.
همواره به خاطر داشته باشید که لینوکس case sensitive است (یعنی به بزرگی و کوچکی حروف حساس است). بنابراین، در نوشتن دستورات، option ها، آرگومان ها، متغیرها و نام فایل ها و … دقت کنید که بزرگی و کوچکی حروف رعایت شود.
مثال: دستور ls
دستور ls بدون آپشن و آرگومان، فایل ها و دایرکتوری های شاخه جاری را لیست میکند.
با ارسال یک آرگومان به دستور ls می توانیم مشخص کنیم محتوای کدام دایرکتوری برای ما نمایش داده شود. برای مثال دستور ls /etc/ppp به جای لیست کردن محتوای دایرکتوری جاری، محتوای دایرکتوری /etc/ppp را نمایش خواهد داد:
چون دستور ls امکان دریافت چندین آرگومان را دارد، می توانیم در یک دستور، چندین دایرکتوری را برای لیست شدن محتویات، مشخص کنیم. برای مثال دستور ls /etc/ppp /etc/ssh محتویات دو دایرکتوری /etc/ppp و /etc/ssh را به صورت یکجا نمایش خواهد داد:
کار کردن با آپشن ها
یکی دیگر از مباحث مطرح شده در دوره لینوکس اسنشیال ، آپشن دستورات در لینوکس است. از آپشن ها می توان در کنار دستورات استفاده کرد و بدین صورت رفتار دستور را تغییر داد. آپشن ها ممکن است از یک یا چند کاراکتر تشکیل شده باشند. معمولاً دستورات قدیمی تر از حروف به عنوان آپشن استفاده میکردند در حالی که دستورات جدید از یک کلمه کامل به عنوان آپشن دستور استفاده میکنند.
آپشن های تک حرفی با یک علامت single dash (-) و آپشن های کلمه ای با علامت two dashes (–) آغاز می شوند.
مثال: دستور ls -l
آپشن -l در دستور ls ، موجب میشود، علاوه بر نمایش نام فایل های لیست شده، اطلاعات بیشتری اعم از مجوز، سایز و … فایل ها نیز نمایش داده شود.
در اغلب موارد، آپشن ها می توانند همراه با هم به کار بروند. برای مثال، ls -l -h یا ls -lh فایل ها را با جزئیات، لیست خواهند کرد. البته این بار با اضافه شدن آپشن -h به جای نمایش اطلاعات با مقادیر پیش فرض (بایت ها) ، اطلاعات به فرمتی که توسط کاربر (human) قابل فهم باشد نشان داده خواهد شد.
توجه) وقتی آپشن های تک حرفی را ترکیب میکنید، ترتیب قرارگیری آپشن ها اهمیتی ندارد. برای مثال -lh با -hl هیچ فرقی ندارد.
توجه) به جای دستور ls -h می توانید از نسخه کامل آن یعنی ls –human-readable استفاده نمایید.
آپشن ها می توانند همراه با یک آرگومان استفاده شوند. در واقع، برخی آپشن ها آرگومان های مختص خودشان را دارند. برای مثال در دستور ls می توانیم برای نمایش محتوای یک دایرکتوری دیگر، از آرگومان و آپشن استفاده کنیم: ls -l /etc/ppp
تمرین ۱: دستور whoami
برای شروع کار با خط دستور (CLI) لینوکس ابتدا باید ترمینال (Terminal) را باز کنید. برای باز کردن ترمینال لینوکس می توانید از کلید ترکیبی Alt+Ctr+T استفاده کنید.
در ترمینال شما می توانید هر دستوری که می خواهید را تایپ کرده و با فشردن کلید Enter نتیجه اجرای دستور را مشاهده کنید.
دستور whoami نام کاربر جاری را نشان می دهد. در واقع خروجی این دستور، همان بخش اول Prompt خواهد بود.
1 |
whoami |
خروجی:
از این دستور می توانید وقتی که به اطلاعات نام کاربر دسترسی ندارید، استفاده نمایید.
تمرین ۲: دستور uname
دستور uname نام کرنل سیستم را نشان می دهد.
1 2 |
<strong>sysadmin@localhost:~$</strong> uname Linux |
اگر به این دستور آپشن -n یا –nodename را اضافه کنیم،hostname نود شبکه را بر میگرداند.
1 2 |
<strong>sysadmin@localhost:~$</strong> uname --nodename localhost |
تمرین ۳: دستور pwd
این دستور، دایرکتوری جاری را نشان می دهد.
1 2 |
<strong>sysadmin@localhost:~$ pwd</strong> /home/sysadmin |
دانش پژوه گرامی، این آموزش ، بخشی از دوره لینوکس اسنشیال می باشد. نسخه کامل این آموزش را می توانید در صفحه اصلی دوره دنبال کنید.
درباره مجید شبیری
کارشناس ارشد فناوری اطلاعات از دانشگاه صنعتی امیرکبیر. مدیر و مؤسس "علوم نوین امیرکبیر"، متخصص برنامه نویسی، شبکه، لینوکس و امنیت. از سال 84 همزمان با شروع تحصیلات دانشگاهی، وارد حوزه تخصصی مهندسی نرم افزار شدم و اکنون مشغول تحقیق، توسعه و آموزش در حوزه بلاک چین هستم و معتقدم بلاکچین به زودی فضای کسب و کارها را منقلب خواهد کرد.
نوشته های بیشتر از مجید شبیری
دیدگاهتان را بنویسید