工作笔记(杂乱无章的东西)

2014.01.10
1、linux下查找文件的比较常用的命令

find:举例 查找某个目录下的某个文件 查找/work目录下的envsetup.sh文件的方法
# find /work -name envsetup.sh
which :用于查找可执行文件(命令)的位置 
# which ls
/bin/ls

还有一个查找某个文件中的某个字符的命令
grep:
# grep 'hello' hell.c
就是查找hell.c文件中含有字符'hello'的那一行
# grep -nr  "hello" ./
这个是查找当前目录下的文件中所有含有”hello“的字符列出来

2、.sh文件(shell脚本文件)的执行方式不同,效果也不同。
如果用sh执行,则实质上是新的bash环境在执行.sh这个文件
#sh envsetup.sh
执行完后在原来的bash环境里相当于没有执行这个文件
#source envsetup.sh
这个执行完后才会修改本bash环境的相应参数等。才会生效

3、
repo的用法(zz)
注:repo只是google用Python脚本写的调用git的一个脚本,主要是用来下载、管理Android项目的软件仓库。(也就是说,他是用来管理给git管理的一个个仓库的)
下载 repo 的地址: http://android.git.kernel.org/repo ,可以用以下二者之一来下载repo
wget http://android.git.kernel.org/repo 
或者 
curl http://android.git.kernel.org/repo >~/bin/repo  
下载完成后须修改repo的权限: chmod a+x ~/bin/repo 
用repo sync 在抓去 android source code 的时候,会经常出现一些错误导致 repo sync中断,每次都要手动开始。 可以用如下的命令,来自动重复
$?=1; 
while [ $? -ne 0 ] ; 
do  repo sync ; 
done
获取帮助:
repo help [ command ]   //显示command的详细的帮助信息内容
示例: repo help init 来获取 repo init 的其他用法
repo init -u URL 用以在当前目录安装 repository ,会在当前目录创建一个目录 ".repo" -u 参数指定一个URL, 从这个URL 中取得repository 的 manifest 文件。  
示例:repo init -ugit://android.git.kernel.org/platform/manifest.git
获取的manifest文件放在.repo目录中。命名为manifest.xml。这个文件的内容其实就是所有被git管理的仓库的列表!
可以用 -m 参数来选择获取 repository 中的某一个特定的 manifest 文件,如果不具体指定,那么表示为默认的namifest 文件 (default.xml)
repo init -u git://android.git.kernel.org/platform/manifest.git-m dalvik-plus.xml
(有诸多供我们选择的manifest文件,所有的manifest文件都放在目录.repo/manifests中,该目录本身亦被git所管理,你可以cd进去看看)
可以用 -b 参数来指定某个manifest 分支。
repo init -u git://android.git.kernel.org/platform/manifest.git-b release-1.0
你会发现.repo/manifests是个被git管理的仓库,这里放的是所有的manifest文件(*.xml),因为被git管理,固然有分支,-b可以切换到你想要的分支然后再下载相关的xml文件,当然具体下载那个xml还要看-m参数了,所以如果你仅仅指定-b而没有-m的话,就是下载-b指定分支下的default.xml文件
如果不指定-b参数,那么会默认使用master分支
4. repo sync [project-list]
下载最新本地工作文件,更新成功,这本地文件和repository 中的代码是一样的。 可以指定需要更新的project ,如果不指定任何参数,会同步整个所有的项目。
如果是第一次运行 repo sync , 则这个命令相当于 git clone ,会把 repository中的所有内容都拷贝到本地。 如果不是第一次运行 repo sync , 则相当于 git remote update ; git rebase origin/branch .  reposync 会更新 .repo 下面的文件。 如果在merge 的过程中出现冲突, 这需要手动运行 git  rebase --continue

2014 03 11

抓取adb logcat的一个脚本文件

#!/bin/bash
adb shell ps | grep com.android.contacts.common > ./log
PID=$(cat log | awk '{print $2}')
adb shell cat /proc/$PID/maps

非常好的关于kernel开发的文章

http://blog.coly.li/?p=261

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值