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

評論