如何使用Linux实用程序gPhoto2备份手机存储
这篇文章主要介绍了如何使用Linux实用程序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
如果你不授权电脑访问移动设备,那么 gPhoto2 可以检测到你的移动设备,但它不能与之交互。
要确保计算机检测到你连接的移动设备,请使用 --auto-detect
选项:
$ gphoto2 --auto-detectModel Port---------------------------------------Samsung Galaxy models (MTP) usb:002,010
如果你的移动设备没有被检测到,请先检查数据线,然后检查你的设备是否配置为通过 MTP、ADB 或其它 gPhoto2 支持的协议连接,如 --list-cameras
所示。
查询你的设备支持的特性
对于现代设备,通常有过多的潜在功能,但并非所有移动设备都支持这些功能。你可以用 --abilities
选项来确定自己的移动设备支持哪些功能。我觉得结果看起来直观。
$ gphoto2 --abilitiesAbilities for camera : Samsung Galaxy models (MTP)Serial port support : noUSB support : yesCapture choices : Capture not supported by driverConfiguration support : noDelete selected files on camera : yesDelete all files on camera : noFile preview (thumbnail) support: noFile 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-foldersThere are 2 folders in folder '/'. - store_00010001 - store_00020002There 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_00010001There is 1 file in folder '/store_00010001'#1 example.epub 17713 KB application/x-unknown$ gphoto2 --list-files --folder /store_00010001/booksThere is 1 file in folder '/store_00010001'#1 example0.epub 17713 KB application/x-unknown#2 example1.epub 12264 KB application/x-unknown[...]
感谢你能够认真阅读完这篇文章,希望小编分享的"如何使用Linux实用程序gPhoto2备份手机存储"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!