Linux中國

使用 Linux 實用程序 gPhoto2 備份手機存儲

移動設備的最大缺點之一就是其將數據從設備傳輸到計算機很困難。移動設備在這一缺點上有著悠久的歷史。早期的移動設備,如 Pilot 和掌上電腦 PDA 設備,需要使用特殊的同步軟體來傳輸數據(你必須小心翼翼地做這件事,因為你的設備可能會因為電池耗盡而導致數據永久丟失);舊版 iPod 只提供特定平台的界面。現代移動設備默認將你的數據發送到在線帳戶,以便你可以在計算機上再次下載。

好消息——如果你正在運行 Linux,你可以使用 gphoto2 命令與移動設備進行連接。gphoto2 最初是作為一種與數碼相機通信的方式而開發的,那時的數碼相機只有傳統的相機功能,現在的 gphoto2 可以和許多不同種類的移動設備通訊。別讓這個名字騙了你,它可以處理所有類型的文件,而不僅僅是照片。更棒的是,它可以編寫腳本、很靈活、並且比大多數 GUI 界面功能強大得多。

如果你曾經為在計算機和移動設備之間同步數據而苦惱,請了解一下 gphoto2

安裝 gPhoto2

很可能你的 Linux 系統已經安裝了 libgphoto2,因為它是與移動設備連接的一個關鍵庫,但你可能還需要安裝命令 gphoto2,該命令可能在你的存儲庫中。

在 Fedora 或 RHEL 上:

$ sudo dnf install gphoto2

在 Debian 或 Ubuntu 上:

$ sudo apt install gphoto2

驗證兼容性

若要確認你的移動設備是否受支持,請使用 --list-cameras,通過管道傳輸到 less

$ gPhoto2 --list-cameras | less

或者你可以通過管道把它傳送到 grep 來搜索一個詞。例如,如果你有三星 Galaxy,則使用 grep,並通過選項 -i 關閉區分大小寫:

$ gphoto2 --list-cameras | grep -i galaxy
  "Samsung Galaxy models (MTP)"
  "Samsung Galaxy models (MTP+ADB)"
  "Samsung Galaxy models Kies mode"

這證實了三星 Galaxy 設備支持通過 MTP 連接和通過 ADB 連接 MTP。

如果你沒有在列表中找到自己的移動設備,你仍然可以嘗試使用 gphoto2,可能你的設備在列表中使用了不同的稱呼。

查找移動設備

要使用 gPhoto2,首先必須將移動設備插入計算機,設置為 MTP 模式,並且授予計算機與它交互的許可權。這通常需要在你的移動設備上操作,往往是在屏幕上按下一個按鈕,以允許其文件系統被剛剛連接的計算機訪問。

![Screenshot of allow access message](/data/attachment/album/202007/14/170754bykbnl4mkk6zemw1.jpg "Screenshot of allow access message")

如果你不授權電腦訪問移動設備,那麼 gPhoto2 可以檢測到你的移動設備,但它不能與之交互。

要確保計算機檢測到你連接的移動設備,請使用 --auto-detect 選項:

$ gphoto2 --auto-detect
Model                       Port
------------------------------------Samsung Galaxy models (MTP) usb:002,010

如果你的移動設備沒有被檢測到,請先檢查數據線,然後檢查你的設備是否配置為通過 MTP、ADB 或其它 gPhoto2 支持的協議連接,如 --list-cameras 所示。

查詢你的設備支持的特性

對於現代設備,通常有過多的潛在功能,但並非所有移動設備都支持這些功能。你可以用 --abilities 選項來確定自己的移動設備支持哪些功能。我覺得結果看起來直觀。

$ 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

如果只連接一個設備,那麼不需要指定查詢的設備。但是,如果連接了多個 gPhoto2 可以與之交互的設備,則可以通過埠、相機型號或 usbid 指定設備。

與你的移動設備交互

如果你的設備支持拍攝功能,則可以從計算機調用你的攝像頭來獲取媒體。例如,要拍攝照片:

$ gphoto2 --capture-image

要拍攝照片並立即將其傳輸到連接的計算機:

$ gphoto2 --capture-image-and-download

你也可以錄製視頻和聲音。如果連接了多個拍攝設備,可以按埠、相機型號或 usbid 指定要使用的設備:

$ gphoto2 --camera "Samsung Galaxy models (MTP)" 
--capture-image-and-download

文件和文件夾

要想更加智能地管理移動設備上的文件,你需要了解 gPhoto2 連接的文件系統的結構。

你可以使用 --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'.

每個文件夾代表設備上的一個存儲單元。在本例中,store_00010001 是內部存儲器,store_00020002 是 SD 卡,這可能與你的設備的結構不同。

獲取文件

現在你知道了設備的文件夾布局,就可以從設備獲取照片了。你可以使用許多不同的選項,具體取決於你想從設備中獲取什麼。

如果你知道絕對路徑,則可以獲取指定的文件:

$ 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 還有其他的選擇,其中大多數取決於你連接的設備和使用協議是否支持。

上傳文件

現在你知道了潛在的目標文件夾,就可以將文件從計算機上傳到你的設備。例如,假設有一個名為 example.epub 的文件在當前目錄中,你可以使用 --upload-file 選項和 --folder 選項將文件發送到設備並指定要上傳到的目錄:

$ gphoto2 --upload file example.epub 
--folder store_00010001

如果你希望將多個文件上傳到同一個位置,你可以在設備上創建一個目錄:

$ gphoto2 --mkdir books 
--folder store_00010001
$ gphoto2 --upload-file *.epub 
--folder store_00010001/books

列出文件

若要查看設備上的文件,請使用 --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 的大部分功能取決於你的設備,因此不同用戶的體驗可能不盡相同。在 gphoto2 --help 中列出了許多操作供你探索。使用gPhoto2,再也不用費勁把文件從你的設備傳輸到電腦上了!

這些開源圖片庫能夠幫助你組織文件,並讓的圖片看起來很棒。

via: https://opensource.com/article/20/7/gphoto2-linux

作者:Seth Kenlon 選題:lujun9972 譯者:summer2233 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國