在 Linux 中,有時(shí)需要將文件從一臺(tái)計(jì)算機(jī)傳輸?shù)搅硪慌_(tái)計(jì)算機(jī)。為了完成這個(gè)任務(wù),有兩個(gè)主要的工具可以使用:SCP 和 Rsync。本文將介紹如何使用這兩個(gè)工具在 Linux 中傳輸文件。
SCP
SCP (Secure Copy) 是一個(gè)用于在兩臺(tái)計(jì)算機(jī)之間傳輸文件的命令行工具。它是基于 SSH (Secure Shell) 協(xié)議的,因此可以保證傳輸?shù)陌踩浴CP 可以使用密碼或密鑰進(jìn)行身份驗(yàn)證,并支持傳輸單個(gè)文件或整個(gè)目錄。
傳輸單個(gè)文件
要使用 SCP 傳輸單個(gè)文件,請(qǐng)使用以下命令:
scp source_file user@host:destination_folder
source_file
:要傳輸?shù)奈募窂胶兔Q(chēng)。user
:遠(yuǎn)程計(jì)算機(jī)的用戶(hù)名。host
:遠(yuǎn)程計(jì)算機(jī)的主機(jī)名或 IP 地址。destination_folder
:文件傳輸?shù)哪繕?biāo)文件夾。
例如,如果要將名為 file.txt
的文件從本地計(jì)算機(jī)傳輸?shù)竭h(yuǎn)程計(jì)算機(jī)的 /home/user/
目錄下,請(qǐng)使用以下命令:
scp file.txt user@remote-host:/home/user/
傳輸整個(gè)目錄
要使用 SCP 傳輸整個(gè)目錄,請(qǐng)使用以下命令:
scp -r source_folder user@host:destination_folder
source_folder
:要傳輸?shù)哪夸浡窂胶兔Q(chēng)。user
:遠(yuǎn)程計(jì)算機(jī)的用戶(hù)名。host
:遠(yuǎn)程計(jì)算機(jī)的主機(jī)名或 IP 地址。destination_folder
:目錄傳輸?shù)哪繕?biāo)文件夾。
例如,如果要將名為 folder
的目錄從本地計(jì)算機(jī)傳輸?shù)竭h(yuǎn)程計(jì)算機(jī)的 /home/user/
目錄下,請(qǐng)使用以下命令:
scp -r folder user@remote-host:/home/user/
Rsync
基本語(yǔ)法
Rsync 的基本語(yǔ)法格式為:
rsync [option] source destination
其中 source
和 destination
可以是本地路徑,也可以是遠(yuǎn)程路徑。
常用選項(xiàng)
Rsync 提供了很多選項(xiàng)來(lái)滿足不同的需求。下面列舉一些常用選項(xiàng):
-a
:表示歸檔模式,相當(dāng)于-rlptgoD
的縮寫(xiě),保留文件的所有屬性,并遞歸地復(fù)制子目錄。-r
:表示遞歸復(fù)制子目錄。-l
:表示復(fù)制軟鏈接而不是目標(biāo)文件。-p
:表示保留文件權(quán)限。-t
:表示保留文件時(shí)間戳。-g
:表示保留文件所屬組。-o
:表示保留文件所屬用戶(hù)。-D
:表示保留設(shè)備文件和特殊文件。-v
:表示詳細(xì)輸出信息。-z
:表示壓縮傳輸。--delete
:表示刪除目標(biāo)目錄中沒(méi)有源目錄中的文件。
示例
本地傳輸
將本地目錄 /home/user1/mydir
復(fù)制到本地目錄 /home/user2/backup
:
rsync -a /home/user1/mydir /home/user2/backup
將本地目錄 /home/user1/mydir
復(fù)制到本地目錄 /home/user2/backup
,并壓縮傳輸:
rsync -az /home/user1/mydir /home/user2/backup
將本地目錄 /home/user1/mydir
復(fù)制到本地目錄 /home/user2/backup
,并刪除目標(biāo)目錄中沒(méi)有源目錄中的文件:
rsync -av --delete /home/user1/mydir /home/user2/backup
遠(yuǎn)程傳輸
將本地目錄 /home/user1/mydir
復(fù)制到遠(yuǎn)程主機(jī)的目錄 /home/user2/backup
:
rsync -av /home/user1/mydir remote_host:/home/user2/backup
將遠(yuǎn)程主機(jī)的目錄 /home/user1/mydir
復(fù)制到本地目錄 /home/user2/backup
:
rsync -av remote_host:/home/user1/mydir /home/user2/backup
將本地目錄 /home/user1/mydir
復(fù)制到遠(yuǎn)程主機(jī)的目錄 /home/user2/backup
,并壓縮傳輸:
rsync -az /home/user1/mydir remote_host:/home/user2/backup
將本地目錄 /home/user1/mydir
復(fù)制到遠(yuǎn)程主機(jī)的目錄 /home/user2/backup
,并刪除目標(biāo)目錄中沒(méi)有源目錄中的文件:
rsync -av --delete /home/user1/mydir remote_host:/home/user2/backup
-
Linux
+關(guān)注
關(guān)注
87文章
11292瀏覽量
209332 -
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7488瀏覽量
87854 -
傳輸
+關(guān)注
關(guān)注
0文章
153瀏覽量
27456 -
SCP
+關(guān)注
關(guān)注
0文章
29瀏覽量
9243
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論