1. 前言
linux之間傳文件命令用什么命令?本文介紹一種最常用,也是功能強大的文件同步和傳輸工具Rsync,本文提供詳細傻瓜式教程。
在本教程中,我們將通過實際使用案例和最常見的rsync選項的詳細說明向您展示如何使用rsync。
本教程適用于Ubuntu系統(tǒng)、Linux Mint系統(tǒng)、Deepin深度Linux系統(tǒng)、Fedora系統(tǒng)、Debian系統(tǒng)、Elementary OS系統(tǒng)、OpenSUSE系統(tǒng)、centos系統(tǒng)、RHEL系統(tǒng),Arch Linux等等GNU Linux發(fā)行版。
linux之間傳文件命令之Rsync傻瓜式教程
2. `rsync`介紹
Rsync是一個快速且通用的命令行實用程序,它可以使windows與Linux之間,Linux與Linux之間傳文件或者Linux與mac OS之間傳文件?;驈腖inux本地文件系統(tǒng)到遠程Rsync守護進程之間同步文件和文件夾。它只傳輸源和目標(biāo)之間的差異,從而提供快速增量文件傳輸。
Rsync可以用于鏡像數(shù)據(jù)、增量備份、在Linux系統(tǒng)之間傳文件,也可以用于Linux與Windows之間傳輸文件,還可以替代日常使用的scp、sftp和cp命令,他們一般也用于Linux之間傳文件或者Linux與MAC OS之間傳文件。
3. 如何安裝`Rsync`
rsync實用程序預(yù)裝在大多數(shù)Linux發(fā)行版和macOS上。你可以輸入以下命令,檢查你的系統(tǒng)是否已安裝:
查看Rsync版本的輸出結(jié)果:
如果您的系統(tǒng)上沒有安裝rsync,您可以使用發(fā)行版的包管理器輕松地安裝它。
在Ubuntu 或者Debian體系的Linux系統(tǒng)上安裝rsync
在CentOS 或者Fedora系統(tǒng)上安裝rsync
4. Rsync命令使用語法
在討論如何使用rsync命令之前,讓我們先回顧一下基本語法。
rsync實用程序表達式采用以下形式:
- OPTION - rsync參數(shù)選項.
- SRC - 源目錄.
- DEST - 目標(biāo)目錄.
- USER - 遠程用戶名.
- HOST - 遠程主機名或域名或IP地址.
rsync提供了許多選項來控制其行為和功能。最廣泛使用的選項是:
-a, --archive, 歸檔模式, 相當(dāng)于 -rlptgoD。這個選項告訴rsync遞歸地同步目錄、傳輸特殊設(shè)備和塊設(shè)備、保存符號鏈接、修改時間、組、所有權(quán)和權(quán)限。
-z, --compress. 這個選項將強制rsync在傳送文件到目標(biāo)計算機時壓縮數(shù)據(jù)。僅當(dāng)?shù)竭h程計算機的連接很慢時才使用此選項。
-P, 相當(dāng)于--partial --progress。使用此選項時,rsync將在傳輸期間顯示一個進度條,并保留部分傳輸?shù)奈募?。?dāng)通過緩慢或不穩(wěn)定的網(wǎng)絡(luò)連接傳輸大文件時,它非常有用。
--delete. 使用此選項時,rsync將從目標(biāo)位置刪除無關(guān)文件。它對鏡像很有用。
-q, --quiet。如果希望禁用非錯誤消息,請使用此選項。
-e. 此選項允許您選擇不同的遠程shell。默認情況下,rsync被配置為使用ssh。
5. 使用Rsync最基本的功能使Linux之間傳輸文件
要將一個文件從一個本地位置復(fù)制到另一個本地位置,可以運行以下命令:
使用Rsync最基本的功能使Linux之間傳輸文件
運行該命令的用戶必須具有目標(biāo)位置上的讀權(quán)限和目標(biāo)上的寫權(quán)限。
從目標(biāo)位置省略文件名將復(fù)制具有當(dāng)前名稱的文件。如果您想將文件保存在另一個名稱下,請在目標(biāo)部件上指定新名稱:
比如復(fù)制filename.zip到目標(biāo)目錄并重新把文件名修改為newfilename.zip
在下面的例子中,我們正在創(chuàng)建一個本地備份我們的網(wǎng)站文件:
如果目標(biāo)目錄不存在,rsync將創(chuàng)建它。
值得一提的是,rsync對后面帶有斜杠/的源目錄提供了不同的處理。如果在源目錄上添加一個尾隨斜杠,它將只將目錄的內(nèi)容復(fù)制到目標(biāo)目錄。當(dāng)后面的斜杠被省略時,rsync將把源目錄復(fù)制到目標(biāo)目錄中。
6. 如何使用Rsync與遠程服務(wù)器同步文件(包括上傳下載)
當(dāng)使用rsync進行遠程傳輸時,必須同時安裝在源機器和目標(biāo)機器上。rsync的新版本被配置為使用SSH作為默認遠程shell。
如何使用Rsync與遠程服務(wù)器同步文件(包括上傳下載)
在下面的例子中,我們將一個目錄從本地轉(zhuǎn)移到遠程機器:
如果您還沒有為遠程機器設(shè)置無密碼SSH登錄,將要求您輸入用戶密碼。
如果你需要配置2臺Linux之間免密碼登錄,請查看以下教程:
如果你想把數(shù)據(jù)從遠程傳輸?shù)奖镜貦C器,你需要使用遠程位置作為一個源:
如果遠程主機上的SSH監(jiān)聽的端口不是默認的22端口,那么可以使用-e選項指定端口:
比如遠程服務(wù)器的SSH端口被修改為1234
當(dāng)傳輸大量數(shù)據(jù)時,建議在屏幕會話中運行rsync命令或使用-P選項:
7. 使用Rsync傳送或同步文件時,排除某些文件或者目錄
當(dāng)使用Rsync排除文件或目錄時,需要使用它們到源位置的相對路徑。
使用Rsync傳送或同步文件時,排除某些文件或者目錄
有兩個選項可以排除文件和目錄。第一個選項是使用--exclude參數(shù),并在命令行中指定要排除的文件和目錄。
在下面的例子中,我們排除了位于src_directory中的123和abc目錄:
第二個選項是使用--exclude-from參數(shù),并指定要在文件中排除的文件和目錄。
vi exclude-file.txt
加入需要排除的文件,比如文件file1.c,目錄zcwyou:
8. 總結(jié)
在本教程中,您學(xué)習(xí)了如何使用Rsync在多臺Linux之間傳輸、復(fù)制或同步文件和目錄。在Rsync用戶手冊頁面上有更多關(guān)于Rsync的內(nèi)容。
如果你有任何問題,請留下你的意見。
本文已同步至博客站,尊重原創(chuàng),轉(zhuǎn)載時請在正文中附帶以下鏈接:
https://www.linuxrumen.com/rmxx/1428.html