个人常用命令记录

1. linux操作

1.1 软连接

ln -snf 源文件 目标文件
删除软链接文件: rm -f 软链接文件

1.2 内核模块加载

insmod 安装内核模块,在文件/etc/rc.local中加载你想要的模块程序即可实现开机自动加载该模块
rmmod 卸载内核模块

1.3 解压缩

tar 打包: tar -zcvf tmp.tar.gz /tmp/
tar 解包: tar -zxvf tmp.tar.gz

1.4 编译生成库

动态库: gcc -shared -o libmytest.so a.o b.o c.o
查看so文件链接的库:ldd a.so
查看so文件的函数列表:nm -D a.so
查看so文件的导出函数及源文件信息:abjdump -tT a.so

在外部告诉程序,动态库在哪里有两种方法:
将 libmytest.so copy到/lib/ 或 /usr/lib/ 下
在 LD_LIBRARY_PATH 变量中指定库文件路径 export LD_LIBRARY_PATH=自定义动态库的路径

静态库: ar -crv libmyhello.a hello.o
查看:ar -t liba.a
拆分:ar x liba.a 拆分成 .o文件,静态库可以合并
合并:ar rcs libmerged.a liba.a libb.a

1.5 linux软件包

dpkg --list 查看
dpkg -i 安装
apt-get remove  会删除软件包而保留软件的配置文件
apt-get --purge remove  会同时清除软件包和软件的配置文件

1.6环境变量添加

添加库:

echo "export LD_LIBRARY_PATH=/path/to/lib:$LD_LIBRARY_PATH" >> ~/.bashrc
source ~/.bashrc

添加bin:

echo "export PATH=/path/to/lib:$PATH" >> ~/.bashrc
source ~/.bashrc

当前终端临时存在:

export PATH="$HOME/path/bin:$PATH"

2. optee相关

2.1 tee_supplicant

单独启动: sudo systemctl start tee-supplicant
查看: ps -ef|grep tee*

2.2

3. git命令

3.1 创建版本库

git clone <url>     #克隆仓库
git init            #初始化仓库

3.2 修改和提交

git status          #查看状态
git diff            #查看变更内容
git add .           #跟踪所有改动过的文件
git add <file>      #跟踪指定的文件
git mv <old> <new>  #文件改名
git rm <file>       #删除文件
git rm --cached <file>  #停止跟踪文件但不删除
git commit -m ""    #提交所有修改
git commit --amend -m ""     
                    #修改最后一次的commit,合并上一次提交(用于反复修改)

3.3 查看提交记录

git log             #查看提交记录

3.4 撤销及回退

git reset --hard HEAD       #撤销工作目录中所有未提交的操作修改
git checkout HEAD <file>    #撤销指定文件的修改
git checkout .              #放弃全部修改

git reset --hard HEAD^      #回退上一个版本
git reset --hard 版本号      #回退指定版本

3.5 分支

git branch                  #查看分支
git checkout <branch/tag>   #切换指定分支
git checkout -b <new-branch>#创建新分支
git branch -d <branch>      #删除分支

3.6 合并

git merge <branch>
合并流程:
pull 主分支
切换 dev ,merge 主分支
切换主分支,merge dev

3.7 远程操作

git remote -v                   #查看远端配置信息
git remote add origin <url>     #设置远端地址
git remote set-url origin <url> #修改远端地址
git push -u origin "master/main"#推送
git push --set-upstream origin sunk 
                                #推送本地分支到远端并建立
git pull                        #更新

3.8 补丁应用

1、
git diff > test.patch           #默认把所有修改的文件都打patch了,
                                同时还需要注意,这里是本地修改的没有执行add缓存的.暂存区的修改
git apply --check test.patch    #检查
git apply test.patch            #应用补丁

git diff commit_id1 commit_id2 > test.patch
                                #对已经提交的代码打patch
2、
git format-patch                #打ptach 这个使用于已经提交的代码
git format-patch commit_id1 commit_id2  #生成patch当然可可以使用
git format-patch -1             #这里是最近1次提交的,-2 是2次,-3 是三次
git am 系统生成的名字.patch      #应用patch

区别 diff 和 format 
git diff 生成的可以指定文件名 生成的内容不包含commit 添加的内容
git format-patch 无需指定文件名, 生成的内容,含提交的变化的文件,已经commit内容