rsync,scp,wget,curl,nc,ftp,lrzsz傳輸文件介紹

rsync,scp,wget,curl,nc,ftp,lrzsz傳輸文件介紹

文章來源: 陶老師運維筆記- 微信公眾號

本文介紹rsync,scp,wget,curl,nc,ftp,lrzsz等工具使用逮光,尤其是在文件傳輸方面的應(yīng)用。 主要內(nèi)容來自于https://www.ibm.com/developerworks/cn/linux/ 表示感謝辕录。

rsync_scp命令介紹.jpg

1. rsync

rsync 是一款高效的遠程數(shù)據(jù)備份和鏡像工具睦霎,可快速地同步多臺主機間的文件。官網(wǎng): https://rsync.samba.org/

Rsync服務(wù)搭建: CentOS7 FTP及Rsync服務(wù)搭建

1.1 基本語法

$man rsync
rsync [OPTION]... SRC DEST
rsync [OPTION]... SRC [USER@][host]:DEST
rsync [OPTION]... [USER@]HOST:SRC DEST
rsync [OPTION]... [USER@]HOST::SRC DEST
rsync [OPTION]... SRC [USER@]HOST::DEST
rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]

$rsync -avzP data1user@192.168.1.2::data1 ~/data1
保持傳輸原有文件權(quán)限走诞,用戶副女,用戶組,時間蚣旱,遞歸的把data1模塊數(shù)據(jù)復(fù)制到用戶家目錄的data1目錄里.
參數(shù) a的意思就是 保留文件原有權(quán)限碑幅,用戶,用戶組塞绿,時間且遞歸的copy包括鏈接文件沟涨。
$rsync --compress --recursive --times --perms --owner --group --links  --exclude=smarty/templates_c/  --timeout=30 [path] [user]@[ip]:[path]

參數(shù)說明:

選項 描述
-a, --archive 歸檔模式,保持所有文件屬性异吻,等同于 -rlptgoD
-v, --verbose 詳細信息輸出
-r, --recursive 對子目錄進行遞歸處理
-R, --relative 使用相對路徑信息
-b, --backup 創(chuàng)建備份
-z, --compress 對備份的文件在傳輸時進行壓縮處理
--delete 用于同步目錄裹赴,從 DEST 中將 SRC 不存在的文件進行刪除
--progress 顯示備份過程

1.2 命令示例

#設(shè)置密碼:
$export RSYNC_PASSWORD=ops123456;
#限速
$rsync macdown071.zip ops@rsync.tao-ops.com::software/   --bwlimit=50000 -arv 
$rsync  --password-file=/etc/rsyncd.secrets.passfile ops@ip::software . --bwlimit=50000 -arv

#備份
$rsync -avzP data1user@192.168.1.2::data1 ~/data1
保持傳輸原有文件權(quán)限,用戶诀浪,用戶組棋返,時間,遞歸的把data1模塊數(shù)據(jù)復(fù)制到用戶家的data1目錄里雷猪。

#刪除--delete
rsync -avzP --delete data1user@192.168.1.2::data1 ~/data1
#保持data1模塊和用戶家目錄模塊內(nèi)容完全一致,加上參數(shù) --delete,這樣會刪除在~/data1目錄里但是不在data1

2. SCP

scp 命令在網(wǎng)絡(luò)上的主機之間拷貝文件睛竣,它是安全拷貝(secure copy)的縮寫。 scp 命令使用 ssh 來傳輸數(shù)據(jù)求摇,并使用與 ssh 相同的認證模式射沟,提供同樣的安全保障殊者。

2.1 基本語法

$man scp
$scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] 
         [-l limit] [-o ssh_option] [-P port] [-S program] 
         [[user@]host1:]file1 [...] [[user@]host2:]file2

2.2 命令示例

#示例:
$scp ops@rsync.tao-ops.com:/home/ops/foo.txt  ~/Downloads/
$scp -r -P 4588 ops@rsync.tao-ops.com:/tmp/foo.txt /root/ 

Copy 本地文件 /etc/eva.log, 到遠程機器 sysB, 用戶 user 的家目錄下
$scp /etc/eva.log user@sysB:/home/user

copy 遠程機器 sysB 上的文件 /home/uesr/eva.log, 到本地的 /etc 目錄下 , 并保持文件屬性不變
$scp -p user@sysB:/home/uesr/eva.log /etc

copy sysB 上的目錄 /home/user, 到本地 /home/user/tmp, <new dir,/home/user/tmp/user>
$scp -r user@sysB:/home/user /home/user/tmp

3. wget

wget 是一個經(jīng)由 GPL 許可的可從網(wǎng)絡(luò)上自動獲取文件的自由軟件包验夯。它是一個非交互式的命令行工具猖吴。支持 HTTP,HTTPS 和 FTP 協(xié)議簿姨,支持代理服務(wù)器以及斷點續(xù)傳功能距误。 wget 可實現(xiàn)遞歸下載,完全重建原始站點的目錄結(jié)構(gòu),實現(xiàn)遠程網(wǎng)站的鏡像扁位。在遞歸下載時,wget 將頁面中的超級鏈接轉(zhuǎn)換成指向本地文件趁俊,方便離線瀏覽域仇。

3.1 基本語法

#http://www.gnu.org/software/wget/manual/wget.html

$man wget
wget [options] [URL-list]

wget 幫助手冊: http://www.gnu.org/software/wget/manual/wget.html
參數(shù)說明:

選項 描述
-r 遞歸下載服務(wù)器上所有的目錄和文件。由 -l 選項來指定遞歸深度寺擂。
-b 后臺下載
-m 制作站點鏡像
-c 指定斷點續(xù)傳功能暇务。該功能要求服務(wù)器支持斷點續(xù)傳。
-I 指定下載目錄列表怔软,可實現(xiàn)批量下載
-A/-R 指定接受/拒絕下載列表垦细,實現(xiàn)選擇性地下載
--proxy=on/off 指定是否利用代理服務(wù)器進行下載
-t, --tries=NUMBER 最大嘗試鏈接次數(shù) (0 表示無限制,默認為 20 次 )
-nc, --no-clobber 不覆蓋已存在的文件
-N, --timestamping 只下載比本地新的文件
-nd --no-directories 不進行目錄結(jié)構(gòu)創(chuàng)建
-x, --force-directories 強制創(chuàng)建目錄結(jié)構(gòu)
-nH, --no-host-directories 不繼承主機目錄結(jié)構(gòu)
-P, --directory-prefix=PREFIX 設(shè)置目錄前綴

3.2 命令示例

  • 下載文件
    若需要密碼可以--http-user='xxx' --http-passwd='xxx' 指定挡逼。
#下載文件
$wget https://dldir1.qq.com/weixin/mac/WeChatMac.dmg   -O WeChatMac.dmg
#有密碼
$wget -P /data1 -c --http-user='xxx' --http-passwd='xxx' http://ip:80/scripts/install.sh

  • 下載ftp文件
#下載ftp文件
$wget -P /tmp/ ftp://ftp.tao-ops.com:21/pub/README.md --ftp-user=ftpuser --ftp-password=ftppwd
  • 下載網(wǎng)站
#遞歸下載 http://www.ibm.com.cn 站點的信息下載所有顯示完整網(wǎng)頁所以需要的文件括改,如圖片等。
#在下載不進行上層目錄搜索并將絕對鏈接轉(zhuǎn)換為相對鏈接家坎。
$wget -r -p -np -k http://www.ibm.com.cn

#本地硬盤建立 http://www.ibm.com.cn 的鏡像,遞歸深度為 4嘱能,重試次數(shù)為無窮
$wget -m -l4 -t0 http://www.ibm.com.cn
#使用代理進行下載,并實現(xiàn)斷點續(xù)傳虱疏。
$wget -Y on -c http://www.ibm.com.cn

4. curl

curl惹骂,它是對 libcurl 庫的一個命令行工具包裝。 curl 使用 URL 的語法來傳輸文件做瞪,它支持 FTP, FTPS, HTTP, HTTPS, TFTP, SFTP, TELNET 等多種協(xié)議对粪。

4.1 基本語法

$man curl
curl [options] [URL...]

4.2 命令示例

  • 獲取主頁
    curl 可以將從指定 url 處獲取的內(nèi)容打印到標準輸出上。如果需要保存在本地文件中装蓬,可以使用 -o著拭,或使用 -O 參數(shù)指定使用遠程主機上的文件名。
curl http://www.baidu.com
curl -o 1.html http://www.baidu.com
curl -O http://www.baidu.com/index.html
  • 下載ftp文件
    需要指定用戶名和密碼的話矛物,可以在 url 中指定茫死,或者使用 -u 參數(shù)。
#無密碼
$curl ftp://ftp.gnu.org/README
#有密碼
$curl ftp://name:passwd@machine.domain:port/full/path/to/file -O 
$curl -u name:passwd ftp://machine.domain:port/full/path/to/file -o xxx.file
  • 使用代理
    使用 -x 選項來使用代理進行連接
curl -x my-proxy:port ftp://ftp.somesite.com/README

curl 適合用來進行自動的文件傳輸或操作序列履羞,它是一個很好的模擬用戶在網(wǎng)頁瀏覽器上的行為的工具峦萎。尤其當(dāng)需要在程序中調(diào)用時屡久,libcurl 是個很好的選擇。

5. nc

nc命名netcat爱榔,可以連接和重定向Sockets被环。nc命令功能非常多,它可以打開TCP連接详幽,發(fā)送UDP包筛欢,監(jiān)聽TCP/UDP端口,進行端口掃描等等唇聘。 nc在兩機器間傳輸文件速度非嘲婀茫快,推薦使用迟郎。

5.1 基本語法

$man nc
ncat - Concatenate and redirect sockets
#用法
$ncat [OPTIONS...] [hostname] [port]
nc [-hlnruz][-g<網(wǎng)關(guān)...>][-G<指向器數(shù)目>][-i<延遲秒數(shù)>][-o<輸出文件>][-p<通信端口>]
[-s<來源位址>][-v...][-w<超時秒數(shù)>][主機名稱][通信端口...]

基本參數(shù)

選項 描述
-4 僅使用IPv4
-6 僅使用IPv6
-c,--sh-exec [command] 執(zhí)行給定的命令剥险,同/bin/sh
-e,--exec [command] 執(zhí)行給定的命令
-m,--max-conns [n] 設(shè)置同時連接的最大數(shù)
-d,--delay [time] 設(shè)置讀/寫的等待時間
-o,--output [filename] 將會話的數(shù)據(jù)保存為文件
-i,--idle-timeout [time] 讀/寫空閑超時時間
-p,--source-port port 指定本機使用的通信端口
-s,--source addr 指定遠程通信的主機地址
-l,--listen 監(jiān)聽傳入的連接信息
-k,--keep-open 在監(jiān)聽模式中接收多個連接信息
-n,--nodns 直接使用IP地址,不解析域名
-t,--telnet 響應(yīng)telnet請求
-u,--udp 使用UDP替換默認的TCP
-v,--verbose 顯示詳細的輸出信息
-w,--wait [time] 設(shè)置連接超時時間宪肖,單位為秒
-z 建立連接后馬上斷開表制,不發(fā)送和接收任何數(shù)據(jù)即Zero-I/O模式,僅用于測試連接狀

5.2 命令示例

  • 傳輸文件
    1)傳輸文件
目標機(接收機器):
nc -l 1234 >mysql-bin.000001 
#源機器: 文件的發(fā)送端控乾,啟動監(jiān)聽端口并準備好相應(yīng)的文件
nc 接收機ip 1234 <  mysql-bin.000001

2)傳輸文件夾

目標機(接收機器):192.168.0.3
nc -l 1234 | tar xzvf - >mysql3306
源機器(發(fā)送機器):
tar czvf - mysql3306 | nc 192.168.0.3 1234

  • 測試端口
掃描本機端口20-22 
$nc -z -v -n -w 2 127.0.0.1 20-22
nc: connect to 127.0.0.1 port 20 (tcp) failed: Connection refused
nc: connect to 127.0.0.1 port 21 (tcp) failed: Connection refused
Connection to 127.0.0.1 22 port [tcp/*] succeeded!
#mysql
$nc -z -vv 192.110.103.41  3306
Connection to 192.110.103.41 3306 port [tcp/mysql] succeeded!
#zk
$echo 'ruok' | nc 127.0.0.1 2181
#memcache
$nc -z -vv 127.0.0.1 11211
Connection to 127.0.0.1 11211 port [tcp/memcache] succeeded!
  • 操作memcached
yum install memcached
#啟動
memcached -d -p 11211 -m 256
#set key flags exptime bytes [noreply] 
$nc -z -vv 127.0.0.1 11211
1)存儲數(shù)據(jù):printf "set mykey 0 1000 6\r\n123456\r\n" |nc 127.0.0.1 11211  
2)獲取數(shù)據(jù):printf "get mykey\r\n" |nc 127.0.0.1 11211
3)刪除數(shù)據(jù):printf "delete mykey\r\n" |nc 127.0.0.1 11211
4)查看狀態(tài):printf "stats\r\n" |nc 127.0.0.1 11211
5)模擬top命令查看狀態(tài):watch "echo stats" |nc 127.0.0.1 11211
6)清空緩存:printf "flush_all\r\n" |nc 127.0.0.1 11211  (小心操作么介,清空了緩存就沒了)
  • 聊天聊天工具
在192.168.2.34上: nc -l 1234
在192.168.2.33上: nc 192.168.2.34 1234
這樣,雙方就可以相互交流了蜕衡。使用ctrl+C(或D)退出壤短。

6. ftp

ftp 命令使用文件傳輸協(xié)議(File Transfer Protocol, FTP)在本地主機和遠程主機之間或者在兩個遠程主機之間進行文件傳輸。FTP 協(xié)議允許數(shù)據(jù)在不同文件系統(tǒng)的主機之間傳輸衷咽。

6.1 基本語法

$ ftp 主機名 /IP #如果沒有指定主機名鸽扁,ftp 將給出提示符,等待用戶輸入命令
#ftp命令  描述
ls  列出遠程機的當(dāng)前目錄
cd  在遠程機上改變工作目錄
lcd 在本地機上改變工作目錄
ascii   設(shè)置文件傳輸方式為 ASCII 模式
binary  設(shè)置文件傳輸方式為二進制模式
close   終止當(dāng)前的 ftp 會話
get (mget)  從遠程機傳送指定文件到本地機
put (mput)  從本地機傳送指定文件到遠程機
open    連接遠程 ftp 站點
quit    斷開與遠程機的連接并退出 ftp
?   顯示本地幫助信息
!   轉(zhuǎn)到 Shell 中
prompt 1    關(guān)閉交互模式

6.2 命令示例

#ftp get (mget)  從遠程機傳送指定文件到本地機
#wget 
$wget -P /tmp/ ftp://ftp.tao-ops.com:21/pub/README.md --ftp-user=user --ftp-password=ftppwd

#curl有密碼
$curl ftp://name:passwd@machine.domain:port/full/path/to/file -O 
$curl -u name:passwd ftp://machine.domain:port/full/path/to/file -o xxx.file

7. lrzsz

lrzsz是一個unix通信套件提供的X镶骗,Y桶现,和ZModem文件傳輸協(xié)議,可以用在windows與linux 系統(tǒng)之間的文件傳輸,體積小速度快鼎姊。

7.1 基本語法

#安裝
$yum install lrzsz
$man rz
$man sz

7.2 命令示例

若終端是SecureCRT骡和,打開SecureCRT軟件 -> Options -> session options -> X/Y/Zmodem 下可以設(shè)置上傳和下載的目錄;

#下載  (從客戶端上傳文件到linux服務(wù)端)
$rz 
#上傳(發(fā)送文件到客戶端)
$sz /etc/passwd

8. 傳輸工具總結(jié)

文件傳輸方法基于其自身的特點與優(yōu)勢均有其典型的適用場景:

  • rsync 更適用于大數(shù)據(jù)量的每日同步,拷貝的速度很快相寇,相對 wget 來說速度快且安全高效慰于。
  • ftp 作為最常用的入門式的文件傳輸方法,使用簡單唤衫,易于理解婆赠,并且可以實現(xiàn)腳本自動化;
  • scp 利用 ssh 傳輸數(shù)據(jù)佳励,并使用與 ssh 相同的認證模式休里,相對于 rcp 提供更強的安全保障蛆挫;
  • wget,實現(xiàn)遞歸下載妙黍,可跟蹤 HTML 頁面上的鏈接依次下載來創(chuàng)建遠程服務(wù)器的本地版本辐啄,完全重建原始站點的目錄結(jié)構(gòu)砍的,適合實現(xiàn)遠程網(wǎng)站的鏡像积蔚;
  • curl 則適合用來進行自動的文件傳輸或操作浮入,是一個很好的模擬用戶在瀏覽器上的行為的工具;
  • nc nc功能強大做粤,可以快速方便的在兩臺機器間傳輸文件或文件夾浇借。
  • lrzsz 適用于小文件在linux服務(wù)器及客戶機上傳輸。

參考:


陶老師運維筆記
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末驮宴,一起剝皮案震驚了整個濱河市逮刨,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌堵泽,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,591評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件恢总,死亡現(xiàn)場離奇詭異迎罗,居然都是意外死亡,警方通過查閱死者的電腦和手機片仿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評論 3 392
  • 文/潘曉璐 我一進店門纹安,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人砂豌,你說我怎么就攤上這事厢岂。” “怎么了阳距?”我有些...
    開封第一講書人閱讀 162,823評論 0 353
  • 文/不壞的土叔 我叫張陵塔粒,是天一觀的道長。 經(jīng)常有香客問我筐摘,道長卒茬,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,204評論 1 292
  • 正文 為了忘掉前任咖熟,我火速辦了婚禮圃酵,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘馍管。我一直安慰自己郭赐,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,228評論 6 388
  • 文/花漫 我一把揭開白布确沸。 她就那樣靜靜地躺著捌锭,像睡著了一般俘陷。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上舀锨,一...
    開封第一講書人閱讀 51,190評論 1 299
  • 那天岭洲,我揣著相機與錄音,去河邊找鬼坎匿。 笑死盾剩,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的替蔬。 我是一名探鬼主播告私,決...
    沈念sama閱讀 40,078評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼承桥!你這毒婦竟也來了驻粟?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,923評論 0 274
  • 序言:老撾萬榮一對情侶失蹤凶异,失蹤者是張志新(化名)和其女友劉穎蜀撑,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體剩彬,經(jīng)...
    沈念sama閱讀 45,334評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡酷麦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,550評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了喉恋。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片沃饶。...
    茶點故事閱讀 39,727評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖轻黑,靈堂內(nèi)的尸體忽然破棺而出糊肤,到底是詐尸還是另有隱情,我是刑警寧澤氓鄙,帶...
    沈念sama閱讀 35,428評論 5 343
  • 正文 年R本政府宣布馆揉,位于F島的核電站,受9級特大地震影響玖详,放射性物質(zhì)發(fā)生泄漏把介。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,022評論 3 326
  • 文/蒙蒙 一蟋座、第九天 我趴在偏房一處隱蔽的房頂上張望拗踢。 院中可真熱鬧,春花似錦向臀、人聲如沸巢墅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽君纫。三九已至驯遇,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蓄髓,已是汗流浹背叉庐。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留会喝,地道東北人陡叠。 一個月前我還...
    沈念sama閱讀 47,734評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像肢执,于是被迫代替她去往敵國和親枉阵。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,619評論 2 354

推薦閱讀更多精彩內(nèi)容