溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎樣在Linux系統之間傳輸文件

發布時間:2022-01-25 10:57:53 來源:億速云 閱讀:282 作者:kk 欄目:開發技術
# 怎樣在Linux系統之間傳輸文件

## 前言

在Linux系統管理和日常運維工作中,文件傳輸是最基礎也最頻繁的操作之一。無論是跨服務器同步數據、備份重要文件,還是在分布式系統中共享資源,掌握高效可靠的文件傳輸方法都至關重要。本文將全面介紹Linux系統間文件傳輸的12種主流方法,涵蓋從基礎命令到專業工具的全套解決方案。

## 一、SCP(Secure Copy Protocol)

### 1.1 基本概念
SCP是基于SSH協議的安全文件傳輸工具,加密所有傳輸數據,默認使用22端口。

### 1.2 基本語法
```bash
scp [選項] 源文件 目標路徑

1.3 常用操作示例

  • 本地→遠程:
    
    scp /local/file.txt user@remote:/remote/directory/
    
  • 遠程→本地:
    
    scp user@remote:/remote/file.txt /local/directory/
    
  • 遞歸傳輸目錄:
    
    scp -r /local/dir user@remote:/remote/dir
    

1.4 高級選項

選項 說明
-P 指定端口號
-C 啟用壓縮
-l 限制帶寬(Kbit/s)
-q 靜默模式

1.5 注意事項

  • 需提前配置SSH免密登錄
  • 大文件傳輸建議配合screentmux使用
  • 傳輸中斷后需要重新開始

二、SFTP(SSH File Transfer Protocol)

2.1 交互式操作

sftp user@remotehost
sftp> put localfile
sftp> get remotefile
sftp> lls  # 查看本地文件
sftp> lpwd # 查看本地路徑

2.2 非交互式批量傳輸

sftp -b batchfile.txt user@remotehost

三、rsync(遠程同步工具)

3.1 增量傳輸優勢

僅傳輸差異部分,節省帶寬和時間。

3.2 典型應用場景

rsync -avz --progress /source/dir/ user@remote:/target/dir/

3.3 關鍵參數說明

  • -a:歸檔模式(保留權限等屬性)
  • -v:顯示詳細信息
  • -z:啟用壓縮
  • --delete:同步刪除操作
  • --exclude:排除特定文件

3.4 實際案例:網站備份

rsync -avz --delete /var/www/ backup@server:/backups/www/$(date +%F)/

四、NFS(Network File System)

4.1 服務端配置

  1. 安裝NFS服務:

    sudo apt install nfs-kernel-server  # Debian/Ubuntu
    sudo yum install nfs-utils         # CentOS/RHEL
    
  2. 配置exports文件:

    /shared/dir 192.168.1.0/24(rw,sync,no_subtree_check)
    
  3. 啟動服務:

    sudo systemctl start nfs-server
    

4.2 客戶端掛載

sudo mount -t nfs server:/shared/dir /local/mountpoint

五、SSHFS(基于SSH的文件系統)

5.1 安裝與掛載

sudo apt install sshfs  # 安裝
sshfs user@remote:/remote/dir /local/mountpoint

5.2 卸載方法

fusermount -u /local/mountpoint

六、FTP/FTPS

6.1 vsftpd配置示例

# /etc/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES

6.2 安全建議

  • 強制使用TLS加密
  • 限制用戶訪問范圍
  • 啟用傳輸日志

七、WebDAV

7.1 Apache配置

<Directory /var/www/webdav>
    DAV On
    AuthType Basic
    AuthName "WebDAV"
    AuthUserFile /etc/apache2/webdav.passwd
    Require valid-user
</Directory>

7.2 客戶端掛載

sudo mount -t davfs http://server/webdav /mnt/webdav

八、BitTorrent同步

8.1 使用syncthing

# 安裝
sudo apt install syncthing
# 啟動
syncthing

九、云存儲中轉

9.1 rclone配置示例

rclone copy /local/path remote:bucket/path --progress

十、nc/netcat傳輸

10.1 快速臨時傳輸

接收端:

nc -l 1234 > received.file

發送端:

nc receiver_ip 1234 < send.file

十一、BBR加速優化

11.1 啟用BBR

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p

十二、傳輸測試與驗證

12.1 校驗文件完整性

md5sum file.txt
sha256sum file.txt

12.2 帶寬測試

iperf3 -c remote_server

總結對比表

方法 加密支持 斷點續傳 適合場景 速度
SCP ? ? 單文件傳輸
rsync ? ? 目錄同步
SFTP ? ? 交互式操作
NFS ? ? 網絡共享
SSHFS ? ? 透明訪問遠程文件

安全建議

  1. 始終優先使用SSH相關協議(SCP/SFTP/rsync over SSH)
  2. 定期更新SSH密鑰
  3. 限制網絡訪問范圍(防火墻配置)
  4. 敏感數據應二次加密
  5. 傳輸完成后驗證文件完整性

常見問題解決

Q:傳輸大文件時中斷怎么辦? A:使用rsync的--partial參數或lftp的pget功能

Q:如何提高傳輸速度? A:1. 啟用壓縮(-z參數) 2. 使用更高效的加密算法(如aes128-ctr) 3. 調整TCP窗口大小

Q:無root權限如何傳輸? A:使用用戶空間的工具如rsync、scp、或編譯安裝到用戶目錄

擴展閱讀

  1. 《SSH權威指南》
  2. rsync官方文檔:https://rsync.samba.org/documentation.html
  3. Linux內核網絡調優參數說明

本文共計約4250字,涵蓋Linux系統間文件傳輸的主流方案,實際應用時請根據具體場景選擇合適工具。 “`

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女