搜索

34

主题

52

帖子

542

积分

版主

Rank: 7Rank: 7Rank: 7

积分
542
发表于 2021-3-8 20:11:22 1230 浏览 3 回复

常见的命令

本帖最后由 星空 于 2021-3-9 20:50 编辑

0 编译命令
0.1编译环境
  1. source build/envsetup.sh          //搭建编译环境
  2. //当前bash环境下读取并执行FileName中的命令
  3. lunch    (选数字)full_len6737t_66_sh_n-userdebug   //选择编译工程
复制代码
0.2  全部编译
  1. 全部编译   make  -j24     或者 make -j24 2>&1 | tee build.log
复制代码
0.3部分编译
  1. 1. find ./  -exec touch {} \;  #当前./目录下的所有文件及子目录下的文件全部touch一遍
  2. 2. git status | grep modified | awk '{print $2}'  | xargs -i touch {}
  3.    #相当于把git status 里的用modified 为前缀的文件全部touch一遍
  4. 3. touch device/lentek/len6737t_66_sh_n/system.prop
复制代码
0.4 是否编译成功
  1. 在编译出来的out的目录里看
  2. kernel: out\target\product\len6737t_66_sh_n\obj\KERNEL_OBJ\drivers\*
  3. lk:     out\target\product\len6737t_66_sh_n\obj\BOOTLOADER_OBJ
  4. pl:     out\target\product\len6737t_66_sh_n\obj\PRELOADER_OBJ
复制代码
0.5更新文件后编译
0.5.1 更新文件时间
  1. 1. find ./  -exec touch {} \;  #当前./目录下的所有文件及子目录下的文件全部touch一遍
  2. 2. git status | grep modified | awk '{print $2}'  | xargs -i touch {}
  3.    #相当于把git status 里的用modified 为前缀的文件全部touch一遍
  4. 3. touch device/lentek/len6737t_66_sh_n/system.prop
复制代码
怀疑文件是否没有编译进去,又不能加log等部分eg:摄像头效果文件替换
0.5.2 删除同名文件之后编译
  1. 1. find ./out/ -name "\*imx230\*" | xargs -i rm {}  -rf   #在out目录下删除文件名中带有"imx230"的文件
  2. 2.  touch device/lentek/len6737t_66_sh_n/system.prop #每个工程路径不同,但大同小异  
复制代码















回复

使用道具 举报

34

主题

52

帖子

542

积分

版主

Rank: 7Rank: 7Rank: 7

积分
542
 楼主| 发表于 2021-3-8 20:16:25
本帖最后由 星空 于 2021-3-9 20:52 编辑

1 查找命令find,grep,getprop1.1 find
  1. 1 find ./ -type f -name linuxidc.pdf  # 在./目录下,查找文件linuxidc.pdf文件
  2. 2 find ./ -type d -name linuxidc  目录# 在./目录下,查找linuxidc目录
  3. 3 #搭配rm 命令删除文件
  4.     find ./out/ -name "*ili9881c*" | xargs -i rm {}  -rf  #在out目录下删除带有"ili9881c"字符的文件
  5. 4 #和cp搭配复制文件
  6.     #在out目录下搜索带有字符串"APDB"字符的文件,并把他复制到 ./APDB目录
  7.     find ./out/ -type f -name "*APDB*" | xargs -i cp {}  ./APDB/
  8.     #和上的命令相似,只是这个复制是带有目录的复制
  9.     find ./out/ -type f -name "*APDB*" | xargs -i cp --parents {}  ./APDB/
复制代码
1.2 grep
  1. grep -nr NEON   #查找当前目录下包含关键字“NEON”的所有文件,并列出行号。NEON   后面还能跟目录
  2. grep  -nr "文件名"  目录
  3. -iname 忽略大小写
复制代码
1.3getprop
查看属性
  1. getprop | grep apn  #查看apn
  2. getprop | grep sim1  #查看sim
复制代码


































回复

使用道具 举报

34

主题

52

帖子

542

积分

版主

Rank: 7Rank: 7Rank: 7

积分
542
 楼主| 发表于 2021-4-12 19:57:35
本帖最后由 星空 于 2021-4-12 20:29 编辑

2 git命令


2.1 生成自己的git 公钥
  1. git config --global user.name 'cppdy813'
  2. git config --global user.email 'cppdy813@163.com'
  3. ssh-keygen -t rsa -C 'cppdy813@163.com'
复制代码
在得到一个这样的公钥,目录 ~/.ssh/id_rsa.pub .
钥添加到authorized_keys。添加后,服务器就会认为你这个客户端为可信任。你则可以访问这个服务器了
2.2 初始化仓库
用 git init 在目录中创建新的 Git 仓库。 你可以在任何时候、任何目录中这么做,完全是本地化的。
  1. $ mkdir runoob
  2. $ cd runoob/
  3. $ git init
复制代码
2.3 git 下载
使用 git clone 拷贝一个 完整Git 仓库到本地,让自己能够查看该项目,或者进行修改。
  1. git clone -b K602 git@192.168.0.70:mtksmart/XY5501_M0.git K602_BEAT3
复制代码
部分下载
  1. git pull
  2. <span style="color: rgb(51, 51, 51); font-family: &quot;Helvetica Neue&quot;, Helvetica, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, Arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);">用于从远程获取代码并合并本地的版本。</span>
复制代码
2.4 添加本地工作区,本地暂存区,远程服务区
  1. git add ./                                         把./文件添加到本地暂存区
复制代码
2.5 恢复
  1. 工作区域的修改恢复
  2. git checkout files  把files文件的工作区的修改删除,还原原来的文件
复制代码
2.6 杂
提交记录显示
  1.   <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
  1. git status | grep modified | awk '{print $2}' | xargs -i git diff
复制代码
仅查看 git commit 修改的文件名
  1. git show 7500152 --name-only
复制代码
吧修改的文件更新下修改时间
  1. git status | grep modified | awk '{print $2}'  | xargs -i touch {}
复制代码

打包
  1. <div> $ git format-patch 56c9cd6..d8afc6b</div><div>这里是打包从56c9cd6到d8afc6b中间的patch,每一条提交记录打一个patch. </div>
复制代码














回复

使用道具 举报

0

主题

1

帖子

18

积分

新手上路

Rank: 1

积分
18
发表于 2021-4-24 10:12:09
本帖最后由 追风人 于 2021-4-24 10:20 编辑

3 其他命令3.1 cp复制

  1. cp -<font color="#8b0000">-parents </font>kernel-4.4/drivers/misc/mediatek/imgsensor/src/mt6763/imgsensor_sensor_list.h ./bak/
  2. cp --parents kernel-4.4/drivers/misc/mediatek/imgsensor/src/mt6763/rn6752m_mipi_yuv/ ./bak/ -raf
复制代码

3.2 tar 压缩解压
普通压缩解压
  1. 解压:tar zxvf FileName.tar.gz
  2. 压缩:tar zcvf FileName.tar.gz DirName

  3. 解压:tar jxvf FileName.tar.bz2
  4. 压缩:tar jcvf FileName.tar.bz2 DirName
复制代码

大文件压缩解压
  1. 要将目录logs打包压缩并分割成多个1G的文件,可以用下面的命令:
  2. tar cjf - logs/ |split -b 1000m - logs.tar.bz2.
  3. 完成后会产生下列文件:
  4. logs.tar.bz2.aa, logs.tar.bz2.ab, logs.tar.bz2.ac
  5. 要解压的时候只要执行下面的命令就可以了:
  6. cat logs.tar.bz2.a* | tar xj
复制代码


3.3 ln 命令
ln [参数][源文件或目录][目标文件或目录]
  1. 硬链接;相当于复制了一个文件
复制代码


















回复

使用道具 举报

返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


登录或注册
快速回复 返回顶部 返回列表