当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 9 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 如何将特定文件名的文件复制到新目录,并且保留原有的目录结构?
帖子发表于 : 2013-03-09 20:27 

注册: 2013-03-09 20:19
帖子: 5
送出感谢: 0 次
接收感谢: 0 次
其实是Android的问题,但是由于读取系统区文件有权限限制,必须用root权限以linux命令或者shell脚本形式复制。

比如有这样地址的db文件多个 /data/data/packagename/databases/webview.db 其中的packagename是包名,不固定,有多个

代码:
cp -r /data/data/*/databases/webview.db /sdcard/test


这样直接复制的话,由于目的文件夹是唯一的,最终生成的只有一个webview.db,一直在重复读写了,对Linux命令不是很熟悉,想请教下,有没有方法,保留原有的目录结构,即/sdcard/test/*/databases/webview.db 以这种形式生成新目录,或者直接将文件名改名后放到同个目录也可以,主要想在APP中实现提取webview.db文件进行分析。


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 如何将特定文件名的文件复制到新目录,并且保留原有的目录结构?
帖子发表于 : 2013-03-09 20:46 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 274
mkdir -p 先。你这样的要求,基本要自己处理。
不会是adb操作吧。难说那系统带的tinybox,支持-p参数。你试试。


_________________
● 鸣学


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 如何将特定文件名的文件复制到新目录,并且保留原有的目录结构?
帖子发表于 : 2013-03-09 20:53 

注册: 2013-03-09 20:19
帖子: 5
送出感谢: 0 次
接收感谢: 0 次
eexpress 写道:
mkdir -p 先。你这样的要求,基本要自己处理。
不会是adb操作吧。难说那系统带的tinybox,支持-p参数。你试试。


抱歉哈,对Linux命令不大熟悉,昨晚遇到的这个问题,然后今天各种查书,还是解决不了,可能要求有点小过分哈~
试过 cp -p ,似乎没有太大的作用,效果还是一样的,都是说 -p 是可以保留目录结构的,但是我这边实测了下,没有效果,不知道是不是Android系统的问题

由于我这个APP是在root之后机子上使用,大部分root后的Android都会装busybox,集成了基本的Linux命令,就是苦于不会用。


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 如何将特定文件名的文件复制到新目录,并且保留原有的目录结构?
帖子发表于 : 2013-03-09 20:56 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 274
代码:
NAME
       mkdir - make directories

SYNOPSIS
       mkdir [OPTION]... DIRECTORY...


-p, --parents
              no error if existing, make parent directories as needed


我说的是这个-p。需要自己提取目录,然后mkdir,然后cp。通常是写一个脚本。

另外,你备份db这些文件,没啥意义啊。有好多app,支持备份系统设置的。不需要cli自己搞。


_________________
● 鸣学


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 如何将特定文件名的文件复制到新目录,并且保留原有的目录结构?
帖子发表于 : 2013-03-09 21:03 

注册: 2013-03-09 20:19
帖子: 5
送出感谢: 0 次
接收感谢: 0 次
eexpress 写道:
代码:
NAME
       mkdir - make directories

SYNOPSIS
       mkdir [OPTION]... DIRECTORY...


-p, --parents
              no error if existing, make parent directories as needed


我说的是这个-p。需要自己提取目录,然后mkdir,然后cp。通常是写一个脚本。

另外,你备份db这些文件,没啥意义啊。有好多app,支持备份系统设置的。不需要cli自己搞。


额,不是备份啦,其实是想提取到普通数据区,然后用java代码进行一些数据上的分析,因为原数据库直接用java没有权限读取,只能先复制出来在分析处理了~


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 如何将特定文件名的文件复制到新目录,并且保留原有的目录结构?
帖子发表于 : 2013-03-10 0:01 

注册: 2013-03-09 20:19
帖子: 5
送出感谢: 0 次
接收感谢: 0 次
最后还是自己实现了,分享下,先提取文件打包到数据区,然后解压即可~完整的保存了原始目录结构,并且只提取了每个目录下相应的webview.db文件~~都怪对linux命令不熟悉啊~~ :em06


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 如何将特定文件名的文件复制到新目录,并且保留原有的目录结构?
帖子发表于 : 2013-03-10 5:15 

注册: 2007-07-01 17:36
帖子: 229
地址: (En):address
系统: (En):System
送出感谢: 2
接收感谢: 3
要保留原来目录结构的复制,可以考虑用tar.


_________________
---
regards,

Kent


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 如何将特定文件名的文件复制到新目录,并且保留原有的目录结构?
帖子发表于 : 2013-03-10 11:54 

注册: 2013-03-09 20:19
帖子: 5
送出感谢: 0 次
接收感谢: 0 次
sk1418 写道:
要保留原来目录结构的复制,可以考虑用tar.


是的,昨晚已经自行尝试用tar实现了,thank you~ :em01


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 如何将特定文件名的文件复制到新目录,并且保留原有的目录结构?
帖子发表于 : 2013-03-12 21:59 

注册: 2008-05-24 8:30
帖子: 1453
送出感谢: 2
接收感谢: 30
cmjman 写道:
最后还是自己实现了,分享下,先提取文件打包到数据区,然后解压即可~完整的保存了原始目录结构,并且只提取了每个目录下相应的webview.db文件~~都怪对linux命令不熟悉啊~~ :em06

可以一个管道解决的。

cd /data/data
代码:
tar c */databases/webview.db | tar Cxv /sdcard/test


另一个适合这种工作的工具是 cpio


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 9 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译