linux服務器傳輸文件的方式有:1、使用scp傳輸,簡單方便,支持限速參數,安全性和可靠性高,但不支持排除目錄;2、使用rcp傳輸,需要把源主機加入到可信任主機列表中,否則無法傳輸文件;3、使用wget傳輸,支持限速參數和排除目錄,但參數較多,使用復雜;4、使用rsync傳輸,支持排除目錄、限速參數和本地復制,功能強大。
具體內容如下:
1、scp
【優點】簡單方便,安全可靠;支持限速參數
【缺點】不支持排除目錄
【用法】scp就是secure copy,是用來進行遠程文件拷貝的。數據傳輸使用 ssh,并且和ssh 使用相同的認證方式,提供相同的安全保證 。
命令格式:
scp [參數] <源地址(用戶名@ip地址或主機名)>:<文件路徑> <目的地址(用戶名 @ip 地址或主機名)>:<文件路徑>舉例:
scp /home/work/source.txt work@192.168.0.10:/home/work/ #把本地的source.txt文件拷貝到192.168.0.10機器上的/home/work目錄下
scp work@192.168.0.10:/home/work/source.txt /home/work/ #把192.168.0.10機器上的source.txt文件拷貝到本地的/home/work目錄下
scp work@192.168.0.10:/home/work/source.txt work@192.168.0.11:/home/work/ #把192.168.0.10機器上的source.txt文件拷貝到192.168.0.11機器的/home/work目錄下
scp -r /home/work/sourcedir work@192.168.0.10:/home/work/ #拷貝文件夾,加-r參數
scp -r /home/work/sourcedir work@www.myhost.com:/home/work/ #使用主機名
scp -r -v /home/work/sourcedir work@www.myhost.com:/home/work/ #顯示詳情,加-v參數
2、rcp
【概述】
目標主機需要事先打開rcp功能,并設置好rcp的權限:把源主機加入到可信任主機列表中,否則無法在源主機上使用rcp遠程復制文件到目標主機。
3、wget
【優點】簡單方便,支持排除目錄,支持限速參數
【缺點】只能從遠程機器將文件或文件夾下載到本地,并且遠程機器需要支持ftp服務(例如啟動proftpd);參數較多,使用上比scp復雜
【用法】 wget是一個從網絡上自動下載文件的自由工具,支持通過http、https、ftp三個最常見的tcp/ip協議下載,并可以使用http代理。
命令格式:
wget [參數] ftp://<目標機器ip或主機名>/<文件的絕對路徑> #proftpd格式
舉例:
wget ftp://192.168.0.10//home/work/source.txt #從192.168.0.10上拷貝文件夾source.txt
wget ftp://www.myhost.com//home/work/source.txt #使用主機名
wget -nh -p /home/work/ ftp://www.myhost.com//home/work/source.txt #指定本地保存路徑,使用參數“-p 路徑”或者“--directory-prefix=路徑”;-nh, --no-host-directories 不創建主機目錄
wget -r -l 0 -nh -p /home/work/ ftp://www.myhost.com//home/work/sourcedir #遞歸下載sourcedir目錄,使用參數-r;參數-l, --level=number 最大遞歸深度 (inf 或 0 代表無窮).
wget --cut-dirs=3 -r -l 0 -nh -p /home/work/ ftp://www.myhost.com//home/work/sourcedir #-參數-cut-dirs=number 忽略 number層遠程目錄,本例中將myhost上的sourcedir目錄保存到本地的work目錄下。
wget --limit-rate=200k --cut-dirs=3 -r -l 0 -nh -p /home/work/ ftp://www.myhost.com//home/work/sourcedir #-參數--limit-rate=rate 限定下載輸率
wget --limit-rate=200k --cut-dirs=3 -r -l 0 -nh -p /home/work/ -x /home/work/sourcedir/notincludedir ftp://www.myhost.com//home/work/sourcedir #排除路徑使用-x參數
wget -q --limit-rate=200k --cut-dirs=3 -r -l 0 -nh -p /home/work/ -x /home/work/sourcedir/notincludedir ftp://www.myhost.com//home/work/sourcedir #參數-q表示安靜模式,無輸出;默認是-v,冗余模式
4、rsync
【優點】功能強大,操作類似scp,支持排除目錄,支持限速參數;還支持本地復制。
【缺點】暫無
【用法】 rsync是類unix系統下的數據鏡像備份工具,從軟件的命名上就可以看出來了——remote sync。它的操作方式和scp和相似,但是比scp強大很多。使用雙冒號分割主機名和文件路徑時,是使用rsync服務器,這里不做介紹。
命令格式:
rsync [參數] <源地址(用戶名@ip地址或主機名)>:<文件路徑> <目的地址(用戶名 @ip 地址或主機名)>:<文件路徑>
舉例:
rsync /home/work/source.txt work@192.168.0.10:/home/work/ #把本地的source.txt文件拷貝到192.168.0.10機器上的/home/work目錄下
rsync work@192.168.0.10:/home/work/source.txt /home/work/ #把192.168.0.10機器上的source.txt文件拷貝到本地的/home/work目錄下
rsync work@192.168.0.10:/home/work/source.txt work@192.168.0.11:/home/work/ #把192.168.0.10機器上的source.txt文件拷貝到192.168.0.11機器的/home/work目錄下
rsync -r /home/work/sourcedir work@192.168.0.10:/home/work/ #拷貝文件夾,加-r參數
rsync -r /home/work/sourcedir work@www.myhost.com:/home/work/ #使用主機名
rsync -r -v /home/work/sourcedir work@www.myhost.com:/home/work/ #顯示詳情,加-v參數
rsync -r -v --exclude sourcedir/notinclude /home/work/sourcedir work@www.myhost.com:/home/work/ #排除子目錄,注意:--exclude后面的路徑不能為絕對路徑,必須為相對路徑才可以,否則匹配不上,就不會被排除掉。