Ubuntu 22.04.4 LTS下通过MTP连接手机重命名文件报“Input/output error”的解决方法
Ubuntu 22.04.4 LTS下通过MTP连接手机重命名文件报“Input/output error”的解决方法
Hey,我太懂你这个困扰了——在Ubuntu 22.04.4上用mv命令操作MTP连接的OnePlus手机文件时,居然碰上个Input/output error对吧?这可不是你命令写错了,问题出在MTP文件系统本身:它不是传统的POSIX文件系统,咱们常用的mv这类标准命令根本没法直接和它交互,得用GNOME专门适配的gio工具才行。
给你几个靠谱的解决步骤:
用
gio move替代mv完成重命名- 方式一:使用MTP URI路径(更推荐)
这种路径格式直接指向MTP设备,不容易受挂载点变动影响:gio move --verbose "mtp://OnePlus_OnePlus_645cea20/Internal%20shared%20storage/Files/test.kdbx" "mtp://OnePlus_OnePlus_645cea20/Internal%20shared%20storage/Files/test.kdbx.old" - 方式二:使用gvfs挂载路径
如果你习惯用/run/user/1000/gvfs/...的挂载路径,直接替换命令前缀就行:gio move --verbose "/run/user/1000/gvfs/mtp:host=OnePlus_OnePlus_645cea20/Internal shared storage/Files/test.kdbx" "/run/user/1000/gvfs/mtp:host=OnePlus_OnePlus_645cea20/Internal shared storage/Files/test.kdbx.old"
- 方式一:使用MTP URI路径(更推荐)
一步完成重命名+移动到备份文件夹
如果你的目标是把旧文件移到备份目录并改名,不用分两步,直接用gio move指定最终路径就行:gio move --verbose "mtp://OnePlus_OnePlus_645cea20/Internal%20shared%20storage/Files/test.kdbx" "mtp://OnePlus_OnePlus_645cea20/Internal%20shared%20storage/Files/Backup/test.kdbx.old"小提示
- 路径里有空格的话,要么用引号把整个路径括起来,要么把空格转成
%20(在URI格式里),避免命令解析出错; - 如果之前用
gio move还是报错,先检查路径是否完全正确——比如设备名称、文件夹拼写有没有错,毕竟MTP路径很容易因为小细节出问题。
- 路径里有空格的话,要么用引号把整个路径括起来,要么把空格转成
备注:内容来源于stack exchange,提问作者HighlandRat
相关产品推荐
相关产品推荐

