常用 系统命令及备忘

1、find与xargs结合:

# ls | xargs rm -f (用xargs传参长度无限制)

find . -name "*.*" -type f -print | xargs grep "hostnames"

# find . -path "/path/to/what" -prune -o -print (忽略/path/to/what目录)


2、grep

grep "" -r ./*

3、find

find -name *-*

4、Adb

1. 和手机连接,需要以root身份启动adb server(两种方法)
    a. 用root登录
    b. adb kill-server;sudo adb start-server
2. 有多个设备时(多个emulator或者手机和PC链接)
     adb -s device-name 用-s指明要操作的设备
3. adb devices 列出和PC链接的设备
4. adb shell登录emulator或者手机后,
    getprop 命令可以获取系统的设置项,setprop 命令可以动态改变设置项,改变后可以stop,start一下重新启动emulator。
(这些项是在编译脚本里面设定,并生成一个或者多个系统文件放到文件系统里面的,emulator/手机启动后,
Property_service.c启动将系统设置从这些文件中读出保存在RAM中,JAVA应用可以通过SystemProperties.get()来获取感兴趣的设置。

   Stop/start: 可以重启android 系统,即zygote 进程重新启动,android环境重新启动;

   adb shell的常用命令
1)alias ll=“ls -l” #将ls -l 重定义为 ll,方便使用
2)chown system.system file.db #修改owner,注意分隔符是“.”, 而linux用的是“:”
5. adb remount功能的使用
   Img文件down到手机以后,/system,/data等重要目录都是readonly的,为了便于调试某个app或者替换手机里面的某个配置文件(比如bootanimation.zip 等)
   最方便的方法是让/system,/data等目录可以写,这样就可以用adb push 往手机里面传文件了。可以用adb remount命令实现这个功能。
 
   Adb remount
   Adb push out/target/product/huaqin73_gb/system/framework/framework.jar /system/framework
   Adb shell
   Stop
   Start #替换系统的文件或者后台的app后,需要重启一下android环境
6. adb remount permission denied问题解决
原因:
1). adb权限受ro.secure这个属性控制,ro.secure =1 时adb权限受限,很多功能不能使用。 该属性在手机根目录的default.prop文件中
   手机根目录, 也即root文件系统和kernel一起打包在在boot.img中。

2). ro.secure 这个值在编译时受user_variant控制(参考Main.mk文件),在本地编译时user_variant为空,ro.secure = 0; 在SCM servere上编译时user_variant不为空(在提交版本发布请求时,人为填了一个值),ro.secure=1

解决方法如下:
1). 在本地用最新的代码编译bootimage
    ./mk bootimage
2). 用flashtools 单独下载本地编译生成的bootimage(boot.img)
3). 重启,即可 


你可能感兴趣的:(常用 系统命令及备忘)