linux存储数据备份

移动设备的最大失败之一是将数据从设备传输到计算机的难度。 移动设备对此有着悠久的历史。 诸如Pilot和Handspring PDA设备之类的早期移动设备需要特殊的同步软件(您必须认真执行此操作,以免设备用完电池并永久丢失所有数据)。 旧的iPod需要特定于平台的界面。 现代移动设备默认将数据发送到在线帐户,因此您可以再次将其下载到计算机上。

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通过管道搜索它。 例如,如果您有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存储数据备份

linux存储数据备份_使用此Linux实用程序备份手机的存储空间相关推荐

  1. linux删除用户所有信息_如何在Linux上删除用户(以及删除所有跟踪)

    linux删除用户所有信息 Fatmawati Achmad Zaenuri/ShutterstockFatmawati Achmad Zaenuri / Shutterstock Deleting ...

  2. linux 企业邮件服务器_什么是Linux服务器,为什么您的企业需要一个?

    linux 企业邮件服务器 IT组织努力通过提高生产率和提供服务的速度来交付业务价值,同时保持足够的灵活性以结合云,容器和配置自动化等创新技术. 无论是在裸机,虚拟机,容器,私有云还是公共云上运行的现 ...

  3. linux设置环境变量_什么是linux环境变量

    本来这篇文章好几天之前就写好了,但是媳妇儿跟我说工作日就不要发了,大家都在上班,哪有闲心思看你的文章.哎,可能大家用头条都是在放松刷娱乐,看小姐姐.所以就一直拖到现在.周末了,更是放松的好时候,葛优躺 ...

  4. linux mint 图标主题_如何在 Linux Mint 中更换主题

    一直以来,使用 Cinnamon 桌面环境的 Linux Mint 都是一种卓越的体验.这也是为何我喜爱 Linux Mint的主要原因之一. -- It's Foss(作者) 一直以来,使用 Cin ...

  5. linux用户名是什么_什么是Linux用户?

    linux用户名是什么 编者注:本文于2019年6月11日下午1:15:19更新,以更准确地反映作者对Linux社区开放,包容的实践社区的观点. 在短短两年内,Linux内核将使用30年. 考虑一下! ...

  6. 阿里云 mysql 导出数据库备份_导出整个mysql数据库备份

    mysql和mssql的备份和恢复数据的方法 mysql数据库的备份方法可以用 导出要用到MySQL的mysqldump工具,基本用法是: shell> mysqldump [OPTIONS] ...

  7. mysql数据库备份自动备份_设置mysql数据库自动备份

    由于项目需要,在windows下的mysql实现数据库自动备份.经资料查询和尝试,得出方法有两种: 1.使用windows自带的任务计划,然后定时执行一个数据库备份的脚本. 2.使用mysql管理工具 ...

  8. linux代理过载命令_我们基于Linux的机器人的未来,数据过载和管理以及更多新闻

    linux代理过载命令 在本周的开源新闻摘要中,我们将介绍Linux驱动的机器人无人机,用于数据过载和数据管理的开源软件,以及更多内容. 2016年2月7日至12日的开源新闻摘要 我们基于Linux的 ...

  9. centos mysql导出数据库命令_在centos(linux)下用命令导出mysql数据库数据

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

最新文章

  1. linux下多线程的调试
  2. 【MM配置】Batch Determination 批次决定
  3. win系统下mysql忘记root账户密码的解决办法
  4. manjaro Linux调节屏幕显示亮度
  5. css布局:块级元素的居中
  6. Samba简单应用案例
  7. 关于二进制兼容(二进制边界)的解释
  8. asp.net Dock布局开发设置
  9. 说说ejabberd离线消息踩过的坑
  10. tomato(番茄)固件的简单设置截图
  11. Android内存泄漏检测工具大全
  12. 4、JVM垃圾回收机制
  13. android模拟器 不能启动不了,Android模拟器启动不了解决办法
  14. 最萌吸血鬼猎人,螺旋猫COS『BLOOD C』更衣小夜
  15. swift [Application] The app delegate must implement the window property if it wants to use a main 报错
  16. 「Python」面向对象封装案例3——士兵突击(需求分析、代码演练)
  17. Android 面试之20个常见 APP 架构常见面试题~
  18. 内网穿透工具natcross2
  19. qmail Vpopmail And sqwebmail HOWTO
  20. 用Python实现自动化测试

热门文章

  1. Path Aggregation Network for Instance Segmentation
  2. OmniAnomaly
  3. 【5G】5G源于什么?
  4. 知识大爆炸时代的解决方案
  5. java开发的代码规范
  6. Vue进阶(幺肆伍):Vue-elementUI实现操作栏位更多效果
  7. 高云FPGA初体验-LED流水灯实验
  8. 【ESP32学习笔记】#外设篇#(3)串口通信(UART)
  9. Windows x86 环境 虚拟机 安装银河麒麟V10 arm架构系统
  10. ultimate grid_Ultimate Kubernetes资源规划指南