tutorials / linux / chapter-01.md · utf-8 ⬇ download chapter-01.md
فصل اول: مبانی ترمینال لینوکس
Linux Terminal Basics
ترمینال قلب تعامل با سیستمعامل لینوکس است.
در فصل قبل با مفاهیم پایه مانند Terminal Emulator، Shell و Kernel آشنا شدیم و یاد گرفتیم که چگونه یک درخواست کاربر از چندین لایه عبور میکند تا در نهایت توسط سیستم اجرا شود.
اکنون زمان آن رسیده است که به صورت عملی وارد محیط ترمینال شویم و یاد بگیریم چگونه با لینوکس صحبت کنیم.
هدف این فصل، یادگیری اصول اولیه کار با خط فرمان است؛ مفاهیمی که پایه تمام مهارتهای پیشرفتهتر لینوکس مانند مدیریت سرور، امنیت، برنامهنویسی و DevOps محسوب میشوند.
اولین برخورد با ترمینال
هنگامی که ترمینال لینوکس را باز میکنید، معمولاً چیزی شبیه این مشاهده خواهید کرد:
asa@computer:~$
این خط که در ترمینال مشاهده میکنید، Prompt نام دارد.
Prompt به کاربر نشان میدهد که Shell آماده دریافت دستور جدید است.
در مثال بالا:
asa@computer:~$
هر بخش اطلاعات خاصی را نمایش میدهد.
ساختار Prompt در لینوکس
یک Prompt معمولی لینوکس از چند بخش تشکیل شده است:
username@hostname:directory$
برای مثال:
amir@thinkpad:~/projects$
اجزای آن:
Username
بخش اول نام کاربری فعلی سیستم است.
مثلاً:
amir
یعنی کاربر فعلی با نام amir وارد سیستم شده است.
Hostname
بخش دوم نام کامپیوتر یا دستگاه است.
مثلاً:
thinkpad
این نام برای شناسایی سیستم در شبکه نیز استفاده میشود.
Current Directory
بخشی که بعد از علامت : قرار دارد، مسیر فعلی کاربر را نشان میدهد.
مثلاً:
~/projects
یعنی کاربر در پوشه projects داخل Home Directory قرار دارد.
علامت پایان Prompt
در انتهای Prompt معمولاً یکی از این علامتها دیده میشود:
$
یا:
#
علامت $ نشاندهنده یک کاربر معمولی است.
مثال:
user@computer:~$
اما علامت # معمولاً نشاندهنده کاربر ریشه یا Root است.
مثال:
root@computer:~#
کاربر Root بالاترین سطح دسترسی در لینوکس را دارد.
اولین دستور لینوکس
اکنون اولین دستور خود را اجرا میکنیم.
دستور:
pwd
این دستور مسیر پوشه فعلی را نمایش میدهد.
pwd مخفف:
Print Working Directory
است.
مثال:
$ pwd
خروجی:
/home/amir
در این مثال، کاربر در مسیر:
/home/amir
قرار دارد.
چرا دانستن مسیر فعلی مهم است؟
در لینوکس تمام فایلها و پوشهها دارای مسیر مشخص هستند.
اگر ندانیم در کدام بخش از سیستم قرار داریم، ممکن است عملیات اشتباهی روی فایلها انجام دهیم.
برای مثال:
حذف یک فایل در مسیر اشتباه میتواند باعث از بین رفتن اطلاعات مهم شود.
به همین دلیل، یکی از اولین عادتهای یک کاربر حرفهای لینوکس، شناخت موقعیت فعلی خود در سیستم است.
مشاهده فایلها و پوشهها
یکی از پرکاربردترین دستورات لینوکس:
ls
است.
این دستور محتویات مسیر فعلی را نمایش میدهد.
ls مخفف:
List
است.
مثال:
$ ls
خروجی:
Documents Downloads Projects
در این مثال، سه مورد موجود در پوشه فعلی نمایش داده شدهاند.
گزینههای دستور ls
دستورات لینوکس معمولاً دارای گزینههای مختلف هستند.
گزینهها به کاربر اجازه میدهند رفتار دستور را تغییر دهد.
نمایش جزئیات بیشتر
دستور:
ls -l
اطلاعات بیشتری درباره فایلها نمایش میدهد.
مانند:
- سطح دسترسی
- مالک فایل
- حجم فایل
- تاریخ تغییر
- نام فایل
نمایش فایلهای مخفی
در لینوکس فایلهایی که با نقطه شروع میشوند، مخفی هستند.
مثال:
.bashrc
برای مشاهده آنها:
ls -a
استفاده میکنیم.
گزینه:
-a
مخفف:
all
است.
ترکیب گزینهها
گزینهها را میتوان ترکیب کرد.
مثال:
ls -la
این دستور:
- اطلاعات کامل فایلها را نشان میدهد.
- فایلهای مخفی را نیز نمایش میدهد.
ساختار دستورات لینوکس
بیشتر دستورات لینوکس ساختاری مشابه دارند:
command [options] [arguments]
مثال:
ls -la /home
در این دستور:
ls
نام دستور است.
-la
گزینههای دستور هستند.
/home
آرگومان دستور است.
تفاوت Option و Argument
Option
Option رفتار دستور را تغییر میدهد.
مثال:
-l
یا:
-a
Argument
Argument مشخص میکند دستور روی چه چیزی اجرا شود.
مثال:
ls /home
در اینجا:
/home
آرگومان دستور است.
تغییر مسیر در لینوکس
برای حرکت بین پوشهها از دستور:
cd
استفاده میکنیم.
cd مخفف:
Change Directory
است.
مثال:
cd Documents
با اجرای این دستور وارد پوشه Documents میشویم.
مسیر Home
هر کاربر در لینوکس یک پوشه شخصی دارد که Home Directory نامیده میشود.
مثال:
/home/amir
برای رفتن مستقیم به Home میتوان از دستور زیر استفاده کرد:
cd ~
علامت:
~
نماینده Home Directory است.
بازگشت به پوشه قبلی
برای برگشت به پوشه والد:
cd ..
استفاده میکنیم.
دو نقطه:
..
به معنی یک سطح بالاتر است.
مثال:
اگر در مسیر:
/home/amir/projects
باشیم:
با اجرای:
cd ..
به مسیر:
/home/amir
بازمیگردیم.
مسیرهای Absolute و Relative
در لینوکس دو نوع مسیر وجود دارد.
Absolute Path
مسیر کامل از ریشه سیستم است.
مثال:
/home/amir/Documents
این مسیر مستقل از محل فعلی کاربر است.
Relative Path
مسیر نسبت به مکان فعلی کاربر نوشته میشود.
مثال:
Documents
اگر در:
/home/amir
باشیم، این مسیر به:
/home/amir/Documents
اشاره میکند.
علامتهای مهم مسیرها
در لینوکس چند علامت بسیار مهم وجود دارد:
ریشه سیستم
/
نمایانگر Root Directory است.
Home Directory
~
نمایانگر پوشه شخصی کاربر است.
پوشه فعلی
.
نمایانگر مسیر فعلی است.
پوشه والد
..
نمایانگر یک سطح بالاتر است.
دریافت اطلاعات درباره دستورات
یکی از مهارتهای مهم کاربران حرفهای لینوکس، توانایی یادگیری مستقل دستورات است.
برای مشاهده راهنمای یک دستور:
man command
استفاده میکنیم.
مثال:
man ls
این دستور صفحه راهنمای کامل دستور ls را نمایش میدهد.
دستور help
برخی دستورات داخلی Shell دارای راهنمای داخلی هستند.
برای مشاهده آن:
command --help
مثال:
ls --help
پاک کردن صفحه ترمینال
برای پاک کردن صفحه:
clear
استفاده میکنیم.
این دستور فقط ظاهر ترمینال را پاک میکند و اطلاعات سیستم را حذف نمیکند.
تاریخچه دستورات
Shell دستورات قبلی کاربر را ذخیره میکند.
برای مشاهده تاریخچه:
history
استفاده میکنیم.
مثال:
history
خروجی شامل دستورهایی است که قبلاً اجرا شدهاند.
استفاده از کلیدهای میانبر
ترمینال لینوکس میانبرهای بسیار مفیدی دارد.
کلید بالا
با زدن:
↑
دستور قبلی نمایش داده میشود.
کلید پایین
برای حرکت در تاریخچه دستورات:
↓
استفاده میشود.
پاک کردن خط فعلی
برای پاک کردن دستور نوشته شده:
Ctrl + U
توقف اجرای دستور
برای متوقف کردن یک برنامه:
Ctrl + C
استفاده میشود.
اولین تمرینها
برای تثبیت مطالب این فصل، دستورات زیر را تمرین کنید:
مشاهده مسیر فعلی:
pwd
نمایش فایلها:
ls
نمایش فایلهای مخفی:
ls -a
نمایش جزئیات:
ls -l
رفتن به Home:
cd ~
مشاهده راهنمای ls:
man ls
نمایش تاریخچه:
history
پروژه کوچک فصل
ساخت محیط تمرینی لینوکس
در این پروژه یک ساختار ساده برای تمرین ایجاد میکنیم.
ابتدا یک پوشه بسازید:
mkdir linux-practice
وارد آن شوید:
cd linux-practice
چند پوشه ایجاد کنید:
mkdir projects documents notes
محتویات را بررسی کنید:
ls -la
مسیر فعلی را مشاهده کنید:
pwd
با انجام این تمرین، کاربر با مفاهیم اولیه مسیر، پوشه و دستورات پایه آشنا میشود.
جمعبندی فصل
در این فصل با مهمترین مفاهیم اولیه کار با ترمینال لینوکس آشنا شدیم.
یاد گرفتیم:
- Prompt چیست.
- ساختار دستورات لینوکس چگونه است.
- چگونه مسیر فعلی را پیدا کنیم.
- چگونه فایلها و پوشهها را مشاهده کنیم.
- چگونه بین مسیرها حرکت کنیم.
- چگونه از راهنمای دستورات استفاده کنیم.
- چگونه تاریخچه دستورات را مدیریت کنیم.
این مفاهیم ساده به نظر میرسند، اما پایه تمام مهارتهای پیشرفته لینوکس هستند.
یک مدیر سیستم، متخصص امنیت یا توسعهدهنده حرفهای، قبل از هر چیز باید بتواند با محیط ترمینال به شکل صحیح ارتباط برقرار کند.
🐧