杂七杂八----常用命令

在命令行中通过adb shell am broadcast发送广播通知

打印apk 的信息 aapt dump badging Phone.apk 

make showcommands
make printconfig

编译android.jar:

lunch sdk-eng

make sdk

 
进入xxx目录:
. t6.sh
脚本中的命令为cd xxx,注意必须要写"." 和空格,要不脚本执行后不会进入该目录的。
 
    网卡配置
ifconfig eth0 192.192.192.77
route add default gw 192.192.192.101
    挂载SDcard
mount -t vfat /dev/block/mmcblk0p1 /sdcard
setprop EXTERNAL_STORAGE_STATE mounted
am broadcast -a android.intent.action.MEDIA_MOUNTED --ez read-only false -d file:///sdcard
cd /sdcard
cat /dev/graphics/fb0 > a1
 
repo的使用:
查看可切换的分支
cd .repo/manifests
git branch -a | cut -d / -f 3
以 gingerbread-release 分支为例
repo init -b gingerbread-release
repo sync (not needed if your local copy is up to date)
repo start gingerbread-release --all
查看当前的分支
repo branches
 
打patch和应用patch:
git diff commit1 commit2> patchfile
patch -p1 < patchfile
打补丁前需要查看patch中文件的路径。如果该路径刚好在当前目录下,则用-p0,否则需要用-p<N>来去掉路径前的N个slash(/)
patch -p0 < xxx.patch
git format-patch
1. 两个commit间的修改(包含两个commit)
git format-patch <r1>..<r2>
2. 单个commit
git format-patch -1 <r1>
3. 从某commit以来的修改(不包含该commit)
git format-patch <r1>
=========git常用命令============
git revert HEAD 利用新的提交来取消某条提交。
git reset --hard commitid
git commit --amend 添加到上一次提交中
git show 查看修改。
git apply patch 应用patch
git format-patch HEAD^^^
git format-patch commitID
获取代码:
git clone gerrit:8930a1.git  && scp gerrit:hooks/commit-msg
git remote相关命令

1cd 8930a4; git remote -v(可以看到origin指向gerrit:8930a4

2) git remote add ancient gerrit:8930a3(添加ancient指向gerrit:8930a3)

3) git remote update ancient

4)git cherry-pick md5(md5可以通过gerrit verify页面获取,如果代码还在review中,也试用)

5git ci --amend(完善提交人的信息)

 

这样的好处既在新库上提交了老库的更改(保留老库的作者信息),又增加了新库上提交人信息。

 

git操作:

git init #初始化

git clone #将远程项目拷贝到本地


git add # 提交文件更改(修改和新增)

git commit # 基于当前分支提交修改

git reset # 去除某个提交之后的一切提交记录

git log # 查看当前分支下的某个提交记录

git whatchanged # 查看更详细的提交记录,可以看到具体哪些文件做了修改


git status # 查看当前状态


git checkout # 切换分支或者回滚到某个提交


git branch # 创建或查看分支

git merge # 合并目标分支到当前分支

===========git提交代码============
代码无法提交。提示用户名不正确。修改了用户名,仍然提示该信息。
因为在commit信息中有用户名信息,没有修改,重新commit即可解决。
 
-rwsr-xr-x 权限 06755
修改文件所属用户:chown
chown root.root test.log  
 
实现eclipse通过应用过滤日志:
adb logcat |  grep `adb shell ps |  grep system_server |  awk '{print $2}'`
用命令dump heap
am dumpheap 5024 /data/dump.hprof
am dumpheap pid filename
hprof-conv dump.hprof converted-dump.hprof  转换格式。
再通过eclipse 的内存分析工具打开。
可以写一个脚本,定时dump内存信息,但是执行过程中会影响机器性能,很容易让机器崩溃。
 
查看某个进程的文件句柄 ls /proc/`ps |busybox grep system_server|busybox awk '{ print $2 }'`/fd|busybox wc
循环执行:
for pid in `ps |busybox awk '{ print $2 }'`
do
echo $pid `ls /proc/$pid/fd | busybox wc`
done
cut:剪切命令:
例如,date   Fri Mar 15 12:05:28 CST 2013
date| busybox cut -d " " -f 1-2,4   Fri Mar 12:08:23    
-d " "通过空格截取,-f,选取第几个字段。
 
获取每个进程的fd数量
for pid_name in `ps |busybox awk '{ print $2","$9 }'`
do
pid=`echo $pid_name|busybox cut  -d "," -f 1`
pname=`echo $pid_name|busybox cut  -d "," -f 2`
echo $pname $pid
ls /proc/$pid/fd | busybox wc
done
 
 
1. set命令可以显示出当前shell下所有全局参量定义及其值;
sed -i 's/AAA/BBB/g' `grep -l AAA ./`(注意这里的``号,为~下边的那个符号)  或者 grep -l ddd ./*|xargs sed -i 's/ddd/$$$$/g'
sed: no input files,需要把-i去掉,但不会修改文件。只会输出结果。
grep -rl AAA ./                                #只列出包含AAA字符串的文件名字。
2. 查找并删除当前目录下小文件
find . -type f -size -10k -exec rm {} \;
说明:
-type f 查找文件
-size -10k,
小于10k的。"+"是表示要求系统只列出大于指定大小的文件,而使用"-"则表示要求系统列出小于指定大小的文件。
3. 遍历文件夹grep一个字符串
find . -name "*c" | xargs grep "strings"

在当前文件夹下所有c文件中查找字符串“string”

4. 在某目录下文件中查找某字符串
grep -r youcode dir
例如:查找home下文件中查找hello
grep -r hello /home

例如:在当前所有目录下文件中查找hello,不区分大小写
grep -ir hello .

体验下grep命令的强大吧,最最常用的命令

grep --include=*.xml --exclude-dir=./out/* -rin -C 5 TEST ./*

不懂就去找那个男人吧~~ man grep



minor fault是软缺页,延迟一般
major fault是硬缺页,延迟很大
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值