لینوکس

آموزش ترمینال لینوکس؛ دستورات پرکاربردی که هر برنامه‌نویس باید بداند

آموزش ترمینال لینوکس

سیستم‌عامل لینوکس یکی از محبوب‌ترین محیط‌ها برای برنامه‌نویسان، مدیران سرور، متخصصان DevOps و علاقه‌مندان دنیای فناوری است. یکی از مهم‌ترین ابزارهای لینوکس، ترمینال (Linux Terminal) است؛ محیطی قدرتمند که به کاربران اجازه می‌دهد بدون نیاز به رابط گرافیکی، کنترل کاملی روی سیستم داشته باشند.

بسیاری از کارهای حرفه‌ای مانند مدیریت سرورها، نصب نرم‌افزارها، کار با Git، اجرای پروژه‌های برنامه‌نویسی، مدیریت فایل‌ها و پیکربندی سیستم‌ها از طریق ترمینال انجام می‌شود.

در این مقاله از آکادمی آموزنگار با مهم‌ترین دستورات لینوکس آشنا می‌شویم که هر برنامه‌نویس و کاربر حرفه‌ای باید یاد بگیرد.

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

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

استفاده از ترمینال باعث می‌شود بسیاری از کارهای روزمره مانند مدیریت فایل‌ها، نصب نرم‌افزارها، اجرای برنامه‌ها، بررسی وضعیت سیستم، مدیریت سرورها و پیکربندی تنظیمات با سرعت و دقت بیشتری انجام شوند. به همین دلیل، ترمینال لینوکس یکی از مهم‌ترین ابزارهای مورد استفاده برنامه‌نویسان، مدیران سیستم، متخصصان DevOps و کارشناسان امنیت است.

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

برای مثال، به جای اینکه وارد فایل منیجر شوید و یک پوشه ایجاد کنید، می‌توانید تنها با یک دستور این کار را انجام دهید:

mkdir projects

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

ترمینال معمولاً از یک Shell استفاده می‌کند. محبوب‌ترین Shell در لینوکس، Bash است که مخفف:

Bourne Again Shell

می‌باشد.

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

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

چرا یادگیری دستورات لینوکس مهم است؟

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

با استفاده از دستورات لینوکس، برنامه‌نویسان می‌توانند فایل‌ها و پروژه‌های خود را به شکل حرفه‌ای مدیریت کنند، روی سرورهای لینوکسی کار کنند، فرآیند توسعه نرم‌افزار را بهینه کنند و ابزارهای کاربردی مانند Git، Docker و سرویس‌های مختلف را بهتر مدیریت کنند.

از مهم‌ترین مزایای یادگیری ترمینال لینوکس می‌توان به موارد زیر اشاره کرد:

  • مدیریت سریع‌تر فایل‌ها و پروژه‌ها: ایجاد، حذف، جابه‌جایی و جستجو در فایل‌ها با چند دستور ساده و بدون نیاز به محیط گرافیکی.
  • کار با سرورهای لینوکسی: بسیاری از سرورها فاقد رابط گرافیکی هستند و مدیریت آن‌ها از طریق ترمینال انجام می‌شود.
  • استفاده حرفه‌ای از Git: بیشتر توسعه‌دهندگان برای کنترل نسخه و مدیریت کدها از Git در محیط ترمینال استفاده می‌کنند.
  • اجرای پروژه‌های Backend: بسیاری از پروژه‌های سمت سرور مانند Node.js، Python، Java و PHP در محیط لینوکس اجرا و مدیریت می‌شوند.
  • مدیریت Docker و کانتینرها: ابزارهای مدرن توسعه مانند Docker وابستگی زیادی به دستورات خط فرمان دارند.
  • افزایش سرعت کار روزانه: انجام بسیاری از عملیات‌ها در ترمینال سریع‌تر از روش‌های گرافیکی است.
  • آمادگی برای مسیرهای شغلی DevOps و Cloud: مهارت لینوکس یکی از پایه‌های اصلی ورود به حوزه‌هایی مانند DevOps، Cloud Computing و مدیریت زیرساخت است.

امروزه بخش بزرگی از سرورها و زیرساخت‌های اینترنتی از سیستم‌عامل لینوکس استفاده می‌کنند. به همین دلیل، آشنایی با Terminal و یادگیری دستورات پرکاربرد لینوکس یک مهارت ارزشمند برای هر توسعه‌دهنده‌ای محسوب می‌شود و می‌تواند مسیر یادگیری و پیشرفت حرفه‌ای برنامه‌نویسان را هموارتر کند.

دستورات پایه لینوکس

دستورات پایه لینوکس

دستورات پایه لینوکس

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

1. دستور pwd؛ نمایش مسیر فعلی

دستور pwd یکی از اولین دستوراتی است که هر کاربر لینوکس باید با آن آشنا باشد. این دستور مسیر کامل پوشه‌ای که در حال حاضر در آن قرار دارید را نمایش می‌دهد.

pwd مخفف عبارت Print Working Directory است و زمانی کاربرد دارد که بخواهید بدانید در کدام بخش از ساختار فایل‌های لینوکس قرار دارید.

برای مشاهده مسیر پوشه‌ای که در آن قرار دارید:

pwd

مثال خروجی:

/home/user/projects

این دستور مخفف:

Print Working Directory

است.

2. دستور ls؛ مشاهده فایل‌ها و پوشه‌ها

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

ls

برای نمایش اطلاعات کامل‌تر مانند حجم فایل، سطح دسترسی، مالک فایل و تاریخ ایجاد می‌توانید از گزینه -l استفاده کنید:

ls -l

همچنین برای نمایش فایل‌های مخفی در لینوکس از گزینه -a استفاده می‌شود:

ls -a

ترکیب این دو گزینه یکی از دستورات پرکاربرد در مدیریت فایل‌ها است:

ls -la

3. دستور cd؛ تغییر مسیر

دستور cd برای حرکت بین پوشه‌های مختلف در سیستم استفاده می‌شود. با استفاده از این دستور می‌توانید وارد یک پوشه شوید یا به مسیرهای دیگر بروید.

cd projects

برای بازگشت به پوشه قبلی:

cd ..

برای رفتن مستقیم به پوشه Home کاربر:

cd ~
یادگیری دستور cd برای کار با ترمینال لینوکس بسیار مهم است، زیرا تقریباً در تمام فعالیت‌های روزانه با فایل‌ها و پروژه‌ها از آن استفاده خواهید کرد.

4. ایجاد فایل و پوشه در لینوکس

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

برنامه‌نویسان هنگام ساخت پروژه‌های جدید، ایجاد فایل‌های تنظیمات، مدیریت سورس کدها و کار با سرورها، به صورت مداوم از دستورات مربوط به ایجاد فایل و پوشه استفاده می‌کنند.

دستور mkdir؛ ایجاد پوشه جدید

دستور mkdir برای ساخت پوشه یا دایرکتوری جدید در لینوکس استفاده می‌شود. نام این دستور از عبارت Make Directory گرفته شده است.

برای ایجاد یک پوشه جدید کافی است نام پوشه موردنظر را بعد از دستور قرار دهید:
mkdir my-project

ساخت فایل جدید:

touch app.js

5. حذف فایل و پوشه

حذف یک فایل:

rm file.txt

حذف یک پوشه:

rm -r folder

حذف اجباری:

rm -rf folder

توجه: دستور rm -rf قدرتمند است و باید با دقت استفاده شود.

کار با فایل‌ها در ترمینال لینوکس

مدیریت فایل‌ها یکی از مهم‌ترین مهارت‌هایی است که هر کاربر لینوکس و برنامه‌نویس باید یاد بگیرد. در محیط ترمینال لینوکس، می‌توان فایل‌ها را ایجاد، مشاهده، ویرایش، کپی، انتقال و حذف کرد؛ بدون اینکه نیاز به استفاده از محیط‌های گرافیکی مانند File Manager داشته باشید.

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

مشاهده محتوای فایل با cat

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

cat file.txt

اگر فایل شامل چند خط متن باشد، تمام خطوط در ترمینال نمایش داده می‌شوند.

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

برای مشاهده فایل‌های بزرگ:

less file.txt

ویرایش فایل با Nano

یکی از ساده‌ترین ویرایشگرهای متنی در لینوکس، nano است. این ویرایشگر برای کاربران تازه‌کار بسیار مناسب است.

nano file.txt

ذخیره:

CTRL + O

خروج:

CTRL + X

پس از باز شدن فایل می‌توانید متن موردنظر را تغییر دهید.

میانبرهای مهم در Nano:

  • CTRL + O : ذخیره فایل
  • CTRL + X : خروج از ویرایشگر
  • CTRL + W : جستجو در متن

ویرایش حرفه‌ای با Vim

Vim یکی از قدرتمندترین ویرایشگرهای متنی در محیط لینوکس است که سال‌هاست توسط برنامه‌نویسان حرفه‌ای و مدیران سیستم استفاده می‌شود. این ویرایشگر برخلاف ابزارهایی مانند Nano، امکانات بسیار گسترده‌ای برای ویرایش کد، جستجو، جایگزینی متن و مدیریت فایل‌ها دارد.

یکی از دلایل محبوبیت Vim این است که تقریباً روی اکثر سرورهای لینوکسی نصب شده است؛ بنابراین برنامه‌نویسان می‌توانند حتی بدون داشتن محیط گرافیکی، فایل‌های پروژه و تنظیمات سرور را ویرایش کنند.

باز کردن فایل با Vim:

vim app.js

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

جستجو در لینوکس

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

دستور grep

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

برای پیدا کردن متن داخل فایل‌ها:

grep "error" log.txt

مثلاً پیدا کردن کلمه API در پروژه:

grep -r "API" .

گزینه -r باعث می‌شود جستجو به صورت بازگشتی در تمام پوشه‌ها و فایل‌های زیرمجموعه انجام شود.

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

دسترسی فایل‌ها در لینوکس

دسترسی فایل‌ها در لینوکس

مدیریت دسترسی فایل‌ها در لینوکس

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

این سیستم دسترسی باعث افزایش امنیت در محیط‌های چندکاربره و سرورها می‌شود. به همین دلیل، برنامه‌نویسان، مدیران سیستم و متخصصان DevOps باید با مفاهیم Permission در لینوکس آشنا باشند.

مفهوم Permission در لینوکس

در لینوکس برای هر فایل سه نوع دسترسی اصلی وجود دارد:

دسترسی نام کاربرد
r Read خواندن و مشاهده محتوای فایل
w Write تغییر و ویرایش فایل
x Execute اجرای فایل یا اسکریپت

همچنین این دسترسی‌ها برای سه گروه مختلف تعریف می‌شوند:

  • Owner (مالک فایل): کاربری که فایل را ایجاد کرده است.
  • Group (گروه): گروهی از کاربران که به فایل دسترسی دارند.
  • Others (سایر کاربران): تمام کاربران دیگر سیستم.

روش عددی در chmod

یکی از رایج‌ترین روش‌ها برای تنظیم دسترسی‌ها، استفاده از اعداد است.

در این روش:

مقدار دسترسی
4 Read
2 Write
1 Execute

برای ترکیب دسترسی‌ها، اعداد با هم جمع می‌شوند:

مقدار معنی
7 Read + Write + Execute