嗨,我需要复制/移动内容data/tombstones到sdcard/tombstones
我正在使用以下命令:
mv data/tombstones /sdcard/tombstones
"failed on 'tombstones' - Cross-device link"
Run Code Online (Sandbox Code Playgroud)
但我犯了错误.
Dhe*_*kar 36
从xda的lbcoder和androidforums的darkxuser中解释几位
"'墓碑'失败了 - 跨设备链接"
这意味着您无法在引用不同文件系统上的文件的一个设备(文件系统)上创建硬链接.
这是一个古老的unix事物.您不能使用大多数mv实现在文件系统中移动文件.mv不是为了将数据从设备复制到设备,而是简单地更改文件在分区内的位置.由于/ data和/ sdcard是不同的分区,因此它失败了.
考虑一下你自己幸运的是你有一个mv命令的SANE版本,但是没有尝试 - 一些旧版本实际上会尝试执行此操作,这将导致指向NOTHING的硬链接,并且原始数据是INACCESSIBLE.
mv命令不移动数据!它将HARDLINK移动到数据.
如果要将文件移动到其他文件系统,则需要使用"cp"命令.复制该文件以在其他文件系统上创建它的SECOND COPY,然后使用"rm"命令删除OLD.
一个简单的移动命令:
#!/bin/bash
dd if="$1" of="$2"
rm -f "$1"
Run Code Online (Sandbox Code Playgroud)
您将注意到"cp"命令返回true或false,具体取决于副本的成功完成,因此只有在文件成功复制后才会删除原始文件.
#!/bin/bash
cat data/tombstones > sdcard/tombstones
rm data/tombstones
Run Code Online (Sandbox Code Playgroud)
可以将这些脚本复制到PATH变量引用的某个位置并设置可执行文件.
如果您需要与adb不同的界面,则可以使用DDMS View中的FileExplorer移动文件.
边注:
您可以在以下情况下将文件移动到文件夹中:
root;chmod从adb或其他地方更改权限| 归档时间: |
|
| 查看次数: |
20205 次 |
| 最近记录: |