六月丁香五月婷婷,丁香五月婷婷网,欧美激情网站,日本护士xxxx,禁止18岁天天操夜夜操,18岁禁止1000免费,国产福利无码一区色费

學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 > linux傳輸文件命令

linux傳輸文件命令

時(shí)間: 佳洲1085 分享

linux傳輸文件命令

  linux系統(tǒng)下我們經(jīng)常要互相傳送文件,以下幾個(gè)命令就可以做到。下面由學(xué)習(xí)啦小編為大家整理了linux傳輸文件命令的相關(guān)知識(shí),希望大家喜歡!

  linux傳輸文件命令詳解

  linux傳輸文件命令1.sftp

  Secure Ftp 是一個(gè)基于SSH安全協(xié)議的文件傳輸管理工具。由于它是基于SSH的,會(huì)在傳輸過程中對(duì)用戶的密碼、數(shù)據(jù)等敏感信息進(jìn)行加密,因此可以有效的防止用戶信息在傳輸?shù)倪^程中被竊取,比FTP有更高的安全性。在功能方面與FTP很類似,不僅可以傳輸文件數(shù)據(jù),而且可以進(jìn)行遠(yuǎn)程的文件管理(如建立,刪除,查看文件列表等操作)。Sftp與ftp雖然只有一字之差,但基于的傳輸協(xié)議卻是不同的。因此不能用sftp client去連接ftp server 也不能用 ftp client 去連接 sftp server。

  建立連接:sftp user@host

  從本地上傳文件:put localpath

  下載文件:get remotepath

  與遠(yuǎn)程相對(duì)應(yīng)的本地操作,只需要在命令前加上”l” 即可,方便好記。

  例如:lcd lpwd lmkdir

  linux傳輸文件命令2.scp

  SCP :secure copy (remote file copy program) 也是一個(gè)基于SSH安全協(xié)議的文件傳輸命令。與sftp不同的是,它只提供主機(jī)間的文件傳輸功能,沒有文件管理的功能。

  復(fù)制local_file 到遠(yuǎn)程目錄remote_folder下

  scp local_file remote_user@host:remote_folder

  復(fù)制local_folder 到遠(yuǎn)程remote_folder(需要加參數(shù) -r 遞歸)

  scp –r local_folder remote_user@host:remote_folder

  以上命令反過來寫就是遠(yuǎn)程復(fù)制到本地

  linux傳輸文件命令3.sz/rz

  sz/rz 是基于ZModem傳輸協(xié)議的命令。對(duì)傳輸?shù)臄?shù)據(jù)會(huì)進(jìn)行核查,并且有很好的傳輸性能。使用起來更是非常方便,但前提是window端需要有能夠支持ZModem的telnet或者SSH客戶端,例如secureCRT。

  首先需要在secureCRT中可以配置相關(guān)的本地下載和上傳目錄,然后用rz、sz命令即可方便的傳輸文件數(shù)據(jù)。

  下載數(shù)據(jù)到本地下載目錄:sz filename1 filename2 …

  上傳數(shù)據(jù)到遠(yuǎn)程:執(zhí)行rz –be 命令,客戶端會(huì)彈出上傳窗口,用戶自行選擇(可多選)要上傳的文件即可。

  相關(guān)資料:

  2.XMODEM、YMODEM、ZMODEM : http://web.cecs.pdx.edu/~rootd/catdoc/guide/TheGuide_226.html

  3.Wiki SCP :http://en.wikipedia.org/wiki/Secure_copy

  因?yàn)楣ぷ髟?,需要?jīng)常在不同的服務(wù)器見進(jìn)行文件傳輸,特別是大文件的傳輸,因此對(duì)linux下不同服務(wù)器間數(shù)據(jù)傳輸命令和工具進(jìn)行了研究和總結(jié)。主要是rcp,scp,rsync,ftp,sftp,lftp,wget,curl。

  rcp

  rcp不是一種安全的的傳輸文件的方式,rcp通過rsh(rsh見下面)來執(zhí)行遠(yuǎn)程命令,要使用rcp必須經(jīng)過一些配置,現(xiàn)在rcp已經(jīng)被scp取代了,常用scp來進(jìn)行文件傳輸。要使用rcp,需要具備以下條件:

  (1)如果系統(tǒng)中有/etc/hosts 文件,應(yīng)確保該文件包含要與之進(jìn)行通信的遠(yuǎn)程主機(jī)信息:internet_address official_name alias。例如:1.186.10.*** blade1.ibm.com.cnblade

  (2).rhosts 文件:.rhosts 文件位于遠(yuǎn)程系統(tǒng)的根目錄下,其中包含本地系統(tǒng)的名稱和本地登錄名。例如,遠(yuǎn)程系統(tǒng)的 .rhosts 文件中的項(xiàng)可能是:blade1 root;其中,blade1 是本地系統(tǒng)的名稱,root 是本地登錄名。這樣,blade1 上的 root 即可在包含 .rhosts 文件的遠(yuǎn)程系統(tǒng)中來回復(fù)制文件。

  配置過程:

  (1) 在雙方root用戶根目錄下建立.rhosts文件,并將雙方的hostname加進(jìn)去.在此之前應(yīng)在雙方的 /etc/hosts文件中加入對(duì)方的IP和hostname

  (2) 把rsh服務(wù)啟動(dòng)起來,redhat默認(rèn)是不啟動(dòng)的。方法:用執(zhí)行ntsysv命令,在rsh選項(xiàng)前用空格鍵選中,確定退出。然后執(zhí)行:service xinetd restart即可。如果沒有rsh,請(qǐng)見下面rsh部分

  (3) 到/etc/pam.d/目錄下,把rsh文件中的auth required /lib/security/pam_securetty.so一行用“#”注釋掉即可。(只有注釋掉這一行,才能用root用戶登錄)

  命令使用:

  rcp [options] [[user@]host1:]file1 ...[[user@]host2:]file2

  options:

  -r 遞歸地把源目錄中的所有內(nèi)容拷貝到目的目錄中。

  -p 試圖保留源文件的修改時(shí)間和模式,忽略u(píng)mask。

  rsh(remote shell,它不夠安全):rsh使用條件同rcp,rsh配置過程(以root為例)

  (1) 在服務(wù)器上運(yùn)行/urs/bin/ntsysv選中rexec,rlogin,rsh三項(xiàng)服務(wù)。

  (2) 運(yùn)行#/sbin/service xinetd restart啟動(dòng)該三項(xiàng)服務(wù)。

  (3) 運(yùn)行echo"rexec">>/etc/securetty; echo"rlogin">>/etc/securetty; echo"rsh">>/etc/securetty

  (4) 在服務(wù)器上運(yùn)行echo"你的ip地址root">>/root/.rhosts或者echo"你的主機(jī)名root">>/root/.rhosts且確保在服務(wù)器上的/etc/hosts中有主機(jī)名和ip地址的映射關(guān)系

  (5) 到/etc/pam.d/目錄下,把rexec, rlongin, rsh文件中的auth required /lib/security/pam_securetty.so 一行用“#”注釋掉即可。(只有注釋掉這一行,才能用root用戶登錄)

  (6) rsh命令用法:rshremote-sytem-neame Linux-command,例如:rsh blade1 ls /home/root

  linux傳輸文件命令4.scp

  scp 命令是 SSH中最方便有用的命令了,scp就是secure copy,是用來進(jìn)行遠(yuǎn)程文件拷貝的。數(shù)據(jù)傳輸使用 ssh,并且和ssh 使用相同的認(rèn)證方式,提供相同的安全保證。 與rcp 不同的是,scp 在需要進(jìn)行驗(yàn)證時(shí)會(huì)要求你輸入密碼或口令。

  scp [options] [本地用戶名@IP地址:]file1 [遠(yuǎn)程用戶名 @IP 地址 :] file2

  options:

  -v 用來顯示進(jìn)度,可以用來查看連接,認(rèn)證,或是配置錯(cuò)誤。

  -C 使能壓縮選項(xiàng)。

  -c 選擇使用那個(gè)加密算法(具體對(duì)應(yīng)到ssh的-c cipher-spec,這個(gè)參數(shù)值會(huì)被傳給ssh,可選擇值3des,blowfish,des),使用blowfish會(huì)快很多,可以參看man ssh 中的-c cipher-spec

  -P 選擇端口

  -r 遞歸拷貝整個(gè)目錄

  -l 限制使用帶寬,Kbit/s

  -o 指定傳給ssh的一些參數(shù)值,比如Compression=yes

  -p 保留文件的修改時(shí)間等信息。

  linux傳輸文件命令5.rsync

  rsync是rcp的替代品之一,rsync 是一款高效的遠(yuǎn)程數(shù)據(jù)備份和鏡象工具,可快速地同步多臺(tái)主機(jī)間的文件,其具有如下特性:

  l 支持鏈接、所有者、組信息以及權(quán)限信息的拷貝;

  l 通過遠(yuǎn)程 shell(ssh, rsh)進(jìn)行傳輸;

  l 無須特殊權(quán)限即可安裝使用;

  l 流水線式文件傳輸模式,文件傳輸效率高;

  l 支持匿名操作;

  需要提及的是 rsync 以其優(yōu)越的性能優(yōu)勢(shì)區(qū)別于其它幾種 Linux 文件傳輸方法,其同步文件的速度相當(dāng)快,這主要?dú)w功于 rsync 所使用的傳輸算法。簡(jiǎn)而言之 rsync 算法能在相當(dāng)短的時(shí)間內(nèi)計(jì)算出需要備份的數(shù)據(jù),只對(duì)源文件與目標(biāo)文件的不同之處進(jìn)行傳輸,從而降低網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)量,以此達(dá)到快速備份鏡像的目的。下面通過一典型應(yīng)用場(chǎng)景來描述 rsync 算法的基本原理:主機(jī) A 與主機(jī) B 均有對(duì)同一文件的拷貝,用戶對(duì)主機(jī) A 上的拷貝進(jìn)行更新,主機(jī) B 通過 rsync 算法對(duì)更新后的文件進(jìn)行同步。以下是該算法的實(shí)現(xiàn)步驟:

  (1) 主機(jī) B 將原始拷貝劃分成大小為 N 的不重合的若干塊(文件末尾部分分塊大小可能不足 N),并對(duì)這些數(shù)據(jù)塊進(jìn)行兩種不同方式的校驗(yàn):32 位的滾動(dòng)弱校驗(yàn)、128 位的 MD4 強(qiáng)校驗(yàn)。弱校驗(yàn)較之強(qiáng)校驗(yàn)計(jì)算速度快。

  (2) 主機(jī) B 將每個(gè)數(shù)據(jù)塊的弱校驗(yàn)、強(qiáng)校驗(yàn)結(jié)果發(fā)送給主機(jī) A 。

  (3) 主機(jī) A 對(duì)更新后的文件拷貝中的每個(gè)長度為 N 的數(shù)據(jù)塊進(jìn)行弱校驗(yàn)并與從 B 接收到的弱校驗(yàn)值進(jìn)行匹配,若相同再進(jìn)行強(qiáng)校驗(yàn)匹配。由于弱校驗(yàn)的滾動(dòng)特性可以快速地篩選出需要進(jìn)行同步的數(shù)據(jù)塊。該算法的運(yùn)算量主要集中在主機(jī) A 上。

  通過上述計(jì)算,主機(jī) A 將文件的不同部分發(fā)送給 B,B 接收到兩個(gè)拷貝之間的不同之處,從而同步得到更新后的文件。通過如上方式,rsync 避免了對(duì)相同數(shù)據(jù)的傳輸,減少了網(wǎng)絡(luò)帶寬的浪費(fèi)。在時(shí)間上整個(gè)過程中需一個(gè)往返,從某種程度上也保證了 rsync 的優(yōu)越性能。

  Rsync可以通過兩種方式來連接遠(yuǎn)程服務(wù)器,一種是通過類shell命令的方式,一種是通過rsync daemon的方式,rsync daemon需要進(jìn)行安裝和配置,具體如下:

  可從官方網(wǎng)站http://rsync.samba.org/ 上下載安裝 rsync 的最新版本。使用時(shí)需將 rsync 分別安裝于服務(wù)端和客戶端,服務(wù)端和客戶端使用同一個(gè) rsync 軟件包來實(shí)現(xiàn)遠(yuǎn)程鏡像和定期同步更新。需要說明的是一個(gè) rsync 服務(wù)端可同時(shí)備份多個(gè)客戶端的數(shù)據(jù);多個(gè)服務(wù)端備份一個(gè)客戶端的數(shù)據(jù)。 rsync 默認(rèn)端口為 873,服務(wù)器在該端口接收客戶的匿名或者認(rèn)證方式的備份請(qǐng)求。

  rsync 服務(wù)端在使用之前需要進(jìn)行必要的配置,其配置文件為 /etc/rsyncd.conf,進(jìn)行認(rèn)證、訪問、日志記錄等控制。配置文件包括全局參數(shù)、模塊參數(shù)的設(shè)置。 rsyncd.conf 文件中 [module] 之前的所有參數(shù)為全局參數(shù),也可以在全局參數(shù)部分定義模塊參數(shù),在這種情況下該參數(shù)的值就是所有模塊的默認(rèn)值。全局參數(shù)設(shè)置程序使用的端口號(hào),指定消息文件、日志文件 pid 文件以及發(fā)送日志消息的級(jí)別。模塊參數(shù)主要定義服務(wù)端哪個(gè)目錄需要被同步。用戶可根據(jù)不同的需要指定多個(gè)模塊,每個(gè)模塊對(duì)應(yīng)需要備份的一個(gè)目錄樹,即若有 N 個(gè)需要備份的目錄樹,則需要 N 個(gè)模塊與之對(duì)應(yīng)。模塊中可以定義許多參數(shù),常見參數(shù)如下。

  l Comment 模塊信息描述,該描述連同模塊名在客戶連接得到模塊列表時(shí)顯示給客戶。默認(rèn)沒有描述定義。

  l Path 指定供備份的目錄路徑,必須指定該參數(shù)。

  l max connections 指定最大并發(fā)連接數(shù)以保護(hù)服務(wù)器,超過限制的連接請(qǐng)求將被告知隨后再試。默認(rèn)值為 0,即沒有限制。

  l log file 指定日志文件

  l read only 設(shè)定是否允許客戶上載文件。若為 true 任何上載請(qǐng)求均會(huì)失敗,若為 false 且客戶端擁有服務(wù)器目錄讀寫權(quán)限則可以上載。默認(rèn)值為 true 。

  l write only 設(shè)定是否允許客戶下載文件。若為 true 任何下載請(qǐng)求均會(huì)失敗,默認(rèn)值為 false 。

  l List 設(shè)定當(dāng)客戶請(qǐng)求可以使用的模塊列表時(shí),是否列出該模塊。若為 false,則創(chuàng)建隱藏的模塊。默認(rèn)值為 true 。

  l fake super 允許文件享有所有權(quán)限,而無需后臺(tái)服務(wù)以 root 權(quán)限進(jìn)行操作。

  l Filter 設(shè)置過濾列表以決定哪些文件可由客戶端訪問。

  l hosts allow 指定允許客戶連接的 IP 地址。可以為單個(gè) IP 地址或整個(gè)網(wǎng)段。多個(gè) IP或網(wǎng)段需要以空格隔開。默認(rèn)是允許所有主機(jī)連接。

  l dont compress 指定不進(jìn)行壓縮處理即可傳輸?shù)奈募J(rèn)值是 *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz

  l pre-xfer exec, post-xfer exec 設(shè)置可在文件傳輸前/后執(zhí)行的命令。若在文件傳輸前執(zhí)行的命令失敗,則取消本次傳輸操作。

  需要注意的是服務(wù)器端啟動(dòng):/usr/bin/rsync--daemon --config=/etc/rsyncd/rsyncd.conf

  連接遠(yuǎn)程服務(wù)器的兩種方式的基本語法

  (1) 通過遠(yuǎn)程 shell 方式:

  l rsync [OPTION] [USER@]HOST:SRC DEST:用遠(yuǎn)程 shell(如 ssh, rsh)實(shí)現(xiàn)將遠(yuǎn)程機(jī)器的內(nèi)容拷貝到本地機(jī)器。 SRC 地址路徑中以單個(gè)冒號(hào) ":" 進(jìn)行分隔。

  l rsync [OPTION] SRC [USER@]HOST:DEST:使用遠(yuǎn)程 shell(如 rsh、ssh)實(shí)現(xiàn)本地機(jī)器的內(nèi)容拷貝到遠(yuǎn)程機(jī)器。 DEST 地址路徑中以單個(gè)冒號(hào) ":" 進(jìn)行分隔。

  (2) 通過 rsync daemon 方式:

  l rsync [OPTION] [USER@]HOST::SRC DEST 或rsync [OPTION]rsync://[USER@]HOST[:PORT]/SRC [DEST]:從遠(yuǎn)程 rsync 服務(wù)器中拷貝文件到本地機(jī)。SRC 地址路徑中以雙冒號(hào) "::" 進(jìn)行分隔。

  l rsync [OPTION] SRC [USER@]HOST::DEST 或rsync [OPTION] SRCrsync://[USER@]HOST[:PORT]/DEST:從本地機(jī)器拷貝文件到遠(yuǎn)程 rsync 服務(wù)器中。 DEST 地址路徑中以雙冒號(hào) "::" 進(jìn)行分隔。

  如果 rsync 命令中只指定 SRC 參數(shù)而不指定 DEST 參數(shù),則意為顯示源文件列表而非進(jìn)行同步拷貝。

  Options:

  options:

  -v,--verbose 詳細(xì)模式輸出

  -q,--quiet 精簡(jiǎn)輸出模式

  -c,--checksum 打開校驗(yàn)開關(guān),強(qiáng)制對(duì)文件傳輸進(jìn)行校驗(yàn)

  -a,--archive 歸檔模式,表示以遞歸方式傳輸文件,并保持所有文件屬性,等于-rlptgoD

  -r,--recursive 對(duì)子目錄以遞歸模式處理

  -R,--relative 使用相對(duì)路徑信息

  -b,--backup 創(chuàng)建備份,也就是對(duì)于目的已經(jīng)存在有同樣的文件名時(shí),將老的文件重新命名為~filename??梢允褂?-suffix選項(xiàng)來指定不同的備份文件前綴。

  --backup-dir將備份文件(如~filename)存放在在目錄下。

  -suffix=SUFFIX定義備份文件前綴

  -u,--update 僅僅進(jìn)行更新,也就是跳過所有已經(jīng)存在于DST,并且文件時(shí)間晚于要備份的文件。(不覆蓋更新的文件)

  -l,--links 保留軟鏈結(jié)

  -L,--copy-links 想對(duì)待常規(guī)文件一樣處理軟鏈結(jié)

  --copy-unsafe-links僅僅拷貝指向SRC路徑目錄樹以外的鏈結(jié)

  --safe-links忽略指向SRC路徑目錄樹以外的鏈結(jié)

  -H,--hard-links 保留硬鏈結(jié)

  -p,--perms 保持文件權(quán)限

  -o,--owner 保持文件屬主信息

  -g, --group 保持文件屬組信息

  -D,--devices 保持設(shè)備文件信息

  -t,--times 保持文件時(shí)間信息

  -S,--sparse 對(duì)稀疏文件進(jìn)行特殊處理以節(jié)省DST的空間

  -n,--dry-run現(xiàn)實(shí)哪些文件將被傳輸

  -W,--whole-file 拷貝文件,不進(jìn)行增量檢測(cè)

  -x,--one-file-system 不要跨越文件系統(tǒng)邊界

  -B,--block-size=SIZE 檢驗(yàn)算法使用的塊尺寸,默認(rèn)是700字節(jié)

  -e,--rsh=COMMAND 指定使用rsh、ssh方式進(jìn)行數(shù)據(jù)同步

  --rsync-path=PATH指定遠(yuǎn)程服務(wù)器上的rsync命令所在路徑信息

  -C,--cvs-exclude 使用和CVS一樣的方法自動(dòng)忽略文件,用來排除那些不希望傳輸?shù)奈募?/p>

  --existing僅僅更新那些已經(jīng)存在于DST的文件,而不備份那些新創(chuàng)建的文件

  --delete刪除那些DST中SRC沒有的文件

  --delete-excluded同樣刪除接收端那些被該選項(xiàng)指定排除的文件

  --delete-after傳輸結(jié)束以后再刪除

  --ignore-errors及時(shí)出現(xiàn)IO錯(cuò)誤也進(jìn)行刪除

  --max-delete=NUM最多刪除NUM個(gè)文件

  --partial保留那些因故沒有完全傳輸?shù)奈募?,以是加快隨后的再次傳輸

  --force強(qiáng)制刪除目錄,即使不為空

  --numeric-ids不將數(shù)字的用戶和組ID匹配為用戶名和組名

  --timeout=TIMEIP超時(shí)時(shí)間,單位為秒

  -I,--ignore-times 不跳過那些有同樣的時(shí)間和長度的文件

  --size-only當(dāng)決定是否要備份文件時(shí),僅僅察看文件大小而不考慮文件時(shí)間

  --modify-window=NUM決定文件是否時(shí)間相同時(shí)使用的時(shí)間戳窗口,默認(rèn)為0

  -T--temp-dir=DIR 在DIR中創(chuàng)建臨時(shí)文件

  --compare-dest=DIR同樣比較DIR中的文件來決定是否需要備份

  -P等同于 --partial

  --progress顯示備份過程

  -z,--compress 對(duì)備份的文件在傳輸時(shí)進(jìn)行壓縮處理

  --exclude=PATTERN指定排除不需要傳輸?shù)奈募J?/p>

  --include=PATTERN指定不排除而需要傳輸?shù)奈募J?/p>

  --exclude-from=FILE排除FILE中指定模式的文件

  --include-from=FILE不排除FILE指定模式匹配的文件

  --version打印版本信息

  --address綁定到特定的地址

  --config=FILE指定其他的配置文件,不使用默認(rèn)的rsyncd.conf文件

  --port=PORT指定其他的rsync服務(wù)端口

  --blocking-io對(duì)遠(yuǎn)程shell使用阻塞IO

  -stats給出某些文件的傳輸狀態(tài)

  --progress在傳輸時(shí)現(xiàn)實(shí)傳輸過程

  --log-format=formAT指定日志文件格式

  --password-file=FILE從FILE中得到密碼

  --bwlimit=KBPS限制I/O帶寬,KBytes per second

  -h,--help 顯示幫助信息

  實(shí)例:

  (1) 查看服務(wù)端文件及列表:

  l rsync 9.186.110.53::查看服務(wù)端可用的模塊列表以及注釋信息;rsync ibmuser@9.186.110.53::www/查看服務(wù)端 www 模塊中的目錄及文件列表(使用 rsyncd 用戶認(rèn)證方式)

  l rsync ibmuser@9.186.110.53:/var/www/html/查看服務(wù)端/var/www/html 目錄中的內(nèi)容(使用服務(wù)端的系統(tǒng)用戶進(jìn)行驗(yàn)證,如 ibmuser)

  (2) 保持客戶端與服務(wù)端的數(shù)據(jù)同步:

  l rsync -avz ibmuser@9.186.110.53::www/ /backup1/使用后臺(tái)服務(wù)方式將服務(wù)端www 模塊下的內(nèi)容備份到本地 /backup1 目錄中,備份時(shí)保留原有權(quán)限、屬性、屬主及符號(hào)連接等,并使用壓縮方式加快數(shù)據(jù)傳輸。

  l rsync – avzibmuser@9.186.110.53:/var/www/html /backup2/使用 ssh 方式將遠(yuǎn)程的/var/www/html 目錄備份到本地 /backup2/ 目錄下

  l rsync -avz --deleteibmuser@9.186.110.53::www/ /backup3/將遠(yuǎn)程 www 模塊備份到本地/backup3/ 目錄中,同時(shí)進(jìn)行同步目錄,刪除本地目錄中多余的文件。

  (3) 當(dāng)服務(wù)端的數(shù)據(jù)出現(xiàn)問題時(shí),需要通過客戶端的數(shù)據(jù)對(duì)服務(wù)端進(jìn)行恢復(fù),只要客戶端有服務(wù)端的寫入權(quán)限,即可通過調(diào)換 rsync 命令的 SRC、DEST 參數(shù)進(jìn)行恢復(fù)。

  linux傳輸文件命令6.ftp

  ftp命令使用文件傳輸協(xié)議(FileTransfer Protocol ,FTP)在本地主機(jī)和遠(yuǎn)程主機(jī)之間或者兩個(gè)遠(yuǎn)程主機(jī)之間進(jìn)行文件傳輸。FTP 協(xié)議允許數(shù)據(jù)在不同文件系統(tǒng)的主機(jī)之間傳輸。盡管這個(gè)協(xié)議在傳輸數(shù)據(jù)上提供了高適應(yīng)性,但是它并沒有嘗試去保留一個(gè)特定文件系統(tǒng)上的文件屬性(例如一個(gè)文件的保護(hù)模式或者修改次數(shù))。而且 FTP 協(xié)議很少對(duì)一個(gè)文件系統(tǒng)的整體結(jié)構(gòu)作假定,也不提供這樣的功能,比如遞歸的拷貝子目錄。在使用 ftp 命令時(shí),需要注意 FTP 協(xié)議的這些特性。當(dāng)需要保留文件屬性或者需要遞歸的拷貝子目錄時(shí),可以使用 rcp/scp 等命令。

  如果需要將文件以ftp傳輸?shù)侥康姆?wù)器上,必須在目的服務(wù)器上安裝ftp server,基本的安裝和啟動(dòng)過程如下:

  根據(jù)服務(wù)對(duì)象的不同,F(xiàn)TP服務(wù)可以分為兩類:一類是系統(tǒng)FTP服務(wù)器,它只允許系統(tǒng)上的合法用戶使用;另一類是匿名FTP服務(wù)器,它允許任何人登錄到FTP服務(wù)器,和服務(wù)器連接后,在登錄提示中輸入Anonymous,即可訪問服務(wù)器。

  Yum list *ftp* (找到可用的Ftp包)

  sudo yum install ftp包

  手工啟動(dòng)和關(guān)閉:?jiǎn)?dòng):/usr/sbin/ftprestart 關(guān)閉:/usr/sbin/ftpshut

  FTP服務(wù)器的配置:為了確保FTP服務(wù)器安全,必須設(shè)置一些重要的配置文件,以更好地控制用戶的訪問權(quán)限。這些配置文件是:/etc/ftpusers;/etc/ftpconversions;/etc/ftp-groups;/etc/ftpphosts;/etc/ftpaccess。利用這些文件,能夠非常精確地控制哪些人、在什么時(shí)間、從什么地點(diǎn)可以連接服務(wù)器,并且可以對(duì)他們連接后所做的工作進(jìn)行檢查跟蹤。

  (1) /etc/ftpusers:該文件夾中包含的用戶不能通過FTP登錄服務(wù)器,有時(shí)將需要禁止的用戶賬號(hào)寫入文件/etc/ftpuser中,這樣就可以禁止一些用戶使用FTP服務(wù)。

  (2) /etc/ftpconversions:用來配置壓縮/解壓縮程序。

  (3) /etc/ftpgroups:創(chuàng)建用戶組,這個(gè)組中的成員預(yù)先定義可以訪問FTP服務(wù)器。

  (4) /etc/ftpphosts:用來根據(jù)禁止或允許遠(yuǎn)程主機(jī)對(duì)特定賬戶的訪問,例如:allow czc 192.168.0.0/24 deny cdd 10.0.0.0/8(表示允許czc用戶從192.168.0這個(gè)網(wǎng)段連線訪問,拒絕cdd從10.這個(gè)網(wǎng)段連線訪問)。

  (5) /etc/ftpaccess:是非常重要的一個(gè)配置文件,用來控制存取權(quán)限,文件中的每一行定義一個(gè)屬性,并對(duì)屬性的值進(jìn)行設(shè)置。下面對(duì)它的一些常用配置做一點(diǎn)介紹:

  l 定義用戶類別:格式:class[類名] [real/guest/anonymous][IP地址] 功能:這個(gè)指令的功能設(shè)定FTP服務(wù)器上用戶的類別。并可對(duì)客戶端的IP地址進(jìn)行限制,允許特定或者全部的IP地址訪問FTP服務(wù)器。

  l 登錄重試次數(shù):在命令行中輸入:loginfails 10,這表明如果10次還沒有登錄成功就切斷連線。

  l 密碼檢查:格式:passwd-check〈strictness〉 warn。是對(duì)匿名用戶的密碼使用方式的檢查,其中〈strictness〉是三個(gè)可能的字符串之一:None、Trivial、RFC822。若選None,表示將不對(duì)口令做任何檢查;若選Trivial,表示對(duì)口令有一定的要求,它需要在口令中至少要有一個(gè)@符號(hào);若選RFC822,則表示最嚴(yán)格,要求E-mail地址必須遵守RFC822報(bào)文標(biāo)題標(biāo)準(zhǔn)(如:czc@domain.com )。例如:passwd-check rfc822 warn,表明密碼的要求很嚴(yán)格,當(dāng)密碼不符合規(guī)定時(shí)出現(xiàn)警告信息。

  l 登錄人數(shù)的限制:格式:limit[類別] [人數(shù)] [時(shí)間] [文件名]。設(shè)置指定類別在約定時(shí)間內(nèi)可以登錄FTP的人數(shù)。例如:limit remote Any/etc/many.msg,說明類別Remote類別在任何時(shí)間內(nèi)登錄人數(shù)不超過20個(gè)人,否則會(huì)顯示Many.msg警告信息。

  安裝、配置好FTP服務(wù)器后,只需要在命令提示符后輸入:FTP Servername,用主機(jī)名或希望連接的FTP服務(wù)器的IP地址代替Servername,按照提示輸入用戶名和口令,然后用標(biāo)準(zhǔn)的Linux上移或下移FTP服務(wù)器目錄結(jié)構(gòu)。另外,也可以采用圖形化FTP程序,包括窗口式gFTP,可以借助Web瀏覽器去訪問FTP服務(wù)器。

  在登錄上ftp后,可以使用如下ftp命令進(jìn)行操作:

  l FTP> ! 從 ftp 子系統(tǒng)退出到外殼

  l FTP> ? 顯示 ftp 命令說明,和 help 相同,格式:? [command]說明:[command]指定需要幫助的命令名稱。假如沒有指定 command,linux ftp命令參數(shù)將顯示全部命令的列表。

  l FTP> append 使用當(dāng)前文檔類型配置將本地文檔附加到遠(yuǎn)程電腦上的文檔。格式:append local-file [remote-file],說明:local-file 指定要添加的本地文檔,remote-file指定要添加 local-file 的遠(yuǎn)程電腦上的文檔。假如省略了 remote-file,本地文檔名將被用作遠(yuǎn)程文檔名。

  l FTP> ascii 將文檔傳送類型配置為默認(rèn)的 ASCII。說明:linux ftp命令參數(shù)支持兩種文檔傳送類型,ASCII 碼和二進(jìn)制圖像,在傳送文本文檔時(shí)應(yīng)該使用ASCII。

  l FTP> bell 轉(zhuǎn)換響鈴以在每個(gè)文檔傳送命令完成后響鈴??默認(rèn)情況下,鈴聲是關(guān)閉的。

  l FTP> binary(或bi) 將文檔傳送類型配置為二進(jìn)制

  l FTP> bye(或by) 結(jié)束和遠(yuǎn)程電腦的linux ftp命令參數(shù)會(huì)話并退出linux ftp命令參數(shù)。

  l FTP> cd 更改遠(yuǎn)程電腦上的工作目錄。格式:cd remote-directory,說明:remote-directory 指定要更改的遠(yuǎn)程電腦上的目錄。

  l FTP> close 結(jié)束和遠(yuǎn)程服務(wù)器的linux ftp命令參數(shù)會(huì)話并返回命令解釋程式。

  l FTP> debug 轉(zhuǎn)換調(diào)試。當(dāng)調(diào)試打開時(shí),發(fā)送到遠(yuǎn)程電腦的每個(gè)命令都打印,前面是字符串">"。默認(rèn)情況下,調(diào)試是關(guān)閉的。

  l FTP> delete 刪除遠(yuǎn)程電腦上的文檔。格式:delete remote-file,說明:remote-file 指定要?jiǎng)h除的文檔。

  l FTP> dir 顯示遠(yuǎn)程目錄文檔和子目錄列表。格式:dir [remote-directory] [local-file],說明:remote-directory 指定要查看其列表的目錄。假如沒有指定目錄,將使用遠(yuǎn)程電腦中的當(dāng)前工作目錄。Local-file 指定要存儲(chǔ)列表的本地文檔。假如沒有指定,輸出將顯示在屏幕上。

  l FTP> disconnect 從遠(yuǎn)程電腦斷開,保留linux ftp命令參數(shù)提示。

  l FTP> get 使用當(dāng)前文檔轉(zhuǎn)換類型將遠(yuǎn)程文檔復(fù)制到本地,格式:get remote-file [local-file],說明:remote-file 指定要復(fù)制的遠(yuǎn)程文檔,Local-file指定要在本地電腦上使用的名稱,假如沒有指定,文檔將命名為 remote-file。

  l FTP>glob 轉(zhuǎn)換文檔名組合,組合允許在內(nèi)部文檔或路徑名中使用通配符(*和?),默認(rèn)情況下,組合是打開的。

  l FTP>hash 轉(zhuǎn)換已傳輸?shù)拿總€(gè)數(shù)據(jù)塊的數(shù)字簽名 (#) 打印,數(shù)據(jù)塊的大小是2048 字節(jié),默認(rèn)情況下,散列符號(hào)打印是關(guān)閉的。

  l FTP>help 顯示linux ftp命令參數(shù)命令說明。格式:help [command],  說明:command 指定需要有關(guān)說明的命令的名稱,假如沒有指定 command,linux ftp命令參數(shù)將顯示全部命令的列表。

  l FTP>lcd 更改本地電腦上的工作目錄,默認(rèn)情況下,工作目錄是啟動(dòng)linux ftp命令參數(shù)的目錄。格式:lcd [directory],說明:directory 指定要更改的本地電腦上的目錄,假如沒有指定directory,將顯示本地電腦中當(dāng)前的工作目錄。

  l FTP>literal 將參數(shù)逐字發(fā)送到遠(yuǎn)程linux ftp命令參數(shù)服務(wù)器,將返回單個(gè)的linux ftp命令參數(shù)回復(fù)代碼,格式:literal argument [ ...],說明:argument 指定要發(fā)送到linuxftp命令參數(shù)服務(wù)器的參數(shù)。

  l FTP>ls 顯示遠(yuǎn)程目錄文檔和子目錄的縮寫列表,格式:ls [remote-directory] [local-file],說明:remote-directory 指定要查看其列表的目錄,假如沒有指定目錄,將使用遠(yuǎn)程電腦中的當(dāng)前工作目錄,local-file 指定要存儲(chǔ)列表的本地文檔??假如沒有指定,輸出將顯示在屏幕上。

  l FTP>mdelete 刪除遠(yuǎn)程電腦上的文檔,格式:mdelete remote-files [ ...],說明:remote-files 指定要?jiǎng)h除的遠(yuǎn)程文檔。

  l FTP>mdir 顯示遠(yuǎn)程目錄文檔和子目錄列表,能夠使用 mdir 指定多個(gè)文檔,格式:mdir remote-files [ ...] local-file,說明:remote-files 指定要查看列表的目錄,必須指定 remote-files,請(qǐng)鍵入 - 使用遠(yuǎn)程電腦上的當(dāng)前工作目錄。local-file 指定要還原列表的本地文檔,請(qǐng)鍵入- 在屏幕上顯示列表。

  l FTP>mget 使用當(dāng)前文檔傳送類型將遠(yuǎn)程文檔復(fù)制到本地電腦,格式:mget remote-files [ ...],說明:remote-files 指定要復(fù)制到本地電腦的遠(yuǎn)程文檔。

  l FTP>mkdir 創(chuàng)建遠(yuǎn)程目錄,格式:mkdir directory,說明:directory 指定新的遠(yuǎn)程目錄的名稱。

  l FTP>mls 顯示遠(yuǎn)程目錄文檔和子目錄的縮寫列表,格式:mls remote-files [ ...] local-file,說明:remote-files 指定要查看列表的文檔??必須指定remote-files;,請(qǐng)鍵入- 使用遠(yuǎn)程電腦上的當(dāng)前工作目錄。local-file 指定要存儲(chǔ)列表的本地文檔,請(qǐng)鍵入 - 以在屏幕上顯示列表。

  l FTP>mput 使用當(dāng)前文檔傳送類型將本地文檔復(fù)制到遠(yuǎn)程電腦上。格式:mput local-files [ ...],說明:local-files 指定要復(fù)制到遠(yuǎn)程電腦的本地文檔。

  l FTP>open 和指定的linux ftp命令參數(shù)服務(wù)器連接,格式:open computer [port],說明:computer 指定要連接的遠(yuǎn)程電腦??能夠通過 IP 地址或電腦名稱指定電腦(DNS 或主機(jī)文檔必須可用),假如自動(dòng)登錄打開(默認(rèn)),ftp 還將嘗試自動(dòng)將用戶登錄到linux ftp命令參數(shù)服務(wù)器port 指定用來聯(lián)系linux ftp命令參數(shù)服務(wù)器的端口號(hào)。

  l FTP>prompt 轉(zhuǎn)換提示,假如關(guān)閉提示時(shí) mget 及 mput 傳送任何文檔,linux ftp命令參數(shù)在多文檔傳送過程中將提示允許您有選擇地檢索或存儲(chǔ)文檔,默認(rèn)情況下,提示是打開的。

  l FTP>put 使用當(dāng)前文檔傳送類型將本地文檔復(fù)制到遠(yuǎn)程電腦上,格式:put local-file [remote-file],說明:local-file 指定要復(fù)制的本地文檔,remote-file指定要在遠(yuǎn)程電腦上使用的名稱??假如沒有指定,文檔將命名為 local-file。

  l FTP>pwd 顯示遠(yuǎn)程電腦上的當(dāng)前目錄。

  l FTP>quit 結(jié)束和遠(yuǎn)程電腦的linux ftp命令參數(shù)會(huì)話并退出linux ftp命令參數(shù)。

  l FTP>quote 將參數(shù)逐字發(fā)送到遠(yuǎn)程linux ftp命令參數(shù)服務(wù)器,將返回單個(gè)的linux ftp命令參數(shù)回復(fù)代碼。

  l FTP>recv 使用當(dāng)前文檔傳送類型將遠(yuǎn)程文檔復(fù)制到本地電腦,Recv 和 get相同。格式:recv remote-file [local-file],說明:remote-file 指定要復(fù)制的遠(yuǎn)程文檔,local-file指定要在本地電腦上使用的名稱,假如沒有指定,文檔將命名為 remote-file。

  l FTP>remotehelp 顯示遠(yuǎn)程命令幫助,格式:remotehelp [command],說明:command 指定需要幫助的命令的名稱,假如沒有指定 command,linux ftp命令參數(shù)將顯示全部遠(yuǎn)程命令的列表。

  l FTP>rename 重命名遠(yuǎn)程文檔,格式:rename filename newfilename,說明:filename 指定要重命名的文檔,newfilename指定新的文檔名。

  l FTP>rmdir 刪除遠(yuǎn)程目錄,格式:rmdir directory,說明:directory 指定要?jiǎng)h除的遠(yuǎn)程目錄的名稱。

  l FTP>send 使用當(dāng)前文檔傳送類型將本地文檔復(fù)制到遠(yuǎn)程電腦上,Send 和put 相同,格式:send local-file [remote-file],說明:local-file 指定要復(fù)制的本地文檔,remote-file指定要在遠(yuǎn)程電腦上使用的名稱,假如沒有指定,文檔將命名為 local-file。

  l FTP>status 顯示linux ftp命令參數(shù)連接和轉(zhuǎn)換的當(dāng)前狀態(tài)。

  l FTP>trace 轉(zhuǎn)換數(shù)據(jù)包跟蹤,Trace 在運(yùn)行l(wèi)inux ftp命令參數(shù)命令時(shí)顯示每個(gè)數(shù)據(jù)包的路由。

  l FTP>type 配置或顯示文檔傳送類型,格式:type [type-name],說明:type-name 指定文檔傳送類型,默認(rèn)配置為 ascii,假如沒有指定type-name,將顯示當(dāng)前的類型。

  l FTP>user 指定遠(yuǎn)程電腦的用戶,格式:user username [password] [account],說明:user-name 指定登錄到遠(yuǎn)程電腦所使用的用戶名,password 指定 user-name 的密碼,假如沒有指定,但必須指定,linux ftp命令參數(shù)會(huì)提示輸入密碼。account 指定登錄到遠(yuǎn)程電腦所使用的帳戶,假如沒有指定account,但是需要指定,linux ftp命令參數(shù)會(huì)提示您輸入帳戶。

  l FTP>verbose 轉(zhuǎn)換 verbose 模式,假如打開,將顯示任何 linux ftp命令參數(shù)響應(yīng),在文檔傳送完成后,將同時(shí)顯示和傳送效率有關(guān)的統(tǒng)計(jì)信息,默認(rèn)情況下,verbose 是打開的。

  linux傳輸文件命令7.sftp

  sftp(安全文件傳輸協(xié)議)與ftp 有著幾乎一樣的語法和功能。FTP 為 SSH的一部份,是一種傳輸檔案至 Blogger 伺服器的安全方式。它并不使用ftp守護(hù)進(jìn)程(ftpd或wu-ftpd)來進(jìn)行連接,而是有意義地增強(qiáng)系統(tǒng)的安全性。實(shí)際上,通過監(jiān)視一些系統(tǒng)中的log文件,可以注意到很多攻擊是針對(duì)于ftpd守護(hù)進(jìn)程的。sftp避免了這些攻擊從而可以停止在wu-ftpd上潛在的危險(xiǎn)。SFTP本身沒有單獨(dú)的守護(hù)進(jìn)程,它必須使用sshd守護(hù)進(jìn)程(端口號(hào)默認(rèn)是22)來完成相應(yīng)的連接操作。使用SFTP是非常安全的。但是,由于這種傳輸方式使用了加密/解密技術(shù),所以傳輸效率比普通的FTP要低得多,如果您對(duì)網(wǎng)絡(luò)安全性要求更高時(shí),可以使用SFTP代替FTP。

  用法舉例:

  (1) sftproot@10.48.30.192:/root/test.sh(直接將192上的文件復(fù)制到本地)

  (2) sftproot@10.48.30.192:/root (直接連接到192的root目錄下,這樣就可以使用getput等命令了)

  sftp使用在數(shù)據(jù)連接上使用ssh2,所以文件的傳輸是盡可能地安全。使用sftp代替ftp兩個(gè)主要的的原因是:

  (1) password從不用明文傳輸,防止sniffer(嗅探器)的攻擊。

  (2) 數(shù)據(jù)在傳輸時(shí)被加密,使用刺探和修改連接非常困難。

  使用sftp2是非常簡(jiǎn)單的。讓我們假設(shè)你使用了你的帳戶:myname通過sftp連按上了主機(jī)host1??梢允褂妹睿簊ftp myname@host1。當(dāng)sftp2準(zhǔn)備好了來接受連接時(shí),它將顯示一個(gè)狀態(tài)提示符 sftp>。在sftp手冊(cè)中有完整的用戶可以使用的命令列表;其中有:

  l quit:從這個(gè)應(yīng)用程序中退出。

  l cd directory:改變當(dāng)前的遠(yuǎn)程工作目錄。

  l lcd directory:改變當(dāng)前的本地工作目錄。

  l ls [ -r ] [ -l ] [ file ... ]:列出在遠(yuǎn)地服務(wù)器上的文件名。如果是目錄,則列出目錄的內(nèi)容。當(dāng)命令行中指定了-r,則遞歸地顯示目錄樹。(默認(rèn)情況下,子目錄并不被訪問)。當(dāng)命令行中指定了-l,文件與目錄的權(quán)限,屬主,大小和修改時(shí)間被列出。當(dāng)沒有參數(shù)被指定,則.(當(dāng)前目錄)的內(nèi)容被列出。普通情況下選項(xiàng)-r和-l是互相不兼容的。

  l lls [ -r ] [ -l ] [ file ... ]:與ls一樣,但是是對(duì)于本地文件操作。

  l get [file ...]:從遠(yuǎn)程端傳送指定的文件到本地端。目錄內(nèi)容被遞歸地復(fù)制。

  l put [ file ... ]:從本地端傳送指定的文件到遠(yuǎn)地端。目錄內(nèi)容被遞歸地復(fù)制。

  l mkdir dir (rmdir dir):嘗試建立或刪除參數(shù)中指定的目錄。

  l 通配符對(duì)于ls,lls,get和put是支持的。格式在sshregex手冊(cè)中有描述。

  從sftp使用加密技術(shù)以來,一直有一個(gè)障礙:連接速度慢(有2-3倍),但是這一點(diǎn)對(duì)于非常好的安全性來講只能放在一邊了。在一個(gè)測(cè)試中,局域網(wǎng)上的sniffer可以在一個(gè)小時(shí)中捉住ftp連接上的4個(gè)password.。sftp的使用可以從網(wǎng)絡(luò)上傳送文件并且除去這些安全問題。

  linux傳輸文件命令8.lftp

  lftp 是一個(gè)功能強(qiáng)大的下載工具,它支持訪問文件的協(xié)議: ftp, ftps, http, https, hftp, fish.(其中ftps和https需要在編譯的時(shí)候包含openssl庫)。llftp非常像一個(gè)shell: 有命令補(bǔ)全,歷史記錄,允許多個(gè)后臺(tái)任務(wù)執(zhí)行等功能,使用起來非常方便。它還有書簽、排隊(duì)、鏡像、斷點(diǎn)續(xù)傳、多進(jìn)程下載等功能。

  命令行語法

  (1) lftp [-d] [-e cmd] [-p port][-u user[,pass]] [site]

  -e在選擇后執(zhí)行命令

  -u [,] 使用指定的用戶名/口令進(jìn)行驗(yàn)證

  -p 連接指定的端口

  Site:主機(jī)名,URL 或書簽的名字

  (2) lftp -f script_file

  執(zhí)行文件中的命令后退出

  (3) lftp -c commands

  執(zhí)行命令后退出

  (4) lftp –version

  顯示 lftp 版本后退出

  (5) lftp --help

  顯示幫助信息后退出

  例子:

  (1) 如果在命令行中輸入的站點(diǎn)名稱,lftp將直接登錄站點(diǎn),比如

  lftp ftp://.............

  (2) 如果在命令行不輸入站點(diǎn)名稱,則必須在進(jìn)入到lftp界面后用open命令打開

  Lftp

  lftp :~> open ftp://...................

  常用命令

  l 下載單個(gè)文件和一組文件,斷點(diǎn)續(xù)傳用-c參數(shù)

  lftp ................:/> get -c ls-lR.txt

  lftp ...............:/> mget *.txt

  l 鏡像(反鏡像即上傳)一個(gè)目錄,可以用多個(gè)線程并行鏡像一個(gè)目錄(--parallel=N)

  lftp ................:/> mirror incoming local_name

  lftp ................:/> mirror -R local_name

  lftp ................:/> mirror --parallel=3 incominglocal_name

  l 多線程下載,類似網(wǎng)絡(luò)螞蟻的功能;缺省是5個(gè)線程

  lftp ................:/> pget -n 4 ls-lR.txt

  l 后臺(tái)任務(wù)管理

  缺省情況下,按 Ctrl+z,正在執(zhí)行的任務(wù)將轉(zhuǎn)為后臺(tái)執(zhí)行,也可以在命令行末尾加&符號(hào)使任務(wù)在后臺(tái)執(zhí)行。用jobs命令可以查看所有的后臺(tái)進(jìn)程。用queue命令可以排隊(duì)新的任務(wù)。如果退出lftp是還有任務(wù)在后臺(tái)執(zhí)行,lftp將轉(zhuǎn)為后臺(tái)執(zhí)行。

  l 其它用法

  lftp支持類似bash的管道操作,例如用下面的命令可以將ftp服務(wù)器上的特定目錄下(也可以是整個(gè)站點(diǎn))所有文件的大小存到本地的文件ls.txt中

  lftp ................:/> du incoming > ls.txt

  相關(guān)文件

  (1) /etc/lftp.conf

  全局配置文件,實(shí)際位置依賴系統(tǒng)配置文件目錄,可能在/etc,也可能在/usr/local/etc

  (2) ~/.lftp/rc, ~/.lftprc

  用戶配置文件,將在/etc/lftp.conf之后執(zhí)行,所以這里面的設(shè)置會(huì)覆蓋/etc/lftp.conf中的設(shè)置。

  (3) lftp 缺省不會(huì)顯示 ftp 服務(wù)器的歡迎信息和錯(cuò)誤信息,這在很多時(shí)候不方便,因?yàn)槟阌锌赡芟胫肋@個(gè)服務(wù)器到底是因?yàn)闆]開機(jī)連不上,還是連接數(shù)已滿。如果是這樣,你可以在 ~/.lftprc 里寫入一行,debug 3,就可以看到出錯(cuò)信息了。更多的配置選項(xiàng)請(qǐng)查man手冊(cè)或在lftp界面內(nèi)用命令 set -a 獲得。

  (4) ~/.lftp/log

  當(dāng)lftp轉(zhuǎn)為后臺(tái)非掛起模式執(zhí)行時(shí),輸出將重定向到這里

  (5) ~/.lftp/bookmarks

  這是lftp存儲(chǔ)書簽的地方,可以lftp查看bookmark命令

  (6) ~/.lftp/cwd_history

  這個(gè)文件用來存儲(chǔ)訪問過的站點(diǎn)的工作目錄

  (7) ~/.lftprc

  在用lftp訪問國內(nèi)一些ftp服務(wù)器時(shí),往往看到的中文是亂碼。不用慌,這是由于服務(wù)器和本地編碼不一致造成的。我們只要在主目錄下新建一個(gè)文件~/.lftprc或者~/.lftp/rc。并在其中加入以下內(nèi)容:debug 3set ftp:charset GBKset file:charset UTF-8#setftp:passtive-mode no#alias utf8 " set ftp:charset UTF-8"#alias gbk" set ftp:charset GBK"

  登錄ftp服務(wù)器:

  lftpftp://user:password@site:port

  lftpuser:password@site:port

  lftpsite -p port -u user,password

  lftpsite:port -u user,password

  上面的幾種方式都能正常工作,不過密碼都是明文,這樣好像不太安全哦。沒關(guān)系,使用lftp user@site:port,系統(tǒng)會(huì)提示輸入password,密碼就回顯為******了,不過每次都輸入這么多,好麻煩哦。如果有類似leapftp的站點(diǎn)管理器就好了,其實(shí)lftp早就給我們想好了:這就是bookmark。后面我們將會(huì)看到。

  在終端運(yùn)行如manlftp或登錄ftp后輸入help就可以看到命令列表,下面我們看一下lftp常用的命令:

  (1) ls:顯示遠(yuǎn)端文件列表(!ls顯示本地文件列表)。

  (2) cd:切換遠(yuǎn)端目錄(lcd 切換本地目錄)。

  (3) get:下載遠(yuǎn)端文件。

  (4) mget:下載遠(yuǎn)端文件(可以用通配符也就是 *)。

  (5) pget:使用多個(gè)線程來下載遠(yuǎn)端文件, 預(yù)設(shè)為五個(gè)。

  (6) mirror:下載/上傳(mirror-R)/同步整個(gè)目錄。

  (7) put:上傳文件。

  (8) mput:上傳多個(gè)文件(支持通配符)。

  (9) mv:移動(dòng)遠(yuǎn)端文件(遠(yuǎn)端文件改名)。

  (10) rm:刪除遠(yuǎn)端文件。

  (11) mrm:刪除多個(gè)遠(yuǎn)端文件(支持通配符)。

  (12) mkdir:建立遠(yuǎn)端目錄。

  (13) rmdir:刪除遠(yuǎn)端目錄。

  (14) pwd:顯示目前遠(yuǎn)端所在目錄(lpwd顯示本地目錄)。

  (15) du:計(jì)算遠(yuǎn)端目錄的大小

  (16) !:執(zhí)行本地 shell的命令(由于lftp 沒有 lls, 故可用 !ls 來替代)

  (17) Lcd:切換本地目錄

  (18) Lpwd:顯示本地目錄

  (19) Alias:定義別名

  (20) Bookmark:設(shè)定書簽。

  (21) Exit:退出ftp

  (22) 快捷書簽:ftp中的bookmark命令,是將配置寫到~/.lftp/bookmarks文件中;我們可以直接修改此文件,快速登陸ftp服務(wù)器。

  linux傳輸文件命令9.wget

  wget 是一個(gè)經(jīng)由 GPL 許可的可從網(wǎng)絡(luò)上自動(dòng)獲取文件的自由軟件包。它是一個(gè)非交互式的命令行工具。支持 HTTP,HTTPS 和 FTP 協(xié)議,支持代理服務(wù)器以及斷點(diǎn)續(xù)傳功能。 wget 可實(shí)現(xiàn)遞歸下載,即可跟蹤 HTML 頁面上的鏈接依次下載來創(chuàng)建遠(yuǎn)程服務(wù)器的本地版本,完全重建原始站點(diǎn)的目錄結(jié)構(gòu),實(shí)現(xiàn)遠(yuǎn)程網(wǎng)站的鏡像。在遞歸下載時(shí),wget 將頁面中的超級(jí)鏈接轉(zhuǎn)換成指向本地文件,方便離線瀏覽。由于非交互特性,wget 支持后臺(tái)運(yùn)行,用戶在退出系統(tǒng)后,仍可繼續(xù)運(yùn)行。功能強(qiáng)大,設(shè)置方便簡(jiǎn)單。

  基本語法: wget [options][URL-list]

  Options:

  -r 遞歸下載服務(wù)器上所有的目錄和文件。由 -l選項(xiàng)來指定遞歸深度。

  -b 后臺(tái)下載

  -m 制作站點(diǎn)鏡像

  -c 指定斷點(diǎn)續(xù)傳功能。該功能要求服務(wù)器支持?jǐn)帱c(diǎn)續(xù)傳。

  -I 指定下載目錄列表,可實(shí)現(xiàn)批量下載

  -A/-R 指定接受/拒絕下載列表,實(shí)現(xiàn)選擇性地下載

  --proxy=on/off 指定是否利用代理服務(wù)器進(jìn)行下載

  -t,--tries=NUMBER 最大嘗試鏈接次數(shù) (0 表示無限制,默認(rèn)為 20 次 )

  -nc,--no-clobber 不覆蓋已存在的文件

  -N,--timestamping 只下載比本地新的文件

  -nd--no-directories 不進(jìn)行目錄結(jié)構(gòu)創(chuàng)建

  -x,--force-directories 強(qiáng)制創(chuàng)建目錄結(jié)構(gòu)

  -nH,--no-host-directories 不繼承主機(jī)目錄結(jié)構(gòu)

  -P,--directory-prefix=PREFIX 設(shè)置目錄前綴

  例子:遞歸下載 http://www.ibm.com.cn 站點(diǎn)的信息。下載所有顯示完整網(wǎng)頁所以需要的文件,如圖片等。在下載不進(jìn)行上層目錄搜索并將絕對(duì)鏈接轉(zhuǎn)換為相對(duì)鏈接。

  wget -r -p -np -k http://www.ibm.com.cn

  將在本地硬盤建立http://www.ibm.com.cn 的鏡像,鏡像文件存入當(dāng)前目錄下一個(gè)名為 www.ibm.com.cn 的子目錄中(也可以使用 -nH 參數(shù)指定不建立該子目錄,而直接在當(dāng)前目錄下建立鏡像的目錄結(jié)構(gòu)),遞歸深度為 4,重試次數(shù)為無窮(若連接出現(xiàn)問題,wget 將永遠(yuǎn)重試下去,直至任務(wù)完成)

  wget -m -l4 -t0 http://www.ibm.com.c

  使用代理進(jìn)行下載,并實(shí)現(xiàn)斷點(diǎn)續(xù)傳。代理可以在環(huán)境變量 PROXY 或 wgetrc 文件中設(shè)定。 -c 選項(xiàng)要求服務(wù)支持?jǐn)帱c(diǎn)續(xù)傳。

  wget -Y on -c http://www.ibm.com.cn

  linux傳輸文件命令10.curl

  curl是對(duì) libcurl 庫的一個(gè)命令行工具包裝。libcurl 庫中提供了相應(yīng)功能的 API,可以在程序中調(diào)用。 curl 使用 URL 的語法來傳輸文件,它支持 FTP, FTPS, HTTP, HTTPS, TFTP, SFTP, TELNET 等多種協(xié)議。 curl 功能強(qiáng)大,它提供了包括代理支持,用戶認(rèn)證,F(xiàn)TP 上載,HTTP post,SSL 連接,文件續(xù)傳等許多特性。

  基本語法:curl [options …]

  其中下載參數(shù)大約有 80 多個(gè),curl 的各個(gè)功能完全依靠這些參數(shù)來完成。下面舉例說明 curl 的一些基本用法。

  使用實(shí)例:

  (1) 獲取 GNU 的主頁curl http://www.gnu.org

  (2) 獲取 GNU 的 FTP 服務(wù)器上根目錄下的 README 文件curl ftp://ftp.gnu.org/README

  (3) 從一個(gè)字典中獲取 curl 的定義curl dict://dict.org/m:curl

  (4) 如果需要指定用戶名和密碼的話,可以在 url 中指定,或者使用 -u 參數(shù)curl ftp://name:passwd@machine.domain:port/full/path/to/file或者curl -uname:passwd ftp://machine.domain:port/full/path/to/file

  (5) curl 會(huì)將從指定 url 處獲取的內(nèi)容打印到標(biāo)準(zhǔn)輸出上。如果需要保存在本地文件中,可以使用 -o,或使用 -O 參數(shù)指定使用遠(yuǎn)程主機(jī)上的文件名(如果 url 中沒有給出文件名的部分,則此操作將會(huì)失敗)curl -o gnu.html http://www.gnu.org 或者curl -O http:///www.gnu.org/index.htm

  (6) 使用 -x 選項(xiàng)來使用代理進(jìn)行連接curl -x my-proxy:port ftp://ftp.somesite.com/READMEN

  (7) 通過使用 curl 的 -T 選項(xiàng)來進(jìn)行上載curl -T - ftp://ftp.upload.com/upfile,此命令從標(biāo)準(zhǔn)輸入讀取數(shù)據(jù),并上載至遠(yuǎn)程 FTP 服務(wù)器上的 upfile 文件中。也可以指定上載一個(gè)本地文件curl -T localfile -a ftp://ftp.upload.com/upfile其中 -a 參數(shù)表示以添加方式將localfile 中的內(nèi)容附加到 upfile 的末尾。

  總的來說,curl 適合用來進(jìn)行自動(dòng)的文件傳輸或操作序列,它是一個(gè)很好的模擬用戶在網(wǎng)頁瀏覽器上的行為的工具。尤其當(dāng)需要在程序中調(diào)用時(shí),libcurl 是個(gè)很好的選擇。

  傳輸速度

  因?yàn)榻?jīng)常在服務(wù)器見進(jìn)行文件傳輸,就對(duì)傳輸速度和帶寬有要求,這里總結(jié)一下可以影響以上rcp,scp,rsync,ftp,sftp,lftp,wget,curl這6個(gè)命令的傳輸速度和帶寬的參數(shù):

  (1) rcp:沒有參數(shù)可以調(diào)整帶寬和傳輸速度

  (2) scp:如果傳輸?shù)奈募]有壓縮,可以使用-C參數(shù)(-C 使能壓縮選項(xiàng))。-c 選擇使用那個(gè)加密算法,具體對(duì)應(yīng)到ssh的-c cipher-spec,這個(gè)參數(shù)值會(huì)被傳給ssh,可選擇值3des,blowfish,des),使用blowfish會(huì)快很多,可以參看man ssh 中的-c cipher-spec??梢允褂?l 限制使用帶寬,Kbit/s。避免因?yàn)閭鬏斘募绊懫渌绦蚴褂脦挕?o ssh_option使用ssh選項(xiàng)

  (3) rsync:-B, --block-size=SIZE 檢驗(yàn)算法使用的塊尺寸,默認(rèn)是700字節(jié);-z, --compress 對(duì)備份的文件在傳輸時(shí)進(jìn)行壓縮處理;--bwlimit=KBPS 限制I/O帶寬,KBytes per second ;-e, --rsh=COMMAND 指定使用rsh、ssh方式進(jìn)行數(shù)據(jù)同步

  (4) ftp:FTP>ascii 將文檔傳送類型配置為默認(rèn)的 ASCII。說明:linux ftp命令參數(shù)支持兩種文檔傳送類型,ASCII 碼和二進(jìn)制圖像,在傳送文本文檔時(shí)應(yīng)該使用ASCII。Binary二進(jìn)制傳輸。

  (5) sftp: -B buffer_size, -C使用壓縮,-ossh_option使用ssh選項(xiàng)

  (6) lftp:可以調(diào)整進(jìn)程數(shù)等

  (7) wget: --limit-rate=amount限制帶寬。

  (8) curl:-B/--use-ascii和--ciphers,--compressed等。

  總結(jié)

  (1) 傳輸性能:wget 通過支持后臺(tái)執(zhí)行及斷點(diǎn)續(xù)傳提高文件傳輸效率; rsync 則以其高效的傳輸及壓縮算法達(dá)到快傳輸?shù)哪康摹?/p>

  (2) 配置難度:rcp 只需進(jìn)行簡(jiǎn)單的配置,創(chuàng)建.rhost文件以及設(shè)置/etc/hosts文件中主機(jī)名與IP地址列表; wget設(shè)置方便簡(jiǎn)單,只需在客戶端指定參數(shù)執(zhí)行命令即可; rsync 在使用前需要對(duì)服務(wù)端/etc/rsyncd.conf 進(jìn)行參數(shù)設(shè)定,配置內(nèi)容相對(duì)復(fù)雜。

  (3) 安全性能:ftp、rcp不保證傳輸?shù)陌踩?,scp、rsync則均可基于ssh 認(rèn)證進(jìn)行傳輸,提供了較強(qiáng)的安全保障。wget 也可通過指定安全協(xié)議做到安全傳輸。

  通過上述的對(duì)比不難發(fā)現(xiàn),每種文件傳輸方法基于其自身的特點(diǎn)與優(yōu)勢(shì)均有其典型的適用場(chǎng)景:

  (1) ftp 作為最常用的入門式的文件傳輸方法,使用簡(jiǎn)單,易于理解,并且可以實(shí)現(xiàn)腳本自動(dòng)化;但是需要安裝ftp server才可以訪問遠(yuǎn)程ftp server

  (2) rcp 相對(duì)于ftp可以保留文件屬性并可遞歸的拷貝子目錄;

  (3) scp 利用ssh傳輸數(shù)據(jù),并使用與ssh相同的認(rèn)證模式,相對(duì)于rcp提供更強(qiáng)的安全保障;

  (4) wget實(shí)現(xiàn)遞歸下載,可跟蹤HTML頁面上的鏈接依次下載來創(chuàng)建遠(yuǎn)程服務(wù)器的本地版本,完全重建原始站點(diǎn)的目錄結(jié)構(gòu),適合實(shí)現(xiàn)遠(yuǎn)程網(wǎng)站的鏡像;

  (5) curl 則適合用來進(jìn)行自動(dòng)的文件傳輸或操作序列,是一個(gè)很好的模擬用戶在網(wǎng)頁瀏覽器上的行為的工具;

  (6) rsync 更適用于大數(shù)據(jù)量的每日同步,拷貝的速度很快,相對(duì)wget來說速度快且安全高效。

  (7) sftp使用在數(shù)據(jù)連接上使用ssh2,所以文件的傳輸是盡可能地安全。但傳輸速度慢。是ftp的替代品,比ftp安全,不能訪問http資源。

  (8) lftp可以訪問ftp資源,也可以訪問http資源。支持?jǐn)帱c(diǎn)續(xù)傳,多進(jìn)程下載。

3622375