|
发表于 2021-3-8 20:11:22
31843 浏览 3 回复
常见的命令
本帖最后由 星空 于 2021-3-9 20:50 编辑
0 编译命令
0.1编译环境- source build/envsetup.sh //搭建编译环境
- //当前bash环境下读取并执行FileName中的命令
- lunch (选数字)full_len6737t_66_sh_n-userdebug //选择编译工程
复制代码 0.2 全部编译
- 全部编译 make -j24 或者 make -j24 2>&1 | tee build.log
复制代码 0.3部分编译- 1. find ./ -exec touch {} \; #当前./目录下的所有文件及子目录下的文件全部touch一遍
- 2. git status | grep modified | awk '{print $2}' | xargs -i touch {}
- #相当于把git status 里的用modified 为前缀的文件全部touch一遍
- 3. touch device/lentek/len6737t_66_sh_n/system.prop
复制代码 0.4 是否编译成功
- 在编译出来的out的目录里看
- kernel: out\target\product\len6737t_66_sh_n\obj\KERNEL_OBJ\drivers\*
- lk: out\target\product\len6737t_66_sh_n\obj\BOOTLOADER_OBJ
- pl: out\target\product\len6737t_66_sh_n\obj\PRELOADER_OBJ
复制代码 0.5更新文件后编译
0.5.1 更新文件时间
- 1. find ./ -exec touch {} \; #当前./目录下的所有文件及子目录下的文件全部touch一遍
- 2. git status | grep modified | awk '{print $2}' | xargs -i touch {}
- #相当于把git status 里的用modified 为前缀的文件全部touch一遍
- 3. touch device/lentek/len6737t_66_sh_n/system.prop
复制代码 怀疑文件是否没有编译进去,又不能加log等部分eg:摄像头效果文件替换
0.5.2 删除同名文件之后编译
- 1. find ./out/ -name "\*imx230\*" | xargs -i rm {} -rf #在out目录下删除文件名中带有"imx230"的文件
- 2. touch device/lentek/len6737t_66_sh_n/system.prop #每个工程路径不同,但大同小异
复制代码
|
|
|
|
|
|
|
|
楼主|
发表于 2021-3-8 20:16:25
本帖最后由 星空 于 2021-3-9 20:52 编辑
1 查找命令find,grep,getprop1.1 find
- 1 find ./ -type f -name linuxidc.pdf # 在./目录下,查找文件linuxidc.pdf文件
- 2 find ./ -type d -name linuxidc 目录# 在./目录下,查找linuxidc目录
- 3 #搭配rm 命令删除文件
- find ./out/ -name "*ili9881c*" | xargs -i rm {} -rf #在out目录下删除带有"ili9881c"字符的文件
- 4 #和cp搭配复制文件
- #在out目录下搜索带有字符串"APDB"字符的文件,并把他复制到 ./APDB目录
- find ./out/ -type f -name "*APDB*" | xargs -i cp {} ./APDB/
- #和上的命令相似,只是这个复制是带有目录的复制
- find ./out/ -type f -name "*APDB*" | xargs -i cp --parents {} ./APDB/
复制代码 1.2 grep
- grep -nr NEON #查找当前目录下包含关键字“NEON”的所有文件,并列出行号。NEON 后面还能跟目录
- grep -nr "文件名" 目录
- -iname 忽略大小写
复制代码 1.3getprop
查看属性
- getprop | grep apn #查看apn
- getprop | grep sim1 #查看sim
复制代码
|
|
|
|
|
|
|
|
楼主|
发表于 2021-4-12 19:57:35
本帖最后由 星空 于 2021-4-12 20:29 编辑
2 git命令
2.1 生成自己的git 公钥
- git config --global user.name 'cppdy813'
- git config --global user.email 'cppdy813@163.com'
- ssh-keygen -t rsa -C 'cppdy813@163.com'
复制代码 在得到一个这样的公钥,目录 ~/.ssh/id_rsa.pub .
钥添加到authorized_keys。添加后,服务器就会认为你这个客户端为可信任。你则可以访问这个服务器了
2.2 初始化仓库
用 git init 在目录中创建新的 Git 仓库。 你可以在任何时候、任何目录中这么做,完全是本地化的。
- $ mkdir runoob
- $ cd runoob/
- $ git init
复制代码 2.3 git 下载
使用 git clone 拷贝一个 完整Git 仓库到本地,让自己能够查看该项目,或者进行修改。
- git clone -b K602 git@192.168.0.70:mtksmart/XY5501_M0.git K602_BEAT3
复制代码 部分下载
- git pull
- <span style="color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "WenQuanYi Micro Hei", Arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);">用于从远程获取代码并合并本地的版本。</span>
复制代码 2.4 添加本地工作区,本地暂存区,远程服务区2.5 恢复
- 工作区域的修改恢复
- git checkout files 把files文件的工作区的修改删除,还原原来的文件
复制代码 2.6 杂
提交记录显示
- <span style="color: rgb(0, 0, 0); font-family: " helvetica="" neue",="" helvetica,="" verdana,="" arial,="" sans-serif;"="">git log --oneline </span><span style="color: rgb(0, 0, 0); font-family: " helvetica="" neue",="" helvetica,="" verdana,="" arial,="" sans-serif;"="">精简模式显示</span>
复制代码 得到修改的文件里的git diff
- git status | grep modified | awk '{print $2}' | xargs -i git diff
复制代码 仅查看 git commit 修改的文件名
- git show 7500152 --name-only
复制代码 吧修改的文件更新下修改时间
- git status | grep modified | awk '{print $2}' | xargs -i touch {}
复制代码
打包
- <div> $ git format-patch 56c9cd6..d8afc6b</div><div>这里是打包从56c9cd6到d8afc6b中间的patch,每一条提交记录打一个patch. </div>
复制代码
|
|
|
|
|
|
|
|
发表于 2021-4-24 10:12:09
本帖最后由 追风人 于 2021-4-24 10:20 编辑
3 其他命令3.1 cp复制
- cp -<font color="#8b0000">-parents </font>kernel-4.4/drivers/misc/mediatek/imgsensor/src/mt6763/imgsensor_sensor_list.h ./bak/
- cp --parents kernel-4.4/drivers/misc/mediatek/imgsensor/src/mt6763/rn6752m_mipi_yuv/ ./bak/ -raf
复制代码
3.2 tar 压缩解压
普通压缩解压- 解压:tar zxvf FileName.tar.gz
- 压缩:tar zcvf FileName.tar.gz DirName
-
- 解压:tar jxvf FileName.tar.bz2
- 压缩:tar jcvf FileName.tar.bz2 DirName
复制代码
大文件压缩解压
- 要将目录logs打包压缩并分割成多个1G的文件,可以用下面的命令:
- tar cjf - logs/ |split -b 1000m - logs.tar.bz2.
- 完成后会产生下列文件:
- logs.tar.bz2.aa, logs.tar.bz2.ab, logs.tar.bz2.ac
- 要解压的时候只要执行下面的命令就可以了:
- cat logs.tar.bz2.a* | tar xj
复制代码
3.3 ln 命令
ln [参数][源文件或目录][目标文件或目录]
|
|
|
|
|
|
|
登录或注册
|