hello,小伙伴們,大家好!今天給大家分享一下Linux下不同主機(jī)之間如何通過網(wǎng)絡(luò)進(jìn)行文件共享,達(dá)到文件在不同主機(jī)之間進(jìn)行拷貝的目的。在平時的工作中,我們需要經(jīng)常在主機(jī)與開發(fā)板、同一網(wǎng)絡(luò)下的不同主機(jī)、主機(jī)與公網(wǎng)中的主機(jī)、主機(jī)與云服務(wù)器等等之間拷貝文件。那么在這樣的環(huán)境下如何實(shí)現(xiàn)文件拷貝呢,我們來說說下面的幾種方式,看看你是否常用
1. 文件共享概述
平常工作中你的電腦通常不是網(wǎng)絡(luò)上唯一的計(jì)算機(jī),如果你在工作環(huán)境中,情況尤其如此。當(dāng)我們想要將數(shù)據(jù)從一臺機(jī)器傳輸?shù)搅硪慌_機(jī)器時,有時連接一個U盤并手動復(fù)制它們可能更容易。但在大多數(shù)情況下,如果你使用同一網(wǎng)絡(luò)上的機(jī)器,則傳輸數(shù)據(jù)的方式是通過網(wǎng)絡(luò)文件共享來的更方便些。
下面,我們將介紹幾種不同的方法來在網(wǎng)絡(luò)上的不同機(jī)器之間復(fù)制數(shù)據(jù)。我們將討論一些簡單的文件副本,然后我們將討論如何將整個目錄掛載到你的機(jī)器上,作為一個單獨(dú)的驅(qū)動器。
一個簡單的文件共享工具是scp命令。scp命令代表安全復(fù)制,它的工作方式與cp命令完全相同,但是允許你從一臺主機(jī)復(fù)制到同一網(wǎng)絡(luò)上的另一臺主機(jī)。它通過ssh工作,因此你的所有操作都使用與ssh相同的身份驗(yàn)證和安全性。
1.將文件從本地主機(jī)復(fù)制到遠(yuǎn)程主機(jī)
$scpmyfile.txtusername@remotehost.com:/remote/directory
2.將文件從遠(yuǎn)程主機(jī)復(fù)制到本地主機(jī)
$scpusername@remotehost.com:/remote/directory/myfile.txt/local/directory
3.將目錄從本地主機(jī)復(fù)制到遠(yuǎn)程主機(jī)
$scp-rmydirusername@remotehost.com:/remote/directory
2. rsync
另一個用于從不同主機(jī)復(fù)制數(shù)據(jù)的工具是rsync(遠(yuǎn)程同步的縮寫)。rsync非常類似于scp,但它確實(shí)有一個主要的區(qū)別。rsync使用一種特殊的算法,它可以提前檢查是否已經(jīng)有數(shù)據(jù)要復(fù)制,并且只復(fù)制差異。例如,假設(shè)您正在復(fù)制一個文件,而你的網(wǎng)絡(luò)中斷了,因此你的復(fù)制中途停止。rsync將只復(fù)制未復(fù)制的部分,而不是從頭重新復(fù)制所有內(nèi)容。
它還驗(yàn)證使用校驗(yàn)和復(fù)制的文件的完整性。這些小優(yōu)化允許更大的文件傳輸靈活性,使rsync成為遠(yuǎn)程和本地目錄同步、數(shù)據(jù)備份、大型數(shù)據(jù)傳輸?shù)鹊睦硐脒x擇。
一些常用的rsync選項(xiàng):
- V -詳細(xì)輸出
- r -遞歸到目錄
- h -人性化的可讀輸出
- z -壓縮更容易傳輸,非常適合慢速連接
1.在同一主機(jī)上復(fù)制/同步文件
$rsync-zvr/my/local/directory/one/my/local/directory/two
2.從遠(yuǎn)程主機(jī)拷貝/同步文件到本地主機(jī)
$rsync/local/directoryusername@remotehost.com:/remote/directory
3.從本地主機(jī)復(fù)制/同步文件到遠(yuǎn)程主機(jī)
$rsyncusername@remotehost.com:/remote/directory/local/directory
3. 簡易HTTP服務(wù)器
Python有一個超級有用的工具,通過HTTP服務(wù)。如果你只是想創(chuàng)建一個快速的網(wǎng)絡(luò)共享,以便網(wǎng)絡(luò)上的其他機(jī)器可以訪問,那么這個功能非常棒。要做到這一點(diǎn),只需進(jìn)入你想要共享的目錄并運(yùn)行:
$python-mSimpleHTTPServer
這將設(shè)置一個基本的web服務(wù)器,您可以通過localhost地址訪問它。因此,獲取運(yùn)行此程序的機(jī)器的IP地址,然后在另一臺機(jī)器上使用http://IP_ADDRESS:8000
在瀏覽器中訪問它。在你自己的機(jī)器上,你可以通過在web瀏覽器中鍵入:http://localhost:8000
來查看可用共享的文件。
4. NFS
Linux最標(biāo)準(zhǔn)的網(wǎng)絡(luò)文件共享是NFS(網(wǎng)絡(luò)文件系統(tǒng)),NFS允許服務(wù)器通過網(wǎng)絡(luò)與一個或多個客戶端共享目錄和文件。NFS
也是木榮平常工作中最常用的一種文件共享的方式。
1.設(shè)置NFS客戶端
$sudoservicenfsclientstart
$sudomountserver:/directory/mount_directory
2.自動掛載
假設(shè)你經(jīng)常使用NFS服務(wù)器,并且希望永久掛載它,通常你會編輯/etc/fstab文件,但是你可能并不總是獲得到服務(wù)器的連接,這可能會導(dǎo)致啟動時出現(xiàn)問題。相反,你要做的是設(shè)置自動掛載,以便在需要時可以連接到NFS服務(wù)器。這是通過自動掛載工具或最新版本的Linux完成的。當(dāng)在指定目錄中訪問文件時自動掛載將查找遠(yuǎn)程服務(wù)器并自動掛載它。
5. samba服務(wù)器
在計(jì)算機(jī)的早期,Windows計(jì)算機(jī)必須與Linux計(jì)算機(jī)共享文件,因此服務(wù)器消息塊(SMB)協(xié)議誕生了。SMB被用于Windows操作系統(tǒng)之間的文件共享(Mac也有與SMB的文件共享),后來被清理和優(yōu)化為通用互聯(lián)網(wǎng)文件系統(tǒng)協(xié)議(CIFS)。
Samba是我們在Linux上使用CIFS的Linux實(shí)用程序。除了文件共享,還可以共享打印機(jī)等資源。
使用Samba創(chuàng)建網(wǎng)絡(luò)共享
讓我們通過基本步驟來創(chuàng)建一個Windows機(jī)器可以訪問的網(wǎng)絡(luò)共享:
安裝Samba服務(wù)器
$sudoaptinstallsamba
配置smb.conf
samba的配置文件位于/etc/samba/smb.conf,這個文件應(yīng)該告訴系統(tǒng)應(yīng)該共享哪些目錄、它們的訪問權(quán)限和更多選項(xiàng)。默認(rèn)的smb.conf已經(jīng)帶有大量注釋代碼,您可以使用這些代碼作為示例來編寫自己的配置。
$sudovi/etc/samba/smb.conf
為samba設(shè)置密碼
$sudosmbpasswd-a[username]
創(chuàng)建共享目錄
$mkdir/my/directory/to/share
重新啟動samba服務(wù)
$sudoservicesmbdrestart
通過Windows訪問samba共享
在Windows中,只需在運(yùn)行提示符中輸入網(wǎng)絡(luò)連接:HOSTsharename。
通過Linux訪問Samba/Windows共享
$smbclient//HOST/directory-Uuser
samba安裝包包含一個名為smbclient的命令行工具,你可以使用它訪問任何Windows或Samba服務(wù)器。一旦你連接到共享,你就可以傳輸文件了。
將samba共享附加到你的系統(tǒng)
你可以在系統(tǒng)上掛載網(wǎng)絡(luò)共享,而不是逐個傳輸文件。
$sudomount-tcifsservername:directorymountpount-ouser=username,pass=password
小結(jié)
網(wǎng)絡(luò)中文件共享是我們工作中經(jīng)常使用的,選擇合適的一種方式很大程度上會提高我們的工作效率,達(dá)到事半功倍的效果。
審核編輯 :李倩
-
驅(qū)動器
+關(guān)注
關(guān)注
52文章
8099瀏覽量
145817 -
數(shù)據(jù)傳輸
+關(guān)注
關(guān)注
9文章
1792瀏覽量
64412 -
服務(wù)器
+關(guān)注
關(guān)注
12文章
8958瀏覽量
85085
原文標(biāo)題:這幾種文件共享的方式,很絲滑!
文章出處:【微信號:良許Linux,微信公眾號:良許Linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論