Linux命令使用心得和openharmony常用命令

2 篇文章 0 订阅

第一,

预编译
bash build/prebuilts_download.sh
编译命令【增量,多模】
./build.sh --product-name rk3568 --ccache --build-target multimodalinput_base
UT编译出来的文件路径
out/rk3568/tests/unittest/multimodalinput/unit_out
编译UT命令
./build.sh --product-name rk3568 --ccache --build-target input --build-target make_test ./build.sh --product-name rk3568 --ccache --export-para PYCACHE_ENABLE:true --build-target make_all --build-target make_test ./build.sh --product-name rk3568 --ccache --export-para PYCACHE_ENABLE:true --build-target input --build-target make_test
编译指定UT名称的命令
./build.sh --product-name rk3568 --ccache --build-target InjectPointerEventTest

补充命令:重新拉代码,重新编译

run 'hb clean --all' or 'rm -rf out build/resources/args/*.json'.
repo sync -c
repo forall -c 'git lfs pull'
bash build/prebuilts_download.sh

hap的相关命令

hdc uninstall com.example.myapp //卸载hap

hdc install -r "F:\MyApp\entry\build\default\outputs\default\entry-default-signed.hap" //安装hap
hdc shell aa start -a EntryAbility -b com.example.myapp //启动hap

第二,

拉取合并带编辑commit message
git pull origin baiwei_fix_debug --edit --signoff
查看远程仓库
git remote -v
设置远程仓库
git remote add openharmony git@gitee.com:openharmony/multimodalinput_input.git
清除工作区的untrack文件和目录
git clean -fd
https://www.jianshu.com/p/c2ec5f06cf1a
git reset --hard
查看最新的commitid
git show
查看工作区的修改
git diff
查看暂存区的修改
git diff --cached
比较两个分支的差异
git diff branch1 branch2

git credential helper工具                                                                                                                 git使用的使用是一种名叫**[credential helper]**的工具来完成用户名密码存储的,类似于凭据管理器
①cache:cache 将凭据在内存中进行短时间的缓存。使用的比较少。
②store:store通过明文的方式将用户名和密码保存到用户目录下,可以使用记事本直接打开.git-credentials文件。                                                                                                                            相关命令介绍如下四个:                                                                                                                  命令1:git config --global credential.helper store
解释:用户名密码设置为store存储模式,用户名密码被保存在.git-credentials文件中,以后将不用输入用户名密码,自动读取.git-credentials文件中的用户名密码。
如果你删除了.git-credentials文件,第一次会让你输入用户名密码,自动生成.git-credentials文件,之后不会在让你输入用户名密码了。
命令2:git config --global --unset credential.helper
解释:取消设置Git的凭据存储助手,也就是不设置用户名密码的存储形式,这样每次都要输入用户名和密码。
命令3:git config --global credential.helper cache
解释:用户名密码设置为cache存储模式。用户名密码默认保存15分钟,之后需要再次输入用户名密码
命令4:git config --global credential.helper
解释:查看用户名密码的存储形式是什么,例如store,cache。


将工作区代码存入stash区
git stash -u
将当前stash中的内容弹出,并应用到当前分支对应的工作目录上
git stash pop
查看git栈存中的内容
git stash list


摘取b4da2a6b6ced5abf154cb25fc475d9be3aa6e9e8节点合并到当前分支上
git cherry-pick b4da2a6b6ced5abf154cb25fc475d9be3aa6e9e8
配置git的文本编辑器为vim
git config --global core.editor vim


根目录下重新拉代码解决
repo sync -c --no-tags -j8  
repo forall -j8 -c "git lfs pull"

日志罗盘命令
hilog -w start -l 100M
日志目录
/data/log/hilog

如果下载失败,强行下载
repo sync --force-sync developtools/bytrace
repo sync --force-sync foundation/aafwk/standard
repo sync --force-sync foundation/bundlemanager/bundle_framework

repo forall -c 'commitID=`git log --before "2017-03-17 07:00" -1 --pretty=format:"%H"`;git reset --hard $commitID'                                   #版本回退到2017-03-17 07:00 前的第一个提交

日志罗盘
hilog -w start -l 100M
日志目录
/data/log/hilog
日志导出
hdc file recv /data/log/hilog/hilog.001.20170805-121750.gz D:/log

日志罗盘全部命令
hdc shell hilog -w stop
hdc shell "rm -rf /data/log/hilog/*"
hdc shell hilog -r
hdc shell hilog -w start -l 100M -m none
hdc shell hilog -Q pidoff
hdc shell hilog -p off
hdc shell hilog -b D
hdc shell hilog -w start -t kmsg -m none

第三,linux命令

1.查看指定进程的进程号
ps -aux | grep ./inotify.out

2.查看1430进程的文件描述符表
ll proc/1430/fd

3.查看24044进程的环境变量
cat /proc/24044/environ

4.删除信号量
ipcrm -s SemaphoreID

5.删除消息队列
ipcrm -q MessageID

6.删除共享内存段
ipcrm -m SharedMemoryID

7.查看所有信号定义
kill -l

8.gcc命令处理bug时的常用方法
首先,知识基础掌握:
c为后缀的文件,C语言源代码文件;
.C或.cc或.cxx为后缀的文件,是C++源代码文件。
.i为后缀的文件,是已经预处理过的C源代码文件;
.ii为后缀的文件,是已经预处理过的C++源代码文件;
.o为后缀的文件,是编译后的目标文件;
第一步、预处理,生成 .i 的文件[预处理器cpp]
第二步、将预处理后的文件转换成汇编语言, 生成文件 .s [编译器egcs]
第三步、有汇编变为目标代码(机器代码)生成 .o 的文件[汇编器as]
第四步、连接目标代码, 生成可执行程序 [链接器ld]
预处理(也称预编译,Preprocessing)、编译(Compilation)、汇编(Assembly)和连接(Linking)。

gcc 参数解释
-M
生成文件关联的信息
-MM
和上面的那个一样,但是它将忽略由#include造成的依赖关系。
-MMD
和-MM相同,但是输出将导入到.d的文件里面。
-D 
后面直接跟宏命,相当于定义这个宏,默认这个宏的内容是1。例如,-DDEBUG 定义DEBUG宏,-Dprivate=public -Dprotected=public定义了#define private public;#define protected public;
-I
指定头文件路径(相对路径或觉得路径,建议相对路径)
-MF File 
当使用了 ‘-M’ 或者 ‘-MM’ 选项时,则把依赖关系写入名为 ‘File’ 的文件中。若同时也使用了 ‘-MD’ 或 ‘-MMD’,’-MF’ 将覆写输出的依赖文件的名称
-o
选项-o用于指定要生成的结果文件,后面跟的就是结果文件名字。o是output的意思,不是目标的意思。结果文件可能是预处理文件、汇编文件、目标文件或者最终可执行文件。
-c 
使用-c选项可以只激活预处理,编译,和汇编,但是不进行链接。也就是他只把程序做成obj文件。只将源文件编译为 object 文件(*.o)。
-S
只激活预处理和编译,就是指把文件编译成为汇编代码。他将生成 .s 的汇编代码.
-E
只激活预处理,这个不生成文件。
编译过程表示: *.c -> *.i -> *.s -> *.o -> *.out
gcc -E test.c -o test.i
gcc -S test.c -o test.s
gcc -c test.c -o test.o
gcc test.c -o test.out

9.vi中的命令
1)显示行号
:set number
2)搜索字符串,按n查找下一个,按N查找上一个
:/字符串
3)将整个文件的所有old替换为new
:%s/old/new/g

10.grep命令
1)搜索build.1645845083.432484.log文件中的ccache字符串,-n搜索的结果显示行号
grep -n 'ccache' build.1645845083.432484.log
2)搜索当前test目录下的文件中的ccache字符串,-r表示在test目录下搜索,并且是递归搜索,-n搜索的结果显示行号
grep -rn 'ccache' ./test
3)同2)加上-i表示不区分大小写
grep -irn 'Ccache' ./test
4)总结 -irn目录或者文件都可以
grep -irn 'ccache' 目录或者文件

11.find和grep联合使用,搜索build*文件名中的ccache字符串,切记不可加-r
find ./test -name "build*" | xargs grep -in 'ccache'
12.find和gn联合使用,搜索gn文件,然后对搜索到的结果使用gn format命令
find /home/mmi/master/foundation/multimodalinput/input/ -name "*.gn" | xargs prebuilts/build-tools/linux-x86/bin/gn format

13.VMware磁盘扩展
1)https://blog.csdn.net/weixin_36128337/article/details/116991868
2)pvcreate /dev/sda4
3)pvdisplay
4)vgextend ubuntu-vg /dev/sda4
5)vgdisplay
6)df -hT
7)lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
8)resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

9)2024年5月6日补充《基于卷组(VG)通过lvcreate命令创建逻辑卷(LV)》https://blog.51cto.com/u_15773967/5639332

10)2024年5月6日补充《LV PE VG等LVM基本概念和结构图》LVM管理 - pipci - 博客园 (cnblogs.com)

14.linux解压
1)tar -xf 解压文件名.tar
2)tar -zcvf bluetooth.tar.gz bluetooth/

15.内核命令
1)dmesg实时打印
dmesg -w
2)创建主设备号236,次设备号为0的设备文件/dev/test
mknod /dev/test c 236 0
3)查看设备号与设备名
cat /proc/devices
4)安装模块
insmod test.ko
5)卸载模块
rmmod test
6)查看模块信息
modinfo test.ko
7)查看已经安装的模块
lsmod
8)查看动态库中函数符号
nm -D 动态库名称

16.重新挂载文件系统hdc shell mount -o rw,remount /

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大白2009

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值