使用Linux實用程序gPhoto2備份手機(jī)存儲
盡情地拍照吧,gphoto2 能夠方便、快速地將照片從你的設(shè)備傳輸?shù)?Linux 計算機(jī)上。
移動設(shè)備的最大缺點之一就是其將數(shù)據(jù)從設(shè)備傳輸?shù)接嬎銠C(jī)很困難。移動設(shè)備在這一缺點上有著悠久的歷史。早期的移動設(shè)備,如 Pilot 和掌上電腦 PDA 設(shè)備,需要使用特殊的同步軟件來傳輸數(shù)據(jù)(你必須小心翼翼地做這件事,因為你的設(shè)備可能會因為電池耗盡而導(dǎo)致數(shù)據(jù)永久丟失);舊版 iPod 只提供特定平臺的界面?,F(xiàn)代移動設(shè)備默認(rèn)將你的數(shù)據(jù)發(fā)送到在線帳戶,以便你可以在計算機(jī)上再次下載。
好消息——如果你正在運(yùn)行 Linux,你可以使用 gphoto2
命令與移動設(shè)備進(jìn)行連接。gphoto2
最初是作為一種與數(shù)碼相機(jī)通信的方式而開發(fā)的,那時的數(shù)碼相機(jī)只有傳統(tǒng)的相機(jī)功能,現(xiàn)在的 gphoto2
可以和許多不同種類的移動設(shè)備通訊。別讓這個名字騙了你,它可以處理所有類型的文件,而不僅僅是照片。更棒的是,它可以編寫腳本、很靈活、并且比大多數(shù) GUI 界面功能強(qiáng)大得多。
如果你曾經(jīng)為在計算機(jī)和移動設(shè)備之間同步數(shù)據(jù)而苦惱,請了解一下 gphoto2
。
安裝 gPhoto2
很可能你的 Linux 系統(tǒng)已經(jīng)安裝了 libgphoto2,因為它是與移動設(shè)備連接的一個關(guān)鍵庫,但你可能還需要安裝命令 gphoto2
,該命令可能在你的存儲庫中。
在 Fedora 或 RHEL 上:
$ sudo dnf install gphoto2
在 Debian 或 Ubuntu 上:
$ sudo apt install gphoto2
驗證兼容性
若要確認(rèn)你的移動設(shè)備是否受支持,請使用 --list-cameras
,通過管道傳輸?shù)?nbsp;less
:
$ gPhoto2 --list-cameras | less
或者你可以通過管道把它傳送到 grep
來搜索一個詞。例如,如果你有三星 Galaxy,則使用 grep
,并通過選項 -i
關(guān)閉區(qū)分大小寫:
$ gphoto2 --list-cameras | grep -i galaxy
"Samsung Galaxy models (MTP)"
"Samsung Galaxy models (MTP+ADB)"
"Samsung Galaxy models Kies mode"
這證實了三星 Galaxy 設(shè)備支持通過 MTP 連接和通過 ADB 連接 MTP。
如果你沒有在列表中找到自己的移動設(shè)備,你仍然可以嘗試使用 gphoto2
,可能你的設(shè)備在列表中使用了不同的稱呼。
查找移動設(shè)備
要使用 gPhoto2,首先必須將移動設(shè)備插入計算機(jī),設(shè)置為 MTP 模式,并且授予計算機(jī)與它交互的權(quán)限。這通常需要在你的移動設(shè)備上操作,往往是在屏幕上按下一個按鈕,以允許其文件系統(tǒng)被剛剛連接的計算機(jī)訪問。
Screenshot of allow access message
如果你不授權(quán)電腦訪問移動設(shè)備,那么 gPhoto2 可以檢測到你的移動設(shè)備,但它不能與之交互。
要確保計算機(jī)檢測到你連接的移動設(shè)備,請使用 --auto-detect
選項:
$ gphoto2 --auto-detect
Model Port
---------------------------------------
Samsung Galaxy models (MTP) usb:002,010
如果你的移動設(shè)備沒有被檢測到,請先檢查數(shù)據(jù)線,然后檢查你的設(shè)備是否配置為通過 MTP、ADB 或其它 gPhoto2 支持的協(xié)議連接,如 --list-cameras
所示。
查詢你的設(shè)備支持的特性
對于現(xiàn)代設(shè)備,通常有過多的潛在功能,但并非所有移動設(shè)備都支持這些功能。你可以用 --abilities
選項來確定自己的移動設(shè)備支持哪些功能。我覺得結(jié)果看起來直觀。
$ gphoto2 --abilities
Abilities for camera : Samsung Galaxy models (MTP)
Serial port support : no
USB support : yes
Capture choices : Capture not supported by driver
Configuration support : no
Delete selected files on camera : yes
Delete all files on camera : no
File preview (thumbnail) support: no
File upload support : yes
如果只連接一個設(shè)備,那么不需要指定查詢的設(shè)備。但是,如果連接了多個 gPhoto2 可以與之交互的設(shè)備,則可以通過端口、相機(jī)型號或 usbid 指定設(shè)備。
與你的移動設(shè)備交互
如果你的設(shè)備支持拍攝功能,則可以從計算機(jī)調(diào)用你的攝像頭來獲取媒體。例如,要拍攝照片:
$ gphoto2 --capture-image
要拍攝照片并立即將其傳輸?shù)竭B接的計算機(jī):
$ gphoto2 --capture-image-and-download
你也可以錄制視頻和聲音。如果連接了多個拍攝設(shè)備,可以按端口、相機(jī)型號或 usbid 指定要使用的設(shè)備:
$ gphoto2 --camera "Samsung Galaxy models (MTP)" \
--capture-image-and-download
文件和文件夾
要想更加智能地管理移動設(shè)備上的文件,你需要了解 gPhoto2 連接的文件系統(tǒng)的結(jié)構(gòu)。
你可以使用 --get-folders
選項查看可用文件夾:
$ gphoto2 --list-folders
There are 2 folders in folder '/'.
- store_00010001
- store_00020002
There are 0 folders in folder '/store_00010001'.
There are 0 folders in folder '/store_00020002'.
每個文件夾代表設(shè)備上的一個存儲單元。在本例中,store_00010001
是內(nèi)部存儲器,store_00020002
是 SD 卡,這可能與你的設(shè)備的結(jié)構(gòu)不同。
獲取文件
現(xiàn)在你知道了設(shè)備的文件夾布局,就可以從設(shè)備獲取照片了。你可以使用許多不同的選項,具體取決于你想從設(shè)備中獲取什么。
如果你知道絕對路徑,則可以獲取指定的文件:
$ gphoto2 --get-file IMG_0001.jpg --folder /store_00010001/myphotos
你可以同時獲得所有的文件:
$ gphoto2 --get-all-files --folder /store_00010001/myfiles
你可以只獲取音頻文件:
gphoto2 --get-all-audio-data --folder /store_00010001/mysounds
gPhoto2 還有其他的選擇,其中大多數(shù)取決于你連接的設(shè)備和使用協(xié)議是否支持。
上傳文件
現(xiàn)在你知道了潛在的目標(biāo)文件夾,就可以將文件從計算機(jī)上傳到你的設(shè)備。例如,假設(shè)有一個名為 example.epub
的文件在當(dāng)前目錄中,你可以使用 --upload-file
選項和 --folder
選項將文件發(fā)送到設(shè)備并指定要上傳到的目錄:
$ gphoto2 --upload file example.epub \
--folder store_00010001
如果你希望將多個文件上傳到同一個位置,你可以在設(shè)備上創(chuàng)建一個目錄:
$ gphoto2 --mkdir books \
--folder store_00010001
$ gphoto2 --upload-file *.epub \
--folder store_00010001/books
列出文件
若要查看設(shè)備上的文件,請使用 --list-files
選項:
$ gphoto2 --list-files --folder /store_00010001
There is 1 file in folder '/store_00010001'
#1 example.epub 17713 KB application/x-unknown
$ gphoto2 --list-files --folder /store_00010001/books
There is 1 file in folder '/store_00010001'
#1 example0.epub 17713 KB application/x-unknown
#2 example1.epub 12264 KB application/x-unknown
[...]
探索你的使用方式
gPhoto2 的大部分功能取決于你的設(shè)備,因此不同用戶的體驗可能不盡相同。在 gphoto2 --help
中列出了許多操作供你探索。使用gPhoto2,再也不用費勁把文件從你的設(shè)備傳輸?shù)诫娔X上了!
這些開源圖片庫能夠幫助你組織文件,并讓的圖片看起來很棒。