۳۰ دستور ضروری لینوکس که هر برنامه نویس بک اند باید بداند + مثال

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

توسعه بک‌اند (Backend Development) صرفاً به نوشتن کد تمیز خلاصه نمی‌شود. چه در حال ساخت API، مدیریت پایگاه‌داده، دپلوی (Deploy) برنامه‌ها یا رفع اشکال (Debugging) در محیط پروداکشن باشید، بخش زیادی از زمان خود را صرف کار با سرورهای لینوکس خواهید کرد.

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

در این راهنمای جامع، به بررسی ضروری‌ترین دستورات لینوکس برای برنامه نویسان بک اند همراه با مثال‌های عملی و سناریوهای واقعی می‌پردازیم.

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

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

با تسلط بر دستورات ترمینال لینوکس می‌توانید:

  • برنامه‌ها را به شکلی کارآمد دپلوی (Deploy) کنید.

  • خطاهای محیط پروداکشن را به‌سرعت دیباگ کنید.

  • فایل‌ها و دایرکتوری‌ها را به راحتی مدیریت کنید.

  • عملکرد و منابع سیستم (Performance) را مانیتور کنید.

  • به‌صورت تعاملی با داکر (Docker) و کوبرنتیس (Kubernetes) کار کنید.

  • با استفاده از شل اسکریپت‌ها (Shell Scripts)، فرآیندها را اتوماتیک کنید.

در ادامه، ۳۰ دستور حیاتی لینوکس را بررسی می‌کنیم.

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

۱. دستور pwd – نمایش مسیر فعلی (Print Working Directory)

دستور pwd موقعیت دقیق شما را در سیستم‌فایل نمایش می‌دهد.

Bash
pwd

خروجی نمونه:

Plaintext
/home/backend/projects/api

کاربرد: این دستور هنگام پیمایش در ساختارهای پیچیده‌ی دایرکتوری‌ها بسیار مفید است.

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

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

Bash
ls

سوئیچ‌های پرکاربرد:

  • ls -l : نمایش اطلاعات کامل (دسترسی‌ها، حجم، تاریخ و...)

  • ls -a : نمایش تمام فایل‌ها، شامل فایل‌های مخفی (Hidden)

  • ls -lh : نمایش حجم فایل‌ها به فرمت خوانا (KB, MB, GB)

مثال:

Plaintext
drwxr-xr-x  app
-rw-r--r--  package.json

۳. دستور cd – جابه‌جایی بین پوشه‌ها (Change Directory)

برای جابه‌جایی در دایرکتوری‌ها استفاده می‌شود.

Bash
cd project
  • بازگشت به یک پوشه قبل:

Bash
cd ..
  • رفتن به پوشه اصلی کاربر (Home):

Bash
cd ~
  • بازگشت به پوشه قبلی که در آن بودید:

Bash
cd -

۴. دستور mkdir – ساخت پوشه جدید

برای ساخت یک دایرکتوری جدید:

Bash
mkdir logs

ساخت پوشه‌های تو در تو به صورت همزمان (Nested Directories):

Bash
mkdir -p app/storage/uploads

۵. دستور rm – حذف فایل‌ها و پوشه‌ها

حذف فایل:

Bash
rm file.txt

حذف پوشه و محتویات آن به صورت بازگشتی (Recursive):

Bash
rm -r folder

حذف اجباری پوشه و فایل‌ها بدون پرسش:

Bash
rm -rf folder

⚠️ هشدار: هنگام استفاده از rm -rf بسیار احتیاط کنید؛ زیرا فایل‌ها بدون تأییدیه و به‌صورت دائمی حذف می‌شوند.

۶. دستور cp – کپی کردن فایل‌ها و پوشه‌ها

کپی کردن فایل:

Bash
cp config.env config.backup

کپی کردن پوشه و تمام محتویات آن:

Bash
cp -r uploads backup

۷. دستور mv – جابه‌جایی یا تغییر نام فایل

تغییر نام فایل (Rename):

Bash
mv old.txt new.txt

انتقال فایل به مسیر دیگر (Move):

Bash
mv app.log /var/logs/

۸. دستور cat – مشاهده محتوای فایل

خواندن سریع فایل‌های متنی کم‌حجم:

Bash
cat .env

ادغام و ترکیب چند فایل با هم:

Bash
cat file1.txt file2.txt

۹. دستور less – خواندن فایل‌های متنی بزرگ

برای مشاهده فایل‌های لوگ (Log) سنگین بدون درگیر کردن حافظه سیستم:

Bash
less server.log

کلیدهای میانبر کاربردی:

  • Space → صفحه بعدی

  • b → صفحه قبلی

  • keyword/ → جستجوی عبارت مورد نظر

  • q → خروج از محیط کمتر (Quit)

۱۰. دستور tail – مانیتورینگ آنلاین لاگ‌ها

مشاهده خطوط پایانی فایل لوگ:

Bash
tail server.log

مشاهده زنده و لحظه‌ای تغییرات لاگ (Live Stream):

Bash
tail -f server.log

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

۱۱. دستور grep – جستجوی متن داخل فایل‌ها

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

Bash
grep "ERROR" server.log

جستجو بدون حساسیت به حروف بزرگ و کوچک (Case-insensitive):

Bash
grep -i error server.log

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

Bash
grep -r "database" .

۱۲. دستور find – جستجوی فایل‌ها در سیستم

جستجو بر اساس نام فایل:

Bash
find . -name "*.log"

جستجوی فقط پوشه‌ها:

Bash
find . -type d

یافتن فایل‌هایی که در ۲۴ ساعت گذشته تغییر کرده‌اند:

Bash
find . -mtime -1

۱۳. دستور chmod – تغییر سطح دسترسی فایل‌ها (Permissions)

قابل اجرا کردن یک فایل اسکریپت (Executable):

Bash
chmod +x deploy.sh

تغییر دسترسی با کدهای عددی:

Bash
chmod 755 script.sh

۱۴. دستور chown – تغییر مالکیت فایل (Ownership)

Bash
sudo chown ubuntu:www-data app

کاربرد: بسیار پرکاربرد هنگام کانفیگ و تنظیم وب‌سرورها مانند Nginx و Apache.

۱۵. دستور ps – مشاهده پروسه‌های در حال اجرا

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

Bash
ps aux

جستجوی یک پروسه خاص (مثلاً برنامه Node.js):

Bash
ps aux | grep node

۱۶. دستور kill – متوقف کردن پروسه‌ها

توقف پروسه با استفاده از شناسه آن (PID):

Bash
kill 3456

توقف اجباری و فوری پروسه (Force Kill):

Bash
kill -9 3456

۱۷. دستور top – مانیتورینگ منابع سیستم

نمایش زنده وضعیت منابع سرور:

Bash
top

اطلاعات پردازشی شامل:

  • میزان مصرف CPU

  • میزان مصرف رم (RAM)

  • لیست پروسه‌های فعال

  • میانگین بار سیستم (Load Average)

نکته: این دستور معمولاً اولین ابزاری است که توسعه‌دهندگان هنگام کندی سرور از آن استفاده می‌کنند.

۱۸. دستور df – بررسی فضای دیسک (Disk Space)

Bash
df -h

خروجی نمونه:

Plaintext
Filesystem     Size  Used Avail Use%
/dev/sda1       40G   25G   13G  66%

کاربرد: عالی برای مواقعی که سرور به دلیل پر شدن ناگهانی حافظه دچار مشکل شده است.

۱۹. دستور du – بررسی حجم پوشه‌ها

مشاهده حجم یک پوشه مشخص:

Bash
du -sh logs

یافتن حجیم‌ترین پوشه‌ها در مسیر فعلی:

Bash
du -h --max-depth=1

۲۰. دستور free – بررسی میزان حافظه رم (RAM)

Bash
free -h

اطلاعات خروجی:

  • کل رم (Total RAM)

  • رم مصرف‌شده (Used RAM)

  • رم آزاد (Free RAM)

  • حافظه Swap

۲۱. دستورات wget و curl – ارسال درخواست‌های HTTP و دانلود

دانلود یک فایل از اینترنت:

Bash
wget https://example.com/file.zip

تست یک API (درخواست GET):

Bash
curl https://api.example.com/users

ارسال درخواست POST به API:

Bash
curl -X POST https://api.example.com/login \
-H "Content-Type: application/json" \
-d '{"email":"admin@example.com"}'

کاربرد: توسعه‌دهندگان بک‌اند به‌صورت روزمره از curl برای تست Endpointهای وب‌سرویس استفاده می‌کنند.

۲۲. دستور ssh – اتصال امن به سرور ریموت

Bash
ssh ubuntu@192.168.1.10

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

۲۳. دستور scp – انتقال امن فایل بین سرور و کامپیوتر

آپلود فایل به سرور:

Bash
scp app.zip ubuntu@server:/home/ubuntu/

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

Bash
scp ubuntu@server:/var/log/app.log .

۲۴. دستور history – مشاهده تاریخچه دستورات

مشاهده لیست دستورات قبلی تایپ‌شده:

Bash
history

اجرای مجدد دستور شماره ۱۲۰ از تاریخچه:

Bash
!120

جستجوی سریع در دستورات قبلی: کلیدهای ترکیب Ctrl + R را فشار داده و عبارت مورد نظر را تایپ کنید.

۲۵. دستور systemctl – مدیریت سرویس‌های سیستم

شروع به کار یک سرویس (Start):

Bash
sudo systemctl start nginx

متوقف کردن سرویس (Stop):

Bash
sudo systemctl stop nginx

راه‌اندازی مجدد (Restart):

Bash
sudo systemctl restart nginx

بررسی وضعیت سرویس (Status):

Bash
sudo systemctl status nginx

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

۲۶. دستور journalctl – مشاهده لوگ‌های سیستم (Systemd)

مشاهده لاگ‌های مربوط به یک سرویس خاص:

Bash
journalctl -u nginx

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

Bash
journalctl -f

۲۷. دستور tar – فشرده‌سازی و استخراج فایل‌ها (Archive)

ایجاد یک فایل آرشیو فشرده (.tar.gz):

Bash
tar -czf backup.tar.gz project/

استخراج و باز کردن فایل آرشیو:

Bash
tar -xzf backup.tar.gz

۲۸. دستورات zip و unzip

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

Bash
zip project.zip app/

خارج کردن از حالت فشرده:

Bash
unzip project.zip

۲۹. ویرایشگرهای nano و vim – ویرایش فایل‌ها در ترمینال

ویرایش سریع فایل با ویرایشگر ساده Nano:

Bash
nano config.env

ویرایش فایل با ویرایشگر حرفه‌ای Vim:

Bash
vim server.js

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

۳۰. دستور echo – چاپ یا نوشتن متن در فایل

چاپ متن در خروجی ترمینال:

Bash
echo "Hello Linux"

اضافه کردن یک متن یا متغیر به انتهای فایل (Append):

Bash
echo "API_KEY=12345" >> .env

میانبرهای جادویی برای افزایش سرعت کار در لینوکس

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

  • Ctrl + C → متوقف کردن دستور در حال اجرا

  • Ctrl + Z → معلق کردن (Suspend) پروسه جاری

  • Ctrl + L → پاک‌سازی صفحه ترمینال (معادل دستور clear)

  • Tab → تکمیل خودکار (Auto-complete) دستورات و مسیرها

  • !! → تکرار و اجرای دقیقاً آخرین دستور تایپ‌شده

جمع‌بندی

لینوکس فراتر از یک سیستم‌عامل ساده است؛ لینوکس ستون فقرات توسعه بک‌اند مدرن محسوب می‌شود. از مدیریت سرورها و مانیتورینگ برنامه‌ها گرفته تا دپلوی کدها و عیب‌یابی در پروداکشن، مهارت در لینوکس برای هر توسعه‌دهنده بک‌اند ضروری است.

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

سوالات متداول (FAQs)

۱. کدام دستورات لینوکس برای افراد مبتدی اولویت دارند؟

بهتر است کار خود را با دستورات پایه مثل pwd ،ls ،cd ،mkdir ،cp ،mv ،rm ،cat ،grep ،find ،chmod و ssh شروع کنید. این موارد بخش اعظم نیازهای روزمره شما را پوشش می‌دهند.

۲. چرا برنامه نویسان بک اند به لینوکس نیاز دارند؟

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

۳. آیا یادگیری لینوکس برای برنامه نویسی بک اند الزامی است؟

اگرچه می‌توانید برنامه‌نویسی را روی Windows یا macOS انجام دهید، اما یادگیری لینوکس شدیداً توصیه می‌شود؛ چرا که محیط‌های اجرای واقعی (Production Environments) عمدتاً مبتنی بر لینوکس هستند.

۴. بهترین دستورات لینوکس برای دیباگ (Debugging) کدامند؟

دستوراتی مانند tail -f ،grep ،journalctl ،top ،ps و curl از کاربردی‌ترین ابزارها برای بررسی وضعیت سرور و عیب‌یابی برنامه‌ها هستند.

امیر آقاوردی
امیر آقاوردی
توسعه‌دهنده پایتون
توسعه‌دهنده پایتون با تخصص در توسعه وب‌اپلیکیشن‌های مدرن با استفاده از Django و FastAPI، با تمرکز بر طراحی سیستم‌های بک‌اند، توسعه API و پیاده‌سازی نرم‌افزارهای امن و مقیاس‌پذیر

بحث و گفتگو(0 نظرات)


✅ موفقیت‌آمیز