دستورات ssh لینوکس (دستورات putty)
راهنمای کامل دستورات پرکاربرد لینوکس برای مدیریت سرور (SSH)
ورود به دنیای مدیریت سرور لینوکس میتواند در ابتدا کمی دلهرهآور به نظر برسد. اما تسلط بر چند دستور کلیدی، دروازهای برای کنترل کامل و حرفهای سرور شماست. SSH (Secure Shell) پروتکل استانداردی است که به شما اجازه میدهد به صورت امن به سرور خود متصل شوید و آن را مدیریت کنید. ابزارهایی مانند PuTTY در ویندوز یا ترمینال در مک و لینوکس، کلاینتهایی هستند که از این پروتکل برای اتصال استفاده میکنند.
برای هر کسی که اقدام به خرید سرور مجازی میکند، یادگیری این دستورات یک مهارت بنیادی است. این مقاله به عنوان یک راهنمای مرجع و کاربردی (Cheat Sheet) طراحی شده تا دستورات ضروری را به صورت دستهبندی شده در اختیار شما قرار دهد.
دستورات پایه: ناوبری و مدیریت فایلها
اینها ابتداییترین و پرکاربردترین دستوراتی هستند که روزانه با آنها سر و کار خواهید داشت.
۱. مدیریت فایلها و پوشهها
- ls: نمایش لیست فایلها و پوشهها.
ls -la
(گزینه -l
اطلاعات کامل و -a
فایلهای مخفی را نمایش میدهد)
- cd: تغییر دایرکتوری (رفتن به پوشهای دیگر).
cd /var/www/html
- pwd: نمایش مسیر کامل دایرکتوری فعلی.
pwd
- mkdir: ایجاد یک پوشه جدید.
mkdir new_directory
- rm: حذف فایلها و پوشهها.
# حذف یک فایل
rm file.txt
# حذف یک پوشه و تمام محتوایات آن (با احتیاط استفاده شود)
rm -r directory_name
- cp: کپی کردن فایل یا پوشه.
cp source.txt /path/to/destination/
- mv: انتقال یا تغییر نام فایل یا پوشه.
mv old_name.txt new_name.txt
۲. مشاهده و ویرایش فایلها
- cat: نمایش کامل محتوای یک فایل متنی.
cat /etc/os-release
- nano: ویرایش فایل با ویرایشگر ساده nano.
nano my_file.txt
(برای ذخیره: Ctrl + O و برای خروج: Ctrl + X)
دستورات پیشرفته: مدیریت سیستم و شبکه
پس از آشنایی با دستورات پایه، میتوانید با استفاده از این دستورات، کنترل بیشتری روی خرید vps خود داشته باشید.
۳. جستجو و فشردهسازی
- find: جستجوی فایل یا پوشه در سیستم.
# جستجو بر اساس نام در کل سیستم
find / -name "config.php"
- grep: جستجوی یک عبارت خاص درون فایلها.
# جستجوی کلمه "error" در فایل لاگ آپاچی
grep "error" /var/log/apache2/error.log
- du: نمایش حجم یک فایل یا پوشه.
# نمایش حجم پوشه به صورت خوانا
du -sh /var/log
- tar: برای فشردهسازی و استخراج فایلها.
# فشردهسازی یک پوشه
tar -czvf archive.tar.gz /path/to/directory
# استخراج یک فایل فشرده
tar -xzvf archive.tar.gz
۴. مدیریت کاربران و دسترسیها
- whoami: نمایش نام کاربری فعلی شما.
whoami
- chmod: تغییر دسترسیها (permissions) یک فایل یا پوشه.
# دادن دسترسی اجرا به یک اسکریپت
chmod +x script.sh
- chown: تغییر مالکیت یک فایل یا پوشه.
# تغییر مالک به کاربر و گروه www-data
sudo chown -R www-data:www-data /var/www/html
- adduser: افزودن یک کاربر جدید به سیستم.
sudo adduser newuser
- passwd: تغییر رمز عبور یک کاربر.
sudo passwd newuser
۵. مدیریت فرآیندها و منابع سیستم
- df: نمایش فضای خالی و استفاده شده دیسک.
df -h
- top: نمایش زنده فرآیندهای در حال اجرا و مصرف منابع. (برای خروج کلید ‘q’ را بزنید)
top
- ps: نمایش فرآیندهای در حال اجرا.
# نمایش تمام فرآیندها با جزئیات کامل
ps aux
- kill: متوقف کردن یک فرآیند بر اساس شناسه آن (PID).
kill 12345
۶. مدیریت شبکه
- ping: بررسی اتصال به یک آدرس IP یا دامنه.
ping google.com
- ss: نمایش پورتهای باز و اتصالات شبکه (جایگزین مدرن `netstat`).
ss -tuln
- curl: دریافت محتوای یک URL از خط فرمان.
curl https://api.example.com/data
- scp: کپی امن فایل بین دو سرور لینوکسی.
scp /path/to/local/file.txt user@remote_host:/path/to/remote/directory
۷. مدیریت سرویسها (Systemd)
در تمام توزیعهای مدرن، سرویسها (مانند وبسرور) با systemctl
مدیریت میشوند.
- start: راهاندازی یک سرویس.
sudo systemctl start nginx
- stop: متوقف کردن یک سرویس.
sudo systemctl stop nginx
- status: بررسی وضعیت یک سرویس.
sudo systemctl status nginx
- journalctl: مشاهده لاگهای یک سرویس.
sudo journalctl -u nginx -f
۸. اجرای دستورات در پسزمینه
- nohup &: اجرای یک دستور به طوری که حتی پس از قطع اتصال SSH به کار خود ادامه دهد.
nohup python long_running_script.py &
- screen: ایجاد یک جلسه (session) مجازی که پس از قطع اتصال زنده میماند.
# شروع یک جلسه جدید
screen
# جدا شدن از جلسه (و زنده نگه داشتن آن)
Ctrl + A سپس D
# بازگشت به آخرین جلسه
screen -r
فهرست تیترها