Dropbox是一款非常好用的免費網絡文件同步工具,是Dropbox公司運行的在線存儲服務,通過雲計算實現因特網上的文件同步,用戶可以存儲並共享文件和文件夾。Dropbox提供免費和收費服務,Dropbox的收費服務包括Dropbox Pro 和 Dropbox for Business。在不同操作系統下有客戶端軟件,並且有網頁客戶端。
當你在電腦A使用Dropbox時,指定文件夾裡所有文件的改動均會自動地"同步”到 Dropbox的服務器,當下次你在電腦B需要使用這些文件時,你只需登錄你的賬戶,所有被同步的文件均會自動下載到B電腦中。同樣,你在電腦B對某文件的修改,也會體現在電腦A上,而所有這一切均是全自動的,這樣你的文件可以說是隨時隨地都能保持著最新了。將文件放入一台電腦的Dropbox裡面去,文件就能即時的同步到Dropbox的服務器端,這些文件在你任何安裝了Dropbox的電腦上都可以訪問。你可以用電腦或者移動終端從 Dropbox網站來訪問這些文件。
用戶可以通過Dropbox客戶端,把任意文件丟入指定文件夾,然後就會被同步到雲,以及該用戶其他裝有Dropbox客戶端的其他計算機中。
Dropbox文件夾中的文件隨後就可以與其他Dropbox用戶分享,或通過網頁來獲取。用戶也可以通過網頁浏覽器來手工上傳文件。Dropbox作為存儲服務,主要專注於同步和共享。Dropbox支持修訂歷史紀錄,即使文件被刪,也可以從任何一個同步計算機中得以恢復。用戶通過Dropbox的版本控制,可以知道他們共同作業文件的歷史紀錄,這樣多人參與編輯、再發布文件,就不會因為並發而丟失先前的紀錄。版本紀錄歷史僅限於30天,而通過付費可以實現無限的版本紀錄,也就是所謂的 "Pack-Rat"。版本紀錄用到了差分編碼技術,為了節省帶寬和時間,當用戶Dropbox文件夾中的文件發生變化後,Dropbox只上傳改變的文件部分,並實施同步。盡管桌面客戶端對單個文件大小不作限制,而通過網站上傳的單個文件大小上限則是300MB。 Dropbox使用亞馬遜的S3存儲系統來存放文件。 並采用SoftLayer技術來購建後端的基礎設施。 Dropbox同步采用SSL傳輸數據,而存儲則通過AES-256進行加密。
當然 Linux 平台下也有著自己的 Dropbox 客戶端: 既有命令行的,也有圖形界面客戶端。Dropbox Uploader 是一個簡單易用的 Dropbox 命令行客戶端,它是用 Bash 腳本語言所編寫的。在這篇教程中,我將描述 在 Linux 中如何使用 Dropbox Uploader 通過命令行來訪問 Dropbox。
Linux 中安裝和配置 Dropbox Uploader
要使用 Dropbox Uploader,你需要下載該腳本並使其可被執行。
代碼如下:
$ wget https://raw.github.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh
$ chmod +x dropbox_uploader.sh
請確保你已經在系統中安裝了 curl,因為 Dropbox Uploader 通過 curl 來運行 Dropbox 的 API。
要配置 Dropbox Uploader,只需運行 dropbox_uploader.sh 即可。當你第一次運行這個腳本時,它將請求得到授權以使得腳本可以訪問你的 Dropbox 賬戶。
代碼如下:
$ ./dropbox_uploader.sh
如上圖所指示的那樣,你需要通過浏覽器訪問 https://www.dropbox.com/developers/apps 頁面,並創建一個新的 Dropbox app。接著像下圖那樣填入新 app 的相關信息,並輸入 app 的名稱,它與 Dropbox Uploader 所生成的 app 名稱類似。
在你創建好一個新的 app 之後,你將在下一個頁面看到 app key 和 app secret。請記住它們。
然後在正運行著 dropboxuploader.sh 的終端窗口中輸入 app key 和 app secret。然後 dropboxuploader.sh 將產生一個 oAUTH 網址(例如,https://www.dropbox.com/1/oauth/authorize?oauth_token=XXXXXXXXXXXX)。
接著通過浏覽器訪問那個 oAUTH 網址,並同意訪問你的 Dropbox 賬戶。
這便完成了 Dropbox Uploader 的配置。若要確認 Dropbox Uploader 是否真的被成功地認證了,可以運行下面的命令。
代碼如下:
$ ./dropbox_uploader.sh info
Dropbox Uploader v0.12
> Getting info...
Name: Dan Nanni
UID: XXXXXXXXXX
Email: my@email_address
Quota: 2048 Mb
Used: 13 Mb
Free: 2034 Mb
Dropbox Uploader 示例
要顯示根目錄中的所有內容,運行:
代碼如下:
$ ./dropbox_uploader.sh list
要列出某個特定文件夾中的所有內容,運行:
代碼如下:
$ ./dropbox_uploader.sh list Documents/manuals
要上傳一個本地文件到一個遠程的 Dropbox 文件夾,使用:
代碼如下:
$ ./dropbox_uploader.sh upload snort.pdf Documents/manuals
要從 Dropbox 下載一個遠程的文件到本地,使用:
代碼如下:
$ ./dropbox_uploader.sh download Documents/manuals/mysql.pdf ./mysql.pdf
要從 Dropbox 下載一個完整的遠程文件夾到一個本地的文件夾,運行:
代碼如下:
$ ./dropbox_uploader.sh download Documents/manuals ./manuals
要在 Dropbox 上創建一個新的遠程文件夾,使用:
代碼如下:
$ ./dropbox_uploader.sh mkdir Documents/whitepapers
要完全刪除 Dropbox 中某個遠程的文件夾(包括它所含的所有內容),運行:
代碼如下:
$ ./dropbox_uploader.sh delete Documents/manuals