مقدمه
کار با سرور لینوکس برای یک توسعهدهنده وب فقط به معنای میزبانی فایلها نیست؛ بلکه یعنی کنترل کامل روی محیط اجرا. بسیاری از برنامهنویسان هنگام دیباگ یا مدیریت سرور، زمان زیادی را در رابطهای گرافیکی تلف میکنند، در حالی که با ۱۰ دستور زیر، میتوانید سرعت کار خود را چندین برابر کنید. این لیست برای هر کسی که با لینوکس سر و کار دارد، حیاتی است.
۱. مانیتور زنده لاگها با tail و grep
وقتی سایت شما با خطای ۵۰۰ مواجه میشود، اولین جایی که باید نگاه کنید، فایلهای لاگ است. به جای باز کردن فایلها در ویرایشگر، از این دستور استفاده کنید تا در لحظه خطاها را ببینید:
tail -f /var/log/nginx/error.log | grep --line-buffered "500"
نکته: سوئیچ --line-buffered کمک میکند که خروجی سریعتر به شما نمایش داده شود.
۲. پیدا کردن قاتلین فضای دیسک با du و ncdu
پر شدن دیسک سرور کابوس هر مدیر سروری است. برای پیدا کردن دایرکتوریهای سنگین، این دستور فوقالعاده است:
du -ahx /var/www | sort -rh | head -n 10
پیشنهاد حرفهای: اگر ابزار ncdu را نصب کنید، یک محیط گرافیکی ترمینالی (TUI) خواهید داشت که مدیریت فضای دیسک را بسیار لذتبخش میکند.
۳. جستجوی هوشمند کد با grep
فرض کنید میخواهید ببینید کدام فایل پروژه شما از تابع mail() استفاده کرده است:
grep -rnw '/var/www/my-project/' -e 'mail('
این دستور در تمام زیرپوشهها میگردد، شماره خط را میدهد و نام فایل را چاپ میکند.
۴. مدیریت پردازشها با htop
دستور top قدیمی است! با نصب htop (یا btop)، یک محیط رنگی و تعاملی دارید که میتوانید با کیبورد پردازشهای سنگین را انتخاب کرده و با کلید F9 بکشید (Kill).
۵. بررسی پورتهای در حال شنود با ss
دیگر از netstat استفاده نکنید! دستور ss سریعتر و مدرنتر است. برای دیدن اینکه کدام سرویس روی چه پورتی (مثلاً ۸۰ یا ۴۴۳) بالا آمده:
sudo ss -tulpn | grep LISTEN
۶. همگامسازی فایلها با rsync
برای آپلود یا بکآپگیری، هرگز از cp استفاده نکنید. rsync تفاوت فایلها را میفهمد و فقط تغییرات را کپی میکند (Incremental Backup):
rsync -avzP /local/project/ user@remote-server:/var/www/html/
۷. دیباگ کردن API و هدرها با curl
قبل از اینکه سراغ Postman بروید، با curl وضعیت سایت خود را چک کنید. این دستور به شما میگوید سرور دقیقاً چه هدرهایی (مثل Cache-Control یا Server) برمیگرداند:
curl -I -s https://unixweb.ir
۸. جایگزینی دستهجمعی متون با sed
فرض کنید میخواهید در ۱۰۰ فایل کانفیگ، آدرس دیتابیس قدیمی را با جدید عوض کنید. نیازی به ادیت تکتک فایلها نیست:
sed -i 's/old_db_host/new_db_host/g' /var/www/*.php
۹. کار در محیطهای ریموت با tmux
اگر اینترنت شما حین آپلود فایلها یا اجرای یک پروسه طولانی (مثل composer install) قطع شود، همه چیز کنسل میشود. با tmux یک سشن بسازید که حتی اگر SSH را بستید، پروسه در پسزمینه زنده بماند.
۱۰. پیدا کردن فایلها با find
دستور find بسیار قدرتمند است. مثلاً برای پیدا کردن تمام فایلهایی که در ۲۴ ساعت گذشته تغییر کردهاند:
find /var/www -mtime -1
جمعبندی
یادگیری این ۱۰ دستور، مرز بین یک برنامهنویس معمولی و یک توسعهدهنده مسلط به زیرساخت (DevOps-minded) است. اگر اینها را بلد باشید، در زمانهای حساسِ دیباگ، خونسردی خود را حفظ خواهید کرد.






