لینوکس

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

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

سیستم‌عامل لینوکس یکی از محبوب‌ترین محیط‌ها برای برنامه‌نویسان، مدیران سرور، متخصصان 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
6 Read + Write
5 Read + Execute
4 فقط Read

مثال:

chmod 755 app.sh

معنی این دستور:

Owner:   rwx (7)
Group:   r-x (5)
Others:  r-x (5)

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

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

یکی از مهم‌ترین بخش‌های کار با سیستم‌عامل لینوکس، نصب، حذف و به‌روزرسانی نرم‌افزارها است. برخلاف سیستم‌عامل‌هایی که معمولاً برای نصب برنامه‌ها نیاز به دانلود فایل‌های نصبی دارید، در بسیاری از توزیع‌های لینوکس می‌توان نرم‌افزارها را به کمک Package Manager و تنها با چند دستور ساده مدیریت کرد.

مدیر بسته‌ها (Package Manager) وظیفه دانلود، نصب، به‌روزرسانی و حذف نرم‌افزارها را بر عهده دارد و باعث می‌شود کاربران بتوانند برنامه‌ها و وابستگی‌های موردنیاز آن‌ها را به شکل منظم و امن مدیریت کنند.

در توزیع‌های مبتنی بر Debian مانند Ubuntu، معمولاً از ابزار APT استفاده می‌شود. APT مخفف عبارت Advanced Package Tool است و یکی از پرکاربردترین ابزارهای مدیریت نرم‌افزار در دنیای لینوکس محسوب می‌شود.

در توزیع‌های Debian و Ubuntu معمولاً از APT استفاده می‌شود.

آپدیت لیست پکیج‌ها:

sudo apt update

ارتقا نرم‌افزارها:

sudo apt upgrade

نصب برنامه:

sudo apt install git

حذف برنامه:

sudo apt remove package-name

دستورات مربوط به پردازش‌ها

در لینوکس هر برنامه‌ای که در حال اجرا است به عنوان یک Process (پردازش) شناخته می‌شود. مدیریت پردازش‌ها یکی از مهارت‌های مهم برای کاربران حرفه‌ای، برنامه‌نویسان و مدیران سرور است، زیرا به کمک آن می‌توان وضعیت برنامه‌های در حال اجرا را بررسی کرد، میزان مصرف منابع سیستم را مشاهده کرد و در صورت نیاز پردازش‌های مشکل‌دار را متوقف کرد.

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

مشاهده پردازش‌ها با دستور ps

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

برای نمایش پردازش‌های مربوط به کاربر فعلی:

ps

این دستور اطلاعاتی مانند شناسه پردازش (PID) و وضعیت اجرای برنامه را نمایش می‌دهد.

برای مشاهده تمام پردازش‌های فعال در سیستم:

ps aux

یا:

top

نسخه حرفه‌ای‌تر:

htop

خروجی این دستور شامل اطلاعاتی مانند:

  • نام کاربر اجراکننده پردازش
  • شناسه پردازش (PID)
  • میزان مصرف CPU
  • میزان مصرف حافظه
  • دستور اجرا شده

مدیریت سرویس‌ها با Systemctl

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

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

در سیستم‌عامل لینوکس، بسیاری از برنامه‌ها و ابزارهای مهم به صورت Service (سرویس) در پس‌زمینه اجرا می‌شوند. سرویس‌ها معمولاً هنگام روشن شدن سیستم فعال می‌شوند و وظیفه اجرای مداوم برنامه‌هایی مانند وب‌سرورها، پایگاه‌های داده، سرویس‌های شبکه و برنامه‌های Backend را بر عهده دارند.

مدیریت این سرویس‌ها در بیشتر توزیع‌های جدید لینوکس مانند Ubuntu، Debian، CentOS و Fedora توسط سیستم مدیریت سرویس systemd انجام می‌شود. ابزار اصلی برای ارتباط با systemd، دستور systemctl است.

دستور systemctl یکی از مهم‌ترین ابزارهایی است که مدیران سرور، برنامه‌نویسان Backend و متخصصان DevOps برای کنترل سرویس‌های لینوکسی از آن استفاده می‌کنند.

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

مشاهده وضعیت یک سرویس با systemctl status

برای بررسی وضعیت یک سرویس می‌توان از دستور status استفاده کرد.

systemctl status nginx

شروع سرویس:

sudo systemctl start nginx

متوقف کردن:

sudo systemctl stop nginx

فعال کردن هنگام روشن شدن سیستم:

sudo systemctl enable nginx

دستورات شبکه در لینوکس

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

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

مشاهده IP سیستم:

دستور ip یکی از ابزارهای اصلی مدیریت شبکه در لینوکس است و در نسخه‌های جدید جایگزین ابزار قدیمی ifconfig شده است.

ip addr

بررسی اتصال اینترنت:

ping google.com

مشاهده پورت‌های باز:

netstat -tulpn

بررسی اتصال شبکه با دستور ping

دستور ping یکی از ساده‌ترین ابزارها برای بررسی ارتباط بین سیستم شما و یک مقصد در شبکه است.

مثال:

ping google.com

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

از ping معمولاً برای بررسی موارد زیر استفاده می‌شود:

  • اتصال اینترنت
  • دسترسی به یک سرور
  • تأخیر شبکه (Latency)
  • مشکلات ارتباطی

برای توقف اجرای ping:

CTRL + C

بررسی DNS با دستور nslookup

سیستم‌ها برای تبدیل نام دامنه به آدرس IP از DNS استفاده می‌کنند.

با دستور nslookup می‌توان اطلاعات DNS یک دامنه را مشاهده کرد:

nslookup google.com

خروجی شامل اطلاعاتی مانند:

  • آدرس IP دامنه
  • سرور DNS پاسخ‌دهنده

است.

بررسی مسیر ارتباطی با traceroute

گاهی اوقات نیاز داریم بدانیم درخواست شبکه از چه مسیرهایی عبور می‌کند. دستور traceroute برای مشاهده مسیر ارتباطی بین سیستم شما و مقصد استفاده می‌شود.

نصب در Ubuntu:

sudo apt install traceroute

اجرا:

traceroute google.com

این دستور مسیر عبور بسته‌های شبکه را نمایش می‌دهد و برای پیدا کردن مشکلات ارتباطی بسیار مفید است.

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

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

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

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

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

در محیط‌های توسعه حرفه‌ای، کار با Git از طریق ترمینال یک مهارت ضروری محسوب می‌شود؛ به‌خصوص برای توسعه‌دهندگانی که با سرورها، پروژه‌های Open Source، Backend، DevOps و تیم‌های نرم‌افزاری بزرگ کار می‌کنند.

بررسی نصب بودن Git

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

git --version

اگر Git نصب باشد، نسخه آن نمایش داده می‌شود:

git version 2.43.0

در صورت نصب نبودن Git در Ubuntu می‌توانید آن را با دستور زیر نصب کنید:

sudo apt install git

تنظیم اطلاعات کاربر در Git

قبل از ایجاد Commit، بهتر است نام و ایمیل خود را در Git تنظیم کنید. این اطلاعات در تاریخچه تغییرات پروژه ذخیره می‌شوند.

تنظیم نام:

git config --global user.name "Your Name"

تنظیم ایمیل:

git config --global user.email "your@email.com"

مشاهده تنظیمات Git:

git config --list

ایجاد Repository جدید با git init

برای شروع مدیریت نسخه یک پروژه، ابتدا باید یک Repository ایجاد کنید.

وارد پوشه پروژه شوید:

cd my-project

سپس:

git init

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

ثبت تغییرات با git commit

بعد از اضافه کردن فایل‌ها، باید تغییرات را ثبت کنیم.

مثال:

git commit -m "Add login feature"

پیام Commit باید توضیح کوتاهی درباره تغییرات انجام شده باشد تا در آینده بررسی تاریخچه پروژه ساده‌تر شود.

 

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

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

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

بررسی نسخه ابزارهای برنامه‌نویسی

بررسی نسخه Node.js

برای پروژه‌های JavaScript و فریم‌ورک‌هایی مانند Node.js، React و Angular:

node -v

بررسی نسخه Python

برای مشاهده نسخه پایتون نصب شده:

python --version

بررسی نسخه Java

برای توسعه برنامه‌های Java، Android و Backend:

java -version

بررسی نسخه فلاتر

توسعه‌دهندگان فلاتر می‌توانند وضعیت نصب و نسخه Flutter SDK را بررسی کنند:

flutter --version

اجرای فایل‌های اسکریپت

برای اجرای فایل Bash:

./script.sh

یا:

bash script.sh

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

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

بسیاری از این کلیدهای میانبر در محیط‌های مختلف لینوکس مانند Bash، Zsh و سایر Shellها قابل استفاده هستند.

میانبر کاربرد
CTRL + C توقف اجرای دستور
CTRL + L پاک کردن صفحه
CTRL + D خروج از ترمینال
TAB تکمیل خودکار دستور
نمایش دستور قبلی
CTRL + R جستجو در دستورات قبلی

۲۰ دستور لینوکس که باید حفظ باشید

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

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

در ادامه ۲۰ دستور مهم لینوکس که هر کاربر حرفه‌ای باید با آن‌ها آشنا باشد را بررسی می‌کنیم.

pwd
ls
cd
mkdir
touch
rm
cp
mv
cat
nano
grep
find
chmod
sudo
apt
systemctl
ps
top
ping
git

نتیجه‌گیری

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

اگر قصد دارید وارد حوزه‌هایی مانند برنامه‌نویسی Backend، DevOps، امنیت، Cloud یا مدیریت سرور شوید، یادگیری دستورات لینوکس یک قدم ضروری است.

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

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

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

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

آیا یادگیری ترمینال لینوکس برای برنامه‌نویسان ضروری است؟

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

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

برای شروع کار با لینوکس بهتر است ابتدا دستورات پایه را یاد بگیرید:

  • pwd برای مشاهده مسیر فعلی
  • ls برای مشاهده فایل‌ها
  • cd برای تغییر مسیر
  • mkdir برای ساخت پوشه
  • touch برای ایجاد فایل
  • rm برای حذف فایل‌ها
  • cp برای کپی فایل‌ها
  • mv برای انتقال یا تغییر نام
  • grep برای جستجو
  • find برای پیدا کردن فایل‌ها

پس از یادگیری این دستورات می‌توانید به سراغ مباحث پیشرفته‌تر مانند مدیریت سرویس‌ها، شبکه و سرورها بروید.

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

ترمینال محیطی است که کاربر از طریق آن با سیستم ارتباط برقرار می‌کند، اما Shell برنامه‌ای است که دستورات وارد شده را پردازش و اجرا می‌کند.

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

آیا دستورات لینوکس در همه توزیع‌ها یکسان هستند؟

بخش زیادی از دستورات پایه مانند ls، cd، mkdir و grep در اکثر توزیع‌های لینوکس یکسان هستند. اما برخی دستورات مدیریت نرم‌افزار متفاوت هستند.

برای مثال:

  • Ubuntu و Debian از apt استفاده می‌کنند.
  • Fedora و CentOS از dnf یا yum استفاده می‌کنند.

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

برای اجرای یک فایل ابتدا باید مجوز اجرا داشته باشد:

chmod +x script.sh

سپس:

./script.sh

فایل اجرا می‌شود.

تفاوت sudo و root در لینوکس چیست؟

کاربر root بالاترین سطح دسترسی در لینوکس را دارد و می‌تواند تمام تغییرات سیستم را انجام دهد.

دستور sudo به کاربران معمولی اجازه می‌دهد یک دستور خاص را با دسترسی مدیریتی اجرا کنند.

مثال:

sudo apt update

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

در توزیع‌های مبتنی بر Debian مانند Ubuntu معمولاً از APT استفاده می‌شود.

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

sudo apt update

سپس نرم‌افزار موردنظر را نصب کنید:

sudo apt install package-name

آیا برنامه‌نویسان باید Vim را یاد بگیرند؟

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

چگونه بفهمیم چه برنامه‌هایی روی لینوکس در حال اجرا هستند؟

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

ps aux

یا:

top

همچنین ابزار htop نمایی ساده‌تر و حرفه‌ای‌تر از پردازش‌های سیستم ارائه می‌دهد.

چگونه به یک سرور لینوکسی متصل شویم؟

برای اتصال به سرورهای لینوکسی معمولاً از SSH استفاده می‌شود:

ssh username@server-ip

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

آیا یادگیری لینوکس برای توسعه‌دهندگان موبایل هم مفید است؟

بله. حتی توسعه‌دهندگان Android، Flutter و iOS نیز از لینوکس در بخش‌هایی مانند مدیریت Git، اجرای ابزارهای خط فرمان، کار با سرورها، CI/CD و Docker استفاده می‌کنند.

چقدر زمان لازم است تا دستورات لینوکس را یاد بگیریم؟

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

آیا لینوکس فقط برای مدیران سرور و DevOps است؟

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

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

دیدگاهتان را بنویسید

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