اولین بار که به سرور مجازی لینوکسی وصل میشوید، با یک صفحه سیاه و یک خط فرمان روبهرو هستید. خبر خوب این است که برای مدیریت روزمره سرور، دانستن حدود سی دستور کافی است. در این راهنما دستورات پایه لینوکس را که هر مدیر VPS به آنها نیاز دارد، دستهبندیشده و با مثالهای کاربردی مرور میکنیم؛ از جابهجایی بین پوشهها تا بررسی منابع، سرویسها و لاگها.
فهرست مطالب
پیش از شروع
ابتدا با SSH به سرور وصل شوید؛ اگر از ویندوز استفاده میکنید، راهنمای اتصال SSH از ویندوز را ببینید. چند مفهوم پایه:
- کاربر root همه دسترسیها را دارد. برای کار روزمره با کاربر عادی وارد شوید و دستورهای مدیریتی را با
sudoاجرا کنید. - کمک گرفتن:
man lsراهنمای کامل وls --helpخلاصه گزینهها را نشان میدهد. - کلید Tab نام فایلها و دستورها را کامل میکند و Ctrl+C دستور در حال اجرا را متوقف میکند.
مثالها برای Ubuntu و Debian هستند؛ در توزیعهای دیگر فقط دستور مدیریت بسته متفاوت است.
حرکت در فایلسیستم
pwd # مسیر فعلی
ls -lah # فهرست فایلها با جزئیات، فایلهای مخفی و حجم خوانا
cd /var/www # رفتن به یک مسیر
cd .. # یک پوشه بالاتر
cd ~ # پوشه خانه کاربر
cd - # برگشت به مسیر قبلی
چند مسیر مهم: /etc فایلهای پیکربندی، /var/log لاگها، /var/www معمولاً فایلهای سایت و /home پوشه کاربران.
کار با فایلها و پوشهها
mkdir -p /srv/app/logs # ساخت پوشه به همراه پوشههای والد
touch notes.txt # ساخت فایل خالی
cp file.conf file.conf.bak # کپی فایل
cp -r site/ site-backup/ # کپی پوشه
mv old.txt new.txt # تغییر نام یا جابهجایی
rm file.txt # حذف فایل
rm -r folder/ # حذف پوشه و محتوا
nano /etc/hosts # ویرایش فایل با ویرایشگر ساده nano
مالکیت و دسترسی فایلها با chown و chmod تغییر میکند؛ توضیح کامل در دسترسی فایلها در لینوکس.
خواندن و جستجوی محتوا
cat file.txt # نمایش کامل فایل
less /var/log/syslog # مرور فایل بزرگ (q برای خروج)
head -n 20 file.txt # ۲۰ خط اول
tail -n 50 /var/log/nginx/error.log # ۵۰ خط آخر
tail -f /var/log/nginx/access.log # دنبال کردن زنده لاگ
grep -i "error" app.log # جستجوی عبارت
grep -rn "DB_HOST" /var/www/site # جستجو در همه فایلهای یک پوشه
find /var/www -name "*.php" -mtime -1 # فایلهای PHP تغییرکرده در ۲۴ ساعت اخیر
نصب و بهروزرسانی بستهها
sudo apt update # بهروزرسانی فهرست بستهها
sudo apt upgrade -y # نصب بهروزرسانیها
sudo apt install -y htop # نصب بسته
sudo apt remove htop # حذف بسته
apt list --installed | grep nginx
در توزیعهای مبتنی بر Red Hat (AlmaLinux و Rocky) بهجای apt از dnf استفاده میشود. بهروز نگه داشتن سیستم بخشی از امنیت اولیه VPS است.
بررسی منابع سرور
htop # مصرف CPU و RAM و فرایندها (تعاملی)
free -h # حافظه و Swap
df -h # فضای دیسک هر پارتیشن
du -sh /var/* | sort -h # حجم پوشهها
uptime # زمان روشن بودن و بار سیستم (Load Average)
nproc # تعداد هستههای CPU
ps aux --sort=-%mem | head # فرایندهای پرمصرف حافظه
kill 1234 # متوقف کردن فرایند با شناسه
Load Average بیشتر از تعداد هستهها برای مدت طولانی یعنی سرور زیر فشار است. برای پایش دائمی و هشدار، مانیتورینگ سرور را راهاندازی کنید.
سرویسها و لاگها
sudo systemctl status nginx # وضعیت سرویس
sudo systemctl restart nginx # راهاندازی مجدد
sudo systemctl reload nginx # بارگذاری مجدد تنظیمات بدون قطعی
sudo systemctl enable nginx # اجرای خودکار پس از ریبوت
journalctl -u nginx --since "1 hour ago" # لاگ یک سرویس
journalctl -p err -b # خطاهای بوت فعلی
برای اجرای کارهای زمانبندیشده، cron و systemd timers را ببینید.
شبکه
ip a # آدرسهای IP
ss -tulpn # پورتهای باز و سرویسهای گوشدهنده
ping -c 4 8.8.8.8 # بررسی اتصال
curl -I https://example.com # هدرهای پاسخ یک سایت
dig example.com +short # بررسی DNS
فایروال سرور را با UFW یا nftables مدیریت کنید؛ مقایسه در UFW، iptables و nftables.
فشردهسازی و انتقال فایل
tar -czf backup.tar.gz /var/www/site # فشردهسازی پوشه
tar -xzf backup.tar.gz -C /tmp/restore # باز کردن
scp backup.tar.gz user@203.0.113.20:~/ # کپی به سرور دیگر
rsync -avz /var/www/ user@203.0.113.20:/var/www/ # همگامسازی پوشه
wget https://example.com/file.zip # دانلود فایل
نکات ایمنی
rm -rfبدون سطل بازیافت حذف میکند؛ پیش از اجرا مسیر را دوباره بخوانید و هرگز با متغیر خالی یا/اجرا نکنید.- پیش از ویرایش فایلهای پیکربندی، یک نسخه پشتیبان (
.bak) بسازید. - بعد از تغییر تنظیمات Nginx یا SSH، ابتدا پیکربندی را تست کنید (
nginx -tیاsshd -t) و بعد سرویس را reload کنید. - دستورهایی را که از اینترنت کپی میکنید، پیش از اجرا بخوانید؛ بهخصوص دستورهایی که اسکریپتی را مستقیم با
| bashاجرا میکنند.
سوالات متداول
برای مدیریت VPS حتماً باید خط فرمان بلد باشم؟
برای کارهای پایه بله؛ هرچند پنلهایی مثل cPanel یا ابزارهای وب بخشی از کارها را ساده میکنند. اگر نمیخواهید سرور را خودتان مدیریت کنید، هاست cPanel یا سرور مدیریتشده گزینه مناسبتری است.
sudo و su چه فرقی دارند؟
sudo یک دستور را با دسترسی مدیر اجرا و در لاگ ثبت میکند؛ su کل نشست را به کاربر دیگر (معمولاً root) تغییر میدهد. استفاده از sudo امنتر و قابل ردیابیتر است.
کدام توزیع لینوکس برای VPS مناسب است؟
Ubuntu LTS و Debian به دلیل مستندات گسترده و پشتیبانی بلندمدت برای بیشتر کاربران مناسباند. مقایسه سیستمعاملها در VPS لینوکس یا ویندوز.
دستوری را اشتباه اجرا کردم؛ چطور برگردانم؟
لینوکس دکمه برگشت ندارد؛ به همین دلیل بکاپ و Snapshot پیش از تغییرات مهم ضروری است. تفاوت این دو در Snapshot و Backup.
سرور لینوکس آماده تمرین و استفاده
سرورهای مجازی لینوکس تراست هاست با دسترسی کامل root تحویل میشوند. اگر ترجیح میدهید مدیریت سرور با متخصص باشد، خدمات مدیریت سرور را ببینید.