linux存储数据备份
移动设备的最大失败之一是将数据从设备传输到计算机的难度。 移动设备对此有着悠久的历史。 诸如Pilot和Handspring PDA设备之类的早期移动设备需要特殊的同步软件(您必须认真执行此操作,以免设备用完电池并永久丢失所有数据)。 旧的iPod需要特定于平台的界面。 现代移动设备默认将数据发送到在线帐户,因此您可以再次将其下载到计算机上。
gphoto2
命令。
gphoto2
最初是作为一种用于与数码相机进行通讯的方式而开发的,当时数码相机只是一台相机,现在gphoto2
可以与许多不同类型的移动设备进行通讯。
也不要让这个名字愚弄你。
它可以处理所有类型的文件,而不仅仅是照片。
更好的是,与大多数GUI界面相比,它具有脚本编写功能,灵活且功能强大。
如果您一直在寻找一种舒适的方法来在计算机和移动设备之间同步数据而苦苦挣扎,请查看gphoto2
。
您的Linux系统很可能已经安装了libgphoto2,因为它是与移动设备接口的密钥库。 但是,您可能必须安装命令gphoto2
,它可能可以从存储库中获得。
在Fedora或RHEL上:
$
sudo dnf
install gphoto2
在Debian或Ubuntu上:
$
sudo apt
install gphoto2
要验证您的移动设备支持,使用--list-cameras
通过管道less
:
$ gPhoto2 --list-cameras | less
或者,您也可以通过grep
通过管道搜索它。 例如,如果您有Samsung Galaxy,则使用带-i
开关的区分大小写功能的grep
:
$ gphoto2
--list-cameras
|
grep
-i galaxy
"Samsung Galaxy models (MTP)"
"Samsung Galaxy models (MTP+ADB)"
"Samsung Galaxy models Kies mode"
这证实了MTP和带有ADB的MTP支持Samsung Galaxy设备。
如果找不到您列出的设备,您仍然可以尝试使用gphoto2
,因为您的设备实际上是列表中伪装成其他品牌的东西。
要使用gPhoto2,首先必须将移动设备插入计算机,并将其设置为MTP模式,并且可能需要授予计算机权限才能与其进行交互。 这通常需要与您的设备进行物理交互,特别是在UI中按下按钮,以允许刚连接到其的计算机访问其文件系统。
如果您不让计算机访问您的手机,则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
选项查看可用的文件--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
还有其他选项,其中大多数取决于您的设备以及所使用的协议支持。
现在您知道了潜在的目标文件夹,您可以将文件从计算机上传到设备了。 例如,假设当前目录中有一个名为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
,请使用--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,再也不用再将文件从设备传输到计算机了!
翻译自: https://opensource.com/article/20/7/gphoto2-linux
linux存储数据备份