傳輸文件

摘要:本文介紹linux下的幾種網絡共享文件的傳輸:NFS、Samba、FTP及基於SSH傳輸協議的sftp。這裏僅介紹如何使用已有共享資源,對於服務器的配置暫不介紹。
1、linux間的網絡硬盤:NFS。
NFS目前只用於在linux和UNIX主機間共享文件系統。通過NFS可以方便地將一臺linux(或者UNIX)主機上的文件系統掛載到本地。當然,這要求對方主機開啓了NFS服務器,並對共享的文件系統做了相關的設置。
(1)如何安裝NFS文件系統呢?
與安裝本地文件系統一樣,區別在於需要給mount命令指定一個遠程主機名(或者IP地址)。
例:sudo mount 192.168.1.111:/default /mnt #將主機192.168.1.111上導出的/default安裝到mnt目錄下
安裝成功之後就可以像使用本地文件一樣使用它了,如果安裝失敗的話,可能是因爲服務器端的NFS服務器沒有正確導出這個目錄,可以使用帶-e選項的showmount查看服務器端導出的目錄。
例:showmount -e 192.168.1.111 #查看主機192.168.1.111導出的目錄
(2)在安裝文件系統時,我們可以選擇合適的安裝選項來對文件系統進行安裝:
在默認情況下,mount命令會根據NFS服務器上的設置,選擇合適的安裝選項。如果確定NFS服務器以可寫方式導出了這個文件系統,那麼可以使用-o選項配合rw標誌,明確以可讀寫方式安裝這個文件系統。
例:sudo mount -o rw 192.168.1.111:/default /mnt #以可讀寫方式掛載
注意:rw標誌實際上是“推薦”mount命令用可讀寫方式安裝文件系統。如果NFS服務器上的設置是不允許外部可寫,那麼mount會自動選擇以只讀方式安裝。
常用的 NFS安裝標誌有:
rw:以可讀寫方式安裝文件系統。
ro:以只讀方式安裝文件系統。
bg:如果安裝失敗,那麼在後臺繼續發送安裝請求。
hard:“硬安裝”方式。如果服務器沒有響應,那麼暫時掛起對服務器的訪問,直到服務器恢復。
soft:“軟安裝”方式。如果服務器沒有響應,那麼返回一條出錯信息,並中斷正在執行的操作。
intr:允許用戶中斷某項操作,並返回一條錯誤信息。
nointr:不允許用戶中斷。
timeo=n:請求的超時時間。n以十分之一秒爲單位。
tcp:使用TCP協議傳輸文件(默認選擇UDP)
async:要求服務器在實際寫磁盤之前就回應客戶機的寫請求。
“硬安裝”是mount命令的默認安裝方式,使用這種安裝方式有助於NFS傳輸的穩定。如果因爲網絡原因使某個程序的傳輸暫時被阻塞,那麼客戶機還會繼續等待,直到傳輸恢復正常。與此相對,“軟安裝”時,一次短暫的故障就可能毀掉幾個小時的勞動成果。但如果用戶正在和一臺不那麼重要的NFS服務器打交道,那麼soft標誌有助於避免把時間浪費在無謂的等待上。
intr允許用戶在發現某項操作沒有迴應的時候中斷它,通常,給“硬安裝”方式配合intr標誌是一種比“軟安裝”更好的方式,這樣既可以保證重要操作不會被意外中斷,又能讓用戶在適當的時候中斷某項操作。
使用逗號分隔多個不同的選項。下面這條命令以可讀寫、硬安裝、可中斷、後臺重試安裝請求的方式安裝遠程NFS文件系統。
例:sudo mount -o rw,hard,intr,bg 192.168.1.111:/default /mnt
(3)卸載文件系統:與本地文件系統的卸載一般,使用umount命令。
例:sudo umount /mnt
(4)如果需要在啓東時讓機器自動掛載遠程的NFS文件系統,可以通過修改/etc/fstab進行配置。
例:192.168.1.111:/default /mnt nfs rw,hard,intr,bg 0 0 #文件系統類型爲nfs
2、與Windows進行傳輸共享:Samba。
(1)Windows中,並不使用NFS,而是使用CIFS的協議機制進行共享文件。CIFS本質上是SMB的升級版本,是由Andrew Tridgell於1991年採用逆向工程對SMB協議進行實現開發出來的。Tridgell將這個開發出來的軟件包取名爲Samba。
(2)Samba包括一個服務器端和幾個客戶端程序。安裝在linux主機上的Samba的服務器端程序向Windows機器提供linux共享,Windows主機不需要爲此安裝其他特殊的工具。Samba的客戶端程序用於獲取Windows主機的共享內容。
(3)smbtree:用於查看當前網絡上的共享資源。
-S選項:簡單的列出當前網絡上的共享主機列表。當smbtree詢問口令時,直接回車(表示不需要口令)即可。如果不指定—S選項,那麼smbtree會試圖與搜索到的共享主機建立連接。
—U:可以指定與哪個用戶名進行連接,並提供對應的口令。
-b:指定smbtree使用廣播的方式搜尋整個網絡。
例:smbtree -b -U smbuser #以廣播方式搜尋整個網絡,並指定以用戶smbuser與搜尋到的共享主機建立連接。
(4)nmblookup:可以查詢某臺主機對應的IP地址。如果需要使用IP地址來訪問Samba資源的話,這個命令還是很不錯的。
例:nmblookup lewis-laptop #查詢lewis-laptop的IP地址
(5)smbclient:獲取Samba共享資源。基本語法:smbclient //servername/sharename [-U username]
例:smbclient //172.16.25.128/share
登錄成功後,smbclient會顯示“smb:\>”提示用戶輸入命令。這裏的命令與FTP及sftp的命令一般。在FTP時介紹。
quit:退出。
(6)mount.cifs:將windows的共享目錄掛載到本地的目錄下。
語法:mount.cifs service mount-point [-o options] #service表示服務器端的共享目錄,和smbclient一樣,應該使用//servername/sharename這樣的寫法。mount-point代表用於掛載該共享的本地目錄。
例:sudo mount.cifs //10.171.20.225/share /srv/share
3、使用FTP:
(1)使用web瀏覽器:使用web瀏覽器連接FTP,記得在地址中加上“ftp://”前綴告訴瀏覽器要使用FTP協議。
(2)FTP圖形客戶端:常用的有FIleZilla。具體不介紹了,很簡單。
(3)使用ftp命令:
ftp:是linux自帶的一個命令行的FTP工具,可以完成所有基本的FTP操作。要使用ftp命令連接服務器,只要在這個命令後面跟上服務器名稱或者IP就可以了。
例:ftp 10.171.37.1 #連接FTP服務器10.171.37.1
FTP服務器默認使用21端口,如果FTP沒有使用默認端口,那麼可以在主機後面再增加一個端口參數。
例:ftp 10.171.37.1 2121 #連接工作在2121端口的FTP守護進程。
建立連接後,ftp命令會要求輸入登錄的用戶名。如果連接的是匿名FTP服務器(也就是任何人都能夠訪問的FTP服務器的話),那麼應該輸入anonymous,代表匿名用戶。登錄成功後,可以看到ftp提示符,等待用戶輸入命令:ftp>。
ftp程序用於瀏覽文件系統的命令和shell基本一致。
常用的ftp客戶端命令:
!<command>:在本地執行命令。
?<command>:顯示ftp命令的幫助信息。
open:連接FTP服務器。
close或disconnect:關閉連接但不退出FTP程序。
bye或quit:退出FTP程序。
cd:切換遠程所在的目錄。
ls或dir:列出遠程目錄中的內容。
get:下載文件。
mget:一次下載多個文件。
put:上傳文件。
mput:一次上傳多個文件。
mkdir:在FTP服務器上建立目錄。
rmdir:刪除FTP服務器上的目錄。
delete:刪除FTP服務器上的文件。
pwd:顯示當前遠程所在的目錄。
lcd:切換本地所在的目錄。
prompt:切換交互和非交互模式。
4、基於SSH的文件傳輸:sftp和scp。
(1)傳統的FTP由於採用了不加密的傳輸方式,因此存在嚴重的安全隱患,而SSH則是目前最安全可靠地傳輸協議之一。使用sftp進行文件傳輸有助於保護用戶賬戶和傳輸安全。首先確保主機開啓了SSH的守護進程,然後使用如下命令建立連接。
例:sftp [email protected] #以用戶lewis建立連接。
連接成功後,出現:sftp>。等待用戶輸入命令,這裏的命令與FTP差不多。
(2)scp:用於從服務器上賦值一些文件。
例:scp [email protected]:/home/lewis/dump-0.4b41.tar.gz /srv/nfs_share/
#以lewis的身份從服務器10.171.33.221上的/home/lewis中複製文件dump-0.4b41.tar.gz到/srv/nfs_share/中。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章