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

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

چرا باید از محیط خط فرمان استفاده کنیم؟

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

shell چیست؟

به زبان ساده شل همان محیط خط فرمان در لینوکس است که دستورات وارد شده توسط کاربر را برای سیستم عامل ترجمه می کند. bsh و csh دو شل اصلی در لینوکس هست که از این دو چندین شل پدید آمده است.

bsh: مخفف عبارت Bourne Shell است و در سیستم عامل UNIX مورد استفاده قرار می گیرد.
bash: مخفف عبارت Bourne Again Shell است و توسعه یافته شل bsh است. در اکثر توزیع‌های لینوکس شل پیش‌فرض، شل bash است که به شما کنترل کاملی از سیستم عامل ارائه می دهد.
ksh: این شل توسعه یافته شل bsh است و قدرت اسکریپت نویسی بهتری نسبت به شل bsh دارد.
zsh: این شل دارای ویژگی های شخصی سازی عالی، سرعت بالا، سازگاری خوب با bash، اسکریپت نویسی shell scripting بهتر نسبت به ksh، تکمیل کردن بهتر دستورات با TAB و … است.
csh: این شل توسط زبان C ساخته شده و برای اسکریپت نویسی میان برنامه‌نویسان محبوب است.
tcsh: این شل توسعه یافته شل csh است و شباهت زیادی به bash دارد.

دستورات در لینوکس به دو قسمت دستورات داخلی و دستورات خارجی تقسیم میشوند. دستورات داخلی شامل دستوراتی است که در خود شل وجود دارد و با نصب لینوکس قابل اجرا هستند. اما دستورات خارجی شامل دستوراتی است که با نصب یک برنامه روی لینوکس قابل اجرا هستند.

اکثر دستورات داخلی موجود در شل های معرفی شده یکسان هستند، اما در برخی از توزیع ها ممکن است تفاوت هایی با هم داشته باشند. توجه کنید تمام دستورات لینوکس Case Sensitive هستند، بنابراین در هنگام تایپ دستورات به بزرگ و کوچک بودن حروف آن ها دقت کنید.

ترمینال لینوکس

در توزیع‌های لینوکس برای دسترسی به شل bash از برنامه ای به نام ترمینال Terminal استفاده می‌کنیم. این برنامه در اکثر توزیع های لینوکس قرار دارد، با فشردن کلیدهای Ctrl + Alt + T پنجرهٔ ترمینال را باز کنید یا در سرچ دسکتاپ عبارت terminal را جستجو کرده و سپس باز کنید.

ترمینال لینوکس

بعد از باز کردن ترمینال لینوکس اطلاعاتی در مورد سیستم شما نمایش داده می‌شود. این را یک شل پرامپ (Shell Prompt) می‌نامند.

cybrit@ubuntu:~$

cybrit نام کاربری، ubuntu نام رایانه، ~ محل دایرکتوری فعلی (علامت ~ به معنی دایرکتوری home است) و در آخر علامت $ که نشان می‌دهد یک کاربر عادی وارد سیستم شده است. اما اگر کاربر root وارد سیستم شود، علامت # را مشاهده می‌کنید.

در لینوکس سه نوع کاربر وجود دارد.

کاربر عادی: دسترسی او محدود است و اجازهٔ انجام تغییرات را ندارد.
کاربر مدیر یا root: همان کاربر عادی است با این تفاوت که اجازهٔ انجام تغییرات را دارد. (مشابه administrator در ویندوز)
کاربر سیستمی: مانند کاربر سرویس‌های ftp و… که هیچگاه لاگین نمی‌کند.

در لینوکس هر کاربر عادی يک دايرکتوری خانه دارد که اغلب در مسیر ‎/home با نام همان کاربر ایجاد شده‌است و در اکثر مواقع شل پیش‌فرض او ‎/bin/bash است. اين کاربر نمی‌تواند در سيستم تغييراتی ایجاد کند مگر آنکه کاربر روت اين مجوز را بـرای او صادر کند و یا با حساب کاربر روت وارد شود.

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

برای باز کردن ترمینال کلیدهای Ctr + Alt + T فشار دهید. سپس برای اجرا کردن یک دستور، آن را در ترمینال تایپ کنید و Enter را فشار دهید.

اگر به هر دلیلی به برنامهٔ ترمینال دسترسی ندارید، می‌توانید با فشردن کلیدهای Ctrl+ Alt + F3/F4/F5 از ترمینال‌های مجازی (کنسول‌های مجازی) استفاده کنید. برای خروج از آن Ctrl+ Alt + F2 را فشار دهید.

نکاتی قبل از شروع کار با ترمینال

۱. با کلیدهای جهت‌دار چپ و راست می‌توانید روی دستور حرکت کنید و آن را ویرایش کنید.

۲. با کلید جهت‌دار بالا و پایین می‌توانید تاریخچه دستوراتی که وارد کردید را مشاهده کنید.

۳. لازم نیست دستور موردنظر را تا آخر تایپ کنید. کافی است چند کاراکتر اول آن را تایپ کنید سپس کلید tab را فشار دهید تا دستور کامل شود. برای تکمیل کردن نام و آدرس‌ها نیز از همین روش استفاده کنید.

۴. اگر بخواهید چند دستور را به ترتیب اجرا کنید، بعد از هر دستور کاراکتر “;” بگذارید. اگر یکی از دستورات با خطا مواجه شد، دستورات بعدی به کار خود ادامه می‌دهند و اجرا می‌شوند.

command1; command2; command3
cd Desktop; mkdir test; ls -la

۵. اگر بخواهید چند دستور را به ترتیب اجرا کنید که وابسته به هم باشند، بعد از هر دستور کاراکتر “ && “ بگذارید. اگر یکی از دستورات با خطا مواجه شد، دستورات بعدی اجرا نمی‌شوند.

command1 && command2 && command3
cd Desktop && mkdir test && ls -la

۶. برای مشاهدهٔ راهنمای یک دستور از سوئیچ ‎–help استفاده کنید.

[command] --help
ls --help

۷. برای تمیز کردن محیط ترمینال دستور clear و برای خروج از ترمینال دستور exit را وارد کنید.

این مطلب را از دست ندهید:
نرم افزار آزاد و متن‌باز

۸. اسامی فایل‌ها و دستورات در لینوکس به بزرگی و کوچک بودن حروف حساس هستند. برای مثال دو فایل بانام‌های file و File دو فایل جداگانه محسوب می‌شوند. در لینوکس مفهومی بانام پسوند فایل مانند ‎.exe و‎.bat و … وجود ندارد. شما ممکن است بخواهید نام فایل را به‌دلخواه تغییر دهید ولی محتوا فایل به شیوه دیگری تعیین می‌شود. برای مثال اگر در ویندوز یک فایل با پسوند ‎.txt ایجاد کنید به‌صورت پیش‌فرض یک فایل متنی شناسایی می‌شود درصورتی‌که در لینوکس این‌گونه نیست.

۹. سعی کنید در نام‌گذاری فایل‌ها، از فاصله استفاده نکنید. و به‌جای فاصله از “-“ و “_” استفاده کنید. زیرا در تایپ کردن نام‌ها به همراه دستورات راحتی بیشتری دارید.

۱۰. در لینوکس فایل‌ها و دایرکتوری‌ها با اضافه کردن یک نقطه “.” به ابتدای نامشان مخفی (Hidden) می‌شوند. برای مثال فایل “‎.Test” این‌یک فایل برای کاربران نمایش داده نمی‌شود. برای مشاهدهٔ آن می‌توانید در فایل منیجر گنوم با فشردن Ctrl+H فایل‌های مخفی را ببینید. و یا اینکه در ترمینال از دستور ls -la استفاده کنید.

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

دستور pwd

ls لیست کردن محتوای یک دایرکتوری
برای لیست کردن محتوای فایل‌ها و دایرکتوری‌ها از دستور ls استفاده کنید. ls مخفف عبارت List است.

دستور ls

cd تغییر دایرکتوری کنونی
همه‌چیز در لینوکس از دایرکتوری روت (/) شروع می‌شود. و این دایرکتوری مانند یک ساختار درختی، شامل فایل‌ها و دایرکتوری‌های مختلفی است.
برای تغییر مسیر کنونی یا به‌بیان‌دیگر برای تغییر دادن دایرکتوری فعلی که در آن قرار داریم از دستور cd استفاده می‌کنید. cd مخفف عبارت Change Directory است.

دستور cd را باید به همراه نام مسیر موردنظر وارد کنید تا شمارا به دایرکتوری موردنظر برساند. نام مسیر به دو صورت کامل و محلی تقسیم می‌شود.

۱. مسیرهای کامل
یک مسیر کامل با دایرکتوری روت شروع می‌شود. درصورتی‌که در ابتدای هر مسیری / بگذاریم، به دستور موردنظر می‌گوییم که مسیر فایل را از دایرکتوری روت مشخص کرده‌ایم. برای مثال در هرجایی از سیستم که باشیم می‌توانیم با موفقیت دستور cd /var/log/apt را اجرا کنیم.

بعد از اجرای دستور مشاهده می‌کنید که پرامپت تغییر کرد و مسیر کنونی را نمایش می‌دهد.

۲. مسیرهای محلی
مسیر محلی از دایرکتوری که در آن قرار داریم شروع می‌شود. اگر ابتدای مسیر خود را با / آغاز نکنیم، در حال مسیردهی محلی هستیم یعنی با دستور cd var/log/apt سیستم در همین مسیری که هستیم، به دایرکتوری var وارد می‌شود و به همین ترتیب داخل دایرکتوری log و در آخر داخل دایرکتوری apt می‌شود.
واضح است اگر مسیر کنونی، دایرکتوری var وجود نداشته باشد، با خطا مواجه می‌شوید.

هر دایرکتوری شامل دو فایل مجازی نقطه «.» و دونقطه «..» دونقطه است. نقطه اشاره به دایرکتوری فعلی که در آن هستیم دارد. و دونقطه، اشاره به دایرکتوری بالاتر (والد) دارد.
برای مثال زمانی که داخل دایرکتوری var هستید می‌توانید با دستور cd ./log وارد log شوید. اما نیازی به این کار نیست، فقط با تایپ کردن نام دایرکتوری apt تعیین می‌کنید که در مسیر فعلی وارد دایرکتوری apt شوید.

دستور cd ..‎ به دایرکتوری بالاتر وارد می‌شود.
دستور cd -‎ دایرکتوری فعلی را به دایرکتوری قبلی تغییر می‌دهد.
دستور cd دایرکتوری فعلی را به دایرکتوری home تغییر می‌دهد.
دستور cd ~username دایرکتوری فعلی را به دایرکتوری home کاربر موردنظر تغییر می‌دهد. برای مثال cd ~cybrit ما را به دایرکتوری خانگی کاربر cybrit یعنی دایرکتوری ‎/home/cybrit تغییر می‌دهد.
کاراکتر ~ به معنای دایرکتوری خانه است.

این مقاله بخشی از «کتاب لینوکس از امروز» است. برای تهیه و دانلود کتاب کامل لطفا بر عکس زیر کلیک کنید.

آموزش لینوکس

حتما نگاهی به این مطالب بیندازید

نظرتان را بگویید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دانلود PDF مقاله
حجم فایل حدود 2 مگابایت است

نگران نباشید، ایمیل‌های مزاحم نمی‌فرستیم
close-link
دریافت هدیه
حجم فایل حدود 1 مگابایت است

نگران نباشید، ایمیل‌های مزاحم نمی‌فرستیم
close-link