總結(jié)一下目前我接觸過的在Linux之間傳輸文件和Linux與Windows之間傳輸文件的工具集合
首先linux與windows之間互傳的工具
winSCP
開源免費(fèi)的軟件,這個(gè)我推薦用這個(gè),基于ssh安全可靠不收費(fèi),圖形化操作,方便
接著是
?Linux之間的互傳工具
scp

scp就是secure copy,是用來進(jìn)行遠(yuǎn)程文件拷貝的。數(shù)據(jù)傳輸使用 ssh,并且和ssh 使用相同的認(rèn)證方式,提供相同的安全保證 。
scp [參數(shù)] <源地址(用戶名@IP地址或主機(jī)名)>:<文件路徑> <目的地址(用戶名 @IP 地址或主機(jī)名)>:<文件路徑>?
舉例:?
scp /it/work/1txt work@192.168.1.10:/home/w/? #把本地的source.txt文件拷貝到192.168.1.10機(jī)器上的/home/w目錄下
scp work@192.168.2.1:/home/work/source.txt /home/work/? #把192.168.0.10機(jī)器上的source.txt文件拷貝到本地的/home/work目錄下
scp work@192.168.0.10:/home/work/source.txt? work@192.168.0.11:/home/work/? #把192.168.0.10機(jī)器上的source.txt文件拷貝到192.168.0.11機(jī)器的/home/work目錄下
scp -r /home/work/sourcedir work@192.168.0.10:/home/work/? #拷貝文件夾,加-r參數(shù)
scp -r /home/work/sourcedir work@www.myhost.com:/home/work/? #使用主機(jī)名
scp -r -v /home/work/sourcedir work@www.myhost.com:/home/work/? #顯示詳情,加-v參數(shù)
rsync
【優(yōu)點(diǎn)】功能強(qiáng)大,操作類似scp,支持排除目錄,支持限速參數(shù);還支持本地復(fù)制。?
【缺點(diǎn)】暫無
【用法】?
rsync是類unix系統(tǒng)下的數(shù)據(jù)鏡像備份工具,從軟件的命名上就可以看出來了——remote sync。它的操作方式和scp和相似,但是比scp強(qiáng)大很多。使用雙冒號分割主機(jī)名和文件路徑時(shí),是使用rsync服務(wù)器,這里不做介紹。?
命令格式:?
rsync [參數(shù)] <源地址(用戶名@IP地址或主機(jī)名)>:<文件路徑> <目的地址(用戶名 @IP 地址或主機(jī)名)>:<文件路徑>?
舉例:?
rsync /home/work/source.txt work@192.168.0.10:/home/work/? #把本地的source.txt文件拷貝到192.168.0.10機(jī)器上的/home/work目錄下
rsync work@192.168.0.10:/home/work/source.txt /home/work/? #把192.168.0.10機(jī)器上的source.txt文件拷貝到本地的/home/work目錄下
rsync work@192.168.0.10:/home/work/source.txt work@192.168.0.11:/home/work/? #把192.168.0.10機(jī)器上的source.txt文件拷貝到192.168.0.11機(jī)器的/home/work目錄下
rsync -r /home/work/sourcedir work@192.168.0.10:/home/work/? #拷貝文件夾,加-r參數(shù)
rsync -r /home/work/sourcedir work@www.myhost.com:/home/work/? #使用主機(jī)名
rsync -r -v /home/work/sourcedir work@www.myhost.com:/home/work/? #顯示詳情,加-v參數(shù)
rz 和 sz 命用在Linux與Windows之間,開源免費(fèi)
1.軟件安裝
1)編譯安裝
root 賬號登陸后,依次執(zhí)行以下命令:
cd /tmp
wget http://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz
tar zxvf lrzsz-0.12.20.tar.gz && cd lrzsz-0.12.20
./configure && make && make install
上面安裝過程默認(rèn)把lsz和lrz安裝到了/usr/local/bin/目錄下,現(xiàn)在我們并不能直接使用,下面創(chuàng)建軟鏈接,并命名為rz/sz:
cd /usr/bin
ln -s /usr/local/bin/lrz rz
ln -s /usr/local/bin/lsz sz
2)yum安裝
root 賬號登陸后執(zhí)行以下命令:
yum install -y lrzsz
2.用說明
sz命令發(fā)送文件到本地:
# sz filename
rz命令本地上傳文件到服務(wù)器:
# rz
執(zhí)行該命令后,在彈出框中選擇要上傳的文件即可。
說明:打開SecureCRT軟件 -> Options -> session options -> X/Y/Zmodem 下可以設(shè)置上傳和下載的目錄。
NFS:即為網(wǎng)絡(luò)文件系統(tǒng)。
主要功能:通過網(wǎng)絡(luò)(局域網(wǎng))讓不同的主機(jī)系統(tǒng)之間可以共享文件或目錄。
主要用途:NFS網(wǎng)絡(luò)文件系統(tǒng)一般被用來存儲共享視頻,圖片,附件等靜態(tài)資源文件。
關(guān)于端口使用說明:
1.通過網(wǎng)絡(luò)來進(jìn)行數(shù)據(jù)傳輸,因此會使用一些端口來傳輸數(shù)據(jù)。
2.NFS在傳輸數(shù)據(jù)的時(shí)候使用的端口會隨機(jī)選擇。
問:nfs客戶端如何知道nfs服務(wù)器端使用哪個(gè)端口?
答:通過RPC(遠(yuǎn)程過程調(diào)用)協(xié)議/服務(wù)來實(shí)現(xiàn)。
rpc工作原理:1.啟動(dòng)RPC服務(wù)
2.nfs啟動(dòng)時(shí)隨機(jī)取用若干端口,并主動(dòng)向rpc服務(wù)注冊取用相關(guān)信息
3.客戶端請求nfs服務(wù)向rpc
4.rpc返回端口給客戶端
5.拿著地址與端口向nfs服務(wù)器請求傳輸數(shù)據(jù)
所以綜上所述:nfs服務(wù)必須在rpc服務(wù)啟動(dòng)之后啟動(dòng),客戶端無需啟動(dòng)nfs服務(wù),但需要啟動(dòng)rpc服務(wù)。
nfs部署:
需要安裝的軟件包:
nfs-utils:nfs服務(wù)主程序
rpcbind:rpc主程序
yum install -y ?nfs-utils rpcbind?
啟動(dòng)nfs相關(guān)服務(wù):
1.啟動(dòng)rpcbind
systemctl status rpcbind
systemctl start rpcbind
systemctl enable rpcbind
rpcinfo -p localhost ? ? ? ? ? ? //查看nfs服務(wù)向rpc服務(wù)注冊的端口信息。此時(shí)nfs服務(wù)還沒有啟動(dòng)因此沒有太多注冊的端口映射信息。
lsof -i : 111
netstat -lntup | grep rpcbind
2.啟動(dòng)nfs服務(wù):
systemctl start nfs
systemctl enable nfs
systemctl status nfs
rpcinfo -p localhost ? ? ? ?//查看注冊信息
[root@localhost ~]# ps -ef | egrep "rpc|nfs"
root??????? 378????? 2? 0 02:39 ???????? 00:00:00 [rpciod]
rpc??????? 4873????? 1? 0 04:08 ???????? 00:00:00?/sbin/rpcbind?-w?????????????????????
rpcuser??? 5055????? 1? 0 04:18 ???????? 00:00:00?/usr/sbin/rpc.statd --no-notify?????????//檢查文件一致性
root?????? 5056????? 1? 0 04:18 ???????? 00:00:00?/usr/sbin/rpc.idmapd???????????????????
root?????? 5057????? 1? 0 04:18 ???????? 00:00:00?/usr/sbin/rpc.mountd????????????????????//權(quán)限管理驗(yàn)證
root?????? 5062????? 2? 0 04:18 ???????? 00:00:00 [nfsd4_callbacks]
root?????? 5068????? 2? 0 04:18 ???????? 00:00:00 [nfsd]
root?????? 5069????? 2? 0 04:18 ???????? 00:00:00 [nfsd]
root?????? 5070????? 2? 0 04:18 ???????? 00:00:00 [nfsd]
root?????? 5071????? 2? 0 04:18 ???????? 00:00:00 [nfsd]
root?????? 5072????? 2? 0 04:18 ???????? 00:00:00 [nfsd]
root?????? 5073????? 2? 0 04:18 ???????? 00:00:00 [nfsd]
root?????? 5074????? 2? 0 04:18 ???????? 00:00:00 [nfsd]
root?????? 5075????? 2? 0 04:18 ???????? 00:00:00 [nfsd]
root?????? 5189?? 3406? 0 04:27 pts/0????00:00:00?grep?-E --color=auto rpc|nfs
NFS服務(wù)器啟動(dòng)的時(shí)候至少需要兩個(gè)不同的進(jìn)程,一個(gè)是管理nfs客戶端是否可以登陸rpc。nfsd主進(jìn)程,一個(gè)是管理nfs客戶端是否能夠登入的rpc.mountd進(jìn)程。
如果需要管理磁盤配額,則還需要加載rpc.rquotad進(jìn)程
nfs服務(wù)端說明:
配置nfs啟動(dòng)文件:
默認(rèn)存放地點(diǎn):/etc/exports ? ? ? ? ?//存在但是沒有內(nèi)容,默認(rèn)為空
exports配置文件格式:
nfs共享目錄 ?nfs客戶端地址1(參1,參2.....) 客戶端地址2(參1,參2...)
說明:
nfs共享目錄:為nfs服務(wù)器要共享的實(shí)際目錄,絕對目錄。注意權(quán)限問題。
nfs客戶端地址:為nfs服務(wù)器授權(quán)可以訪問的客戶端的地址,可以是單獨(dú)的ip地址或主機(jī)名,域名。也可以是整個(gè)網(wǎng)段。
授權(quán)整個(gè)網(wǎng)段:eg:10.0.0.0/24
文件配置實(shí)例說明:
1. /data 10.10.10.0/24(rw,sync) ? //允許客戶端讀寫,并且數(shù)據(jù)同步寫到服務(wù)器端磁盤 ?注意:24與(之間不能有空格
2./data 10.10.10.0/24(rw,sync,all_squash,anonuid=2000,anongid=2000)//允許讀寫,并且數(shù)據(jù)同步到客戶端磁盤,并且指定客戶端的用戶uid和pid
3./data 10.10.10.0/24(ro) //只讀共享
rw讀寫權(quán)限
sync請求或?qū)懭霐?shù)據(jù)時(shí),數(shù)據(jù)同步寫入到nfs server 的硬盤后才返回。
ro只讀權(quán)限
all_squash不管是什么身份訪問共享目錄,權(quán)限都將被壓縮成匿名用戶。
1)確保所有客戶端服務(wù)器對nfs共享目錄具備相同的用戶訪問權(quán)限。
2)就是anonuid,anongid指定的uid和gid的用戶。
nfs服務(wù)端配置:
?mkdir-p /data ?????????????????????????????//創(chuàng)建數(shù)據(jù)目錄
?touch/data/ffy.txt ????????????????????????//創(chuàng)建測試文檔
?chown?-R nfsnobody.nfsnobody /data //更改屬組,nfsnobody.nfsnobody
?ls?-ld?/data
vim /etc/exports ????????????????????????//編輯配置文件。/data 172.16.15.0/24(rw,sync)
exportfs -rv ???????????????????????????//加載配置文件
showmount -e localhost ?????????????????//nfs服務(wù)器本地查看掛載情況。
mount?-t nfs 172.16.15.19:/data /mnt ???//本地掛載配置?df?-h
nfs客戶端 配置:
yum install rpcbind nfs-utils -y ??//安裝rpcbind與nfs
systemctl start rpcbind ???????????//啟動(dòng)rpcbind,不啟動(dòng)nfs 為了使用showmount等功能。但客戶端不用nfs功能
?showmount -e 172.16.15.19//查看本地
mount -t nfs 172.16.15.19:/data /mnt ?//執(zhí)行掛載命令掛載到本機(jī)的/mnt目錄下。 前面的ip地址是客戶端的ip地址
df -h ???????????????????????????????????//查看掛載,如果有,則掛載成功。至此所有的安裝成功。