一.find命令
基本格式:find path expression
1.按照文件名查找
(1)find / -name httpd.conf #在根目录下查找文件httpd.conf,表示在整个硬盘查找
(2)find /etc -name httpd.conf #在/etc目录下文件httpd.conf
(3)find /etc -name ‘srm’ #使用通配符*(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串‘srm’的文件
(4)find . -name ‘srm*’ #表示当前目录下查找文件名开头是字符串‘srm’的文件
2.按照文件特征查找
(1)find / -amin -10 # 查找在系统中最后10分钟访问的文件(access time)
(2)find / -atime -2 # 查找在系统中最后48小时访问的文件
(3)find / -empty # 查找在系统中为空的文件或者文件夹
(4)find / -group cat # 查找在系统中属于 group为cat的文件
(5)find / -mmin -5 # 查找在系统中最后5分钟里修改过的文件(modify time)
(6)find / -mtime -1 #查找在系统中最后24小时里修改过的文件
(7)find / -user fred #查找在系统中属于fred这个用户的文件
(8)find / -size +10000c #查找出大于10000000字节的文件(c:字节,w:双字,k:KB,M:MB,G:GB)
(9)find / -size -1000k #查找出小于1000KB的文件
二、grep命令
基本格式:find expression
1.主要参数
[options]主要参数:
-c:只输出匹配行的计数。
-i:不区分大小写
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
pattern正则表达式主要参数:
\: 忽略正则表达式中特殊字符的原有含义。
^:匹配正则表达式的开始行。
$: 匹配正则表达式的结束行。
\<:从匹配正则表达 式的行开始。
>:到匹配正则表达式的行结束。
[ ]:单个字符,如[A]即A符合要求 。
[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
.:所有的单个字符。
* :有字符,长度可以为0。
2.实例
(1)grep ‘test’ d* #显示所有以d开头的文件中包含 test的行
(2)grep ‘test’ aa bb cc #显示在aa,bb,cc文件中包含test的行
(3)grep ‘[a-z]{5}’ aa #显示所有包含每行字符串至少有5个连续小写字符的字符串的行
(4)grep magic /usr/src #显示/usr/src目录下的文件(不含子目录)包含magic的行
(5)grep -r magic /usr/src #显示/usr/src目录下的文件(包含子目录)包含magic的行
(6)grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’),
三、adb命令
ubuntu下adb安装:apt-get install android-tools-adb
通过adb安装apk
1.adb root
2.adb remount
3.adb push apk全路径 system/app
或
adb install -r apk全路径” 强制安装,完成后需执行adb reboot或者kill应用重启。
四、git命令
git配置文件
/etc/gitconfig: 所有用户普遍适用的、系统的,git config –system选项
~/.gitconfig: 只适用该用户, git config –global选项
.git/config当前项目.git目录中,只适用当前项目, .git/config
每一层都覆盖上一层,也就是优先级 .gitconfig < ~/.gitconfig < /etc/gitconfig
切换分支
git branch -a 查看这个版本的分支
git checkout -b FWS920_b1 origin/FWS920_b1 创建一个新的分支并切换到新的分支上面
git checkout FWS920 切换到FWS920这个分支下面
git branch -D FWS920 删除FWS920这个分支(不能在该分支下面进行该操作)
提交代码流程
git pull 更新本地分支
git status 查看修改状态
git add . 提交新添加的所有文件
git commit -m “注释” 代码提交到本地
git push master HEAD:refs/for/master 提交到服务器
还原修改
git checkout – 文件整个路径 还原文件
git reset –hard 还原所有修改
git reset –soft HEAD^ 提交commit发现有问题之后还原到未修改之前的状态
删除未被追踪的文件
git clean -df 删除文件和目录(删除git status命令中所有untracked file,包括文件和目录)
-f 删除文件,
-df 删除文件和目录
git clean -dn 这个命令可以看看有哪此文件和目录会被删
-n 显示将要删除的文件和目录
保存修改
git stash 保存当前修改
git stash list 显示暂存列表
git stash apply 恢复暂存列表最上面的一个
git stash apply stash@2 恢复指定暂存
git stash clear 清除stash
修改配置
git config –global core.editor vim 修改默认文本编辑器
git config –global commit.template $HOME/.gitmessage.txt 修改提交模板
git config –global user.name “John Doe” 配置用户名
git config –global user.email [email protected] 配置邮件地址
对比文件
git difftool “文件名” 和服务器的该文件进行对比(文件名要路径)
git difftool HEAD 直接和服务器代码进行对比(所有代码)
其它
gedit .git/info/exclude 查看修改状态时的过滤文件
gitk 打开版本控制界面
git log 查看版本最新状况(谁提交的)
五、 repo指令
切换分支
repo init -m 项目路径((如果是新建目录,repo init -u 项目路径))
repo sync
repo start i800v –all
repo list 可以查看repo所管理的projects
repo status 可以查看本地修改的文件
repo branch 可以查看每一个project所有的分支名称
repo start 创建本地的工作分支,比如:repo start 分支名 –all为所有project创建分支,repo start 分支名 kernel 为kernel project创建分支名
repo abandon 删除分支,用法和start差不多。比如:已经为kernel project创建了JB分支,用repo abandon JB kernel 命令,可以删除kernel project中的JB分支。如果执行repo abandon JB –all就会删除所有project上面名字为JB的分支。执行完repo abandon后,project会工作在no branch状态,还需手工start一个分支。
repo forall 为所有project执行命令。比如:repo forall -c git tag XXXX_XXX_V1.0_SH 代表为每一个project加入tag
repo init 初始化repo库,-u 代表url,-b代表branch,-m 代表manifest文件。比如:repo init -u gitserver:manifests.git -m i800JB.xml 代表的是从gitserver服务器上的manifests.git库中,选择i800JB.xml作为manifest文件。
这里没有-b,是由于目前所建立的manifests.git库中,仅有一个master分支。没有-b选项,默认是从manifests.git库的HEAD指针处取得manifest文件
如果没有-m选项,则代表使用的默认的manifest文件,默认的文件名称为default.xml
repo overview 查看project里面没有提交的记录。
repo upload 的时候,请用repo upload –re=REVIEW人员,系统会自动发邮件告知REVIEW人员