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


 

## 🎯 آموزش انتقال فایل‌ها و دایرکتوری‌ها در لینوکس با دستور `scp`

`scp` مخفف **Secure Copy** است و یکی از ساده‌ترین روش‌ها برای انتقال امن فایل‌ها بین دو سیستم از طریق SSH محسوب می‌شود.

با `scp` می‌توانید به راحتی فایل‌ها یا دایرکتوری‌ها را بین سرورها یا از سیستم خود به سرور و برعکس انتقال دهید.

---

# 🛠️ نصب scp

در اکثر توزیع‌های لینوکس، `scp` به صورت پیش‌فرض همراه با `openssh-client` نصب شده است.
در صورت نیاز:

**Debian/Ubuntu:**
```bash
sudo apt update
sudo apt install openssh-client
```

**CentOS/RHEL/Fedora:**
```bash
sudo dnf install openssh-clients
```

---

# 📂 دستورالعمل پایه‌ی استفاده از scp

فرمت کلی دستور `scp` به صورت زیر است:

```bash
scp [options] source destination
```

---

# بخش اول: 📁 انتقال فایل‌ها

### ✅ کپی فایل از سیستم محلی به سرور ریموت

```bash
scp /path/to/local/file.txt username@remote_host:/path/to/remote/directory/
```

مثال:
```bash
scp /home/user/document.txt [email protected]:/root/
```

---

### ✅ کپی فایل از سرور ریموت به سیستم محلی

```bash
scp username@remote_host:/path/to/remote/file.txt /path/to/local/directory/
```

مثال:
```bash
scp [email protected]:/root/document.txt /home/user/
```

---

# بخش دوم: 📂 انتقال پوشه‌ها (دایرکتوری‌ها)

برای کپی کردن دایرکتوری‌ها باید گزینه `-r` (recursive) را اضافه کنید.

### ✅ کپی دایرکتوری از سیستم محلی به ریموت

```bash
scp -r /path/to/local/folder username@remote_host:/path/to/remote/
```

### ✅ کپی دایرکتوری از ریموت به سیستم محلی

```bash
scp -r username@remote_host:/path/to/remote/folder /path/to/local/
```

---

# 🌟 گزینه‌های پرکاربرد در scp

| گزینه | توضیح |
|------|------|
| `-r` | کپی به صورت بازگشتی (مخصوص پوشه‌ها) |
| `-P` | مشخص کردن پورت SSH (مثلاً اگر غیر از ۲۲ باشد) |
| `-C` | فشرده‌سازی داده‌ها در حین انتقال |
| `-i` | مشخص کردن فایل کلید خصوصی برای اتصال |

---

# 🔥 مثال‌های حرفه‌ای‌تر

### کپی فایل از طریق پورت SSH سفارشی (مثلاً پورت 2222)

```bash
scp -P 2222 /path/to/file username@remote_host:/path/to/remote/
```

---

### استفاده از کلید خصوصی برای اتصال

اگر برای اتصال به سرور به جای پسورد از SSH Key استفاده می‌کنید:

```bash
scp -i /path/to/private_key.pem /path/to/file username@remote_host:/path/to/remote/
```

---

# 🧠 نکات مهم هنگام استفاده از scp

- اگر می‌خواهید سرعت بیشتری داشته باشید یا حجم داده‌ها زیاد است، بهتر است از گزینه‌ی `-C` برای فشرده‌سازی استفاده کنید.
- اگر حجم انتقال بسیار بزرگ است یا نیاز به انتقال incremental دارید، `rsync` گزینه بهتری نسبت به `scp` است.
- scp از طریق SSH کار می‌کند؛ پس مطمئن شوید که سرویس SSH روی مقصد فعال است و پورت صحیح باز است.
- امنیت داده‌ها در `scp` بالا است زیرا انتقال به صورت رمزنگاری شده انجام می‌شود.

---

# ✅ نتیجه‌گیری

`scp` ابزاری ساده، قوی و امن برای انتقال فایل‌ها و دایرکتوری‌ها بین سیستم‌های مختلف لینوکسی یا حتی بین لینوکس و ویندوز (با WSL یا برنامه‌هایی مثل WinSCP) است.

چه برای انتقال یک فایل ساده، چه برای جابه‌جایی پوشه‌های بزرگ، `scp` یک انتخاب سریع و عالی محسوب می‌شود. 🚀

 


آیا این پاسخ به شما کمک کرد؟

  • 0
« برگشت