vimadbgit命令
vim 全部选中
全选(高亮显示):按esc后,然后ggvG或者ggVG
全部复制:按esc后,然后ggyG
全部删除:按esc后,然后dG
--------------------------------------------------------------------------------
替换:
%s/old/new/g
--------------------------------------------------------------------------------
find . -name fingerprint.h -exec vim {} ;
查找某个文件并vim
--------------------------------------------------------------------------------
vim打开二进制文件:
:%!xxd -g 1
以上命令可以以单个字节显示二进制内容
VIM:
:sp 上下分屏
:vsp 左右分屏
--------------------------------------------------------------------------------
GIT命令
--------------------------------------------------------------------------------
repo manifest
---该命令列出manifest.xml内容
repo staus
---显示有改动的仓及文件
git log -n3
---显示前三条git log
git log --oneline -n3 ./fpc_hal_ext_calibration.c
---简化显示某个文件前3个修改记录
git diff仅显示差异
git icdiff 左右直观显示修改的文件内容
1,sudo apt install icdiff
2,~/.gitconfig添加:
[icdiff]
options = --highlight --line-numbers
3,git icdiff ./Android.mk
该命令即可显示该文件前后的差异
行控制命令和vim基本一致
如果已经git add了,需要添加--cached参数
git icdiff --cached ./build/tee/fpc.mk
比较某个文件两个节点直接的差异:
git icdiff 99af6ee 19b030c ndk_build_hal.mk6
--------------------------------------------------------------------------------
git diff 63a95eb0 ./tools.mk
查看某一个commit中tools.mk文件前后的差异
--------------------------------------------------------------------------------
git上库:
1,进入某个仓, git add
2, git commit 回车,添加commit信息,可以回车后添加jira单号
bring up zte IRIS6(optee) on L3
SWO-1391
3,git push fpc_gerrit HEAD:refs/for/customer/1632_customer_xiaomi_l3_algo2_sw8.0
--------------------------------------------------------------------------------
回退到该文件指定的版本
git checkout a4e215234aa4927c85693dca7b68e9976948a35e MainActivity.java
--------------------------------------------------------------------------------
从gerrit复制down patch 链接,在本地执行了gerry-pick命令后,怎么撤销呢:
git reset --hard HEAD^
--------------------------------------------------------------------------------
git diff a.file > a.patch //生成补丁
git apply ./a.patch //打补丁
t
git add 新增了某个文件并且git add了
git reset HEAD * 可以将其add操作撤销
--------------------------------------------------------------------------------
修改了某个文件,本来想git commit,不小心git commit --amend了
1, git reflog,此时会显示出amend的历史记录,找到刚才amend时候的commit id, 例如下图:
2, git reset + 红框前面的那个commit, 这样就会把刚才的修改重新unstged,入下图:
--------------------------------------------------------------------------------
在某个仓库执行gerrit cherr-pick命令时如果有冲突时:
error: could not apply 844e03a... bring up zte P720F05 (speadtrum+trusty) lib
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
hint: and commit the result with 'git commit'
此时冲突文件中会有如下字符:
<<<<<<< HEAD
tz_algo_extract();
status = tz_algo_auth(&tz_auth_result);
=======
tz_algo_extract();
status = tz_algo_auth(&tz_auth_result);
>>>>>>> 844e03a... bring up zte P720F05 (speadtrum+trusty) lib
在gerrit上执行将某个修改cherry-pick到另一个分支时
如果提示冲突,并且强行rebase后,查看文件修改差异,可以看到有“<<<<<<< HEAD”等字符
怎么解决呢:
1,将该修改cherr-pick到本地仓库
2,移除HEAD等字符,并注意是否解决完了冲突
3,git add
4, git commit --amend
5,git push
6,这样就好了
--------------------------------------------------------------------------------
用户A上传的代码,如果还没有merge, 那么用户B可以进行如下修改:
1,将A的修改cherry-pick到本地
2,修改
3,git add
4, git commit --amend
5, git push ***
6, 重新review,merge
--------------------------------------------------------------------------------
已经git add的代码,如果想看修改的差异:
git diff --cached
已经git add的代码,想退回到未add的状态:
git reset HEAD src/access/fpc_sensor_access.c
再继续执行git checkout 即可
--------------------------------------------------------------------------------
执行commit后,还没执行push时,想要撤销这次的commit
只撤销上一次commit,不撤销add
git reset --soft HEAD~1
commit和add的上一次都撤销
git reset --hard HEAD~1
已经add,commit但未push的文件,想撤销到未git add状态:
1,git reset --hard HEAD~1 (此时是git add状态,绿色)
2,git reset HEAD *.file (此时是红色)
3,git checkout *.file (撤销掉该文件)
已经merge的文件,想撤销到未git add状态:
1,git reset --hard HEAD~1 (此时是git add状态,绿色)
2,git reset HEAD *.file (此时是红色)
3,git checkout *.file (撤销掉该文件)
--------------------------------------------------------------------------------
当前仓库修改记录如下:
felix@felix-VirtualBox:~/code/1632_zte_p720f05_sw8_branches/optical_sensor_sdk$ git log --oneline |head -n 10
5aa270b Fix underflow to compatible with DMA align at 8 bytes 2/2
2bc8549 Add log to debug unique id not match 3/3
5ad8cff Remove repeated log print 2/2
8bacd4a Set spi speed 6M when read hwid, 15M in other cases 3/3
32c1674 Enhance spi drive strength
a85c4b0 Add new HWID support for borneo
b5ee1af Save and set issue points info to algo2
c88b49d Capture flow changes for kpi optimization
18f1814 Add Image rotate macro control
b770151 Remove backoff data in calibration image
我想将fpc_sensor_access.c文件回退到上一个状态,即:2bc8549
1, git checkout 2bc8549 src/access/fpc_sensor_access.c
此时该文件显示绿色,并且文件内容已经回到了2bc8549
2,git commit
3,git push fpc_gerrit HEAD:refs/for/customer/1632_zte_p720f05_sw8
--------------------------------------------------------------------------------
想将当前目录的文件备份一下:
tar -cvf ~/tmp.tar hwbinder/legacy/Android.mk hwbinder/legacy/fpc_legacy_hal.c
想恢复的时候:
tar -xvf ~/tmp.tar -C . (解压到当前目录)
--------------------------------------------------------------------------------
根据git log查找某一笔修改动了哪些文件
git show 12dc6ce|grep diff
将某一个节点的文件导出来
git show 12dc6ce A.txt > A1.txt
--------------------------------------------------------------------------------
git log显示关键信息
git log --pretty=format:"%h - %an, %ad : %s" --date=iso -n 10
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
adb命令
adb shell "dmesg -w|grep fpc"
该命令可以实时打印kernel log
替代while true循环打印
--------------------------------------------------------------------------------
cp --parents
复制文件的时候保留目录结构
--------------------------------------------------------------------------------
1.adb root
a.adb shell "while true; do cat; sleep 1; done < /proc/kmsg" (待测试)
pm list packages -f|grep -HinE collec
(standard input):42:package:/system/app/SaleInfoCollectSystem/SaleInfoCollectSystem.apk=com.android.aftersaleservice
(standard input):82:package:/vendor/app/ImageCollection/ImageCollection.apk=com.fingerprints.imagecollection
列出手机中所有的包和路径
显示当前activity堆栈:
adb shell "dumpsys activity|grep -HinE topactivity"
(standard input):2258: topActivity={com.heyitest.wifilink/com.heyitest.wifilink.MainActivity}
(standard input):2267: topActivity={com.ontim.runin/com.ontim.runin.MAIN}
(standard input):2276: topActivity={com.mediatek.atmwifimeta/com.mediatek.atmwifimeta.Atm_Wifi_Activity}
(standard input):2285: topActivity={com.android.settings/com.android.settings.SubSettings}
--------------------------------------------------------------------------------
sed -i '/hello/d' test.txt
删除test.txt中包含hello的行
--------------------------------------------------------------------------------
adb shell "while true;do cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq&&echo '------------------------' ;sleep 0.5;done"
实时打印cpu频率:
用分割线隔开每次打印
--------------------------------------------------------------------------------
adb shell logcat -b main //只输出logcat
adb shell logcat -b kernel //输出kernel日志
--------------------------------------------------------------------------------
如何下载单个仓:
1, repo manifest
2, 找到目标仓对应的name
3, repo sync sw/linux/android/gen2/lib_build
--------------------------------------------------------------------------------
grep搜索某些关键字,排除某个关键字
grep -HrinE "sensor_driver_calibrate_volt_v1|image_size=32" ./*.txt|grep -wv "image_size=3200"
--------------------------------------------------------------------------------
envsetup.sh脚本中通过export设置的环境变量,都可以在shell窗口用export命令显示出来
--------------------------------------------------------------------------------
getevent可以获取到各个event的name
127|Z6576S:/ # getevent
add device 1: /dev/input/event2
name: "fts_ts"
add device 2: /dev/input/event0
name: "ACCDET"
add device 3: /dev/input/event1
name: "mtk-kpd"
--------------------------------------------------------------------------------
du -sh *
统计当前目录下所有文件和目录的大小
--------------------------------------------------------------------------------
rsync -av --exclude=folder1/ --exclude=folder2/ source_directory/ destination_directory/
复制文件时排除多个目录
相关文章:
vimadbgit命令
vim 全部选中 全选(高亮显示):按esc后,然后ggvG或者ggVG 全部复制:按esc后,然后ggyG 全部删除:按esc后,然后dG -----------------------------------------------------------------…...

运行shell脚本时报错/bin/bash^M: 解释器错误: 没有那个文件或目录
Windows的换行符为\r\n,而linux换行符为\n。先查看一下文件是什么格式的 :set ff --查询一下格式是什么 由于使用nodepad新建的脚本,首选项中格式设置成了windows,上传到linux中报错。 解决方法 1、nodepad中【设置》首选项】修改为unix&am…...
2506,wtl的通知事件
通知事件 最后一步,通知(连接)控件CMainDlg想要接受的浏览器控件触发的消息.连接在OnInitDialog(),断开在OnDestroy(). VC6中连接 VC6中,ATL的全局函数,AtlAdviseSinkMap()通知(连接)对话框中所有控件开始或终止发送事件到C对象. 该该函数的第一个参数是一个指向拥有事件映射…...

Shiro安全权限框架
①、添加依赖 ②、创建ini文件 获取权限相关信息可以通过数据库获取,也可以通过ini配置文件获取 ③、认证代码 public class ShiroRun{public static void main(){//初始化获取SecurityManagerIniSerucityManagerFactory factory new IniSecurityManagerFac…...

虚拟现实教育终端技术方案——基于EFISH-SCB-RK3588的全场景国产化替代
一、VR教育终端技术挑战与替代价值 实时交互性能瓶颈 赛扬N100/N150仅支持3DOF渲染(延迟>25ms),动态手势识别帧率≤15FPS,难以满足6DOF教学场景需求RK3588 Mali-G610 GPU支持6DOF空间渲染(延迟≤12ms&…...
深入理解CSS浮动:从基础原理到实际应用
深入理解CSS浮动:从基础原理到实际应用 引言 在网页设计中,CSS浮动(float)是一个历史悠久却又至关重要的概念。虽然现代布局技术如Flexbox和Grid逐渐流行,但浮动仍然在许多场景中发挥着重要作用。本文将带你深入理解…...
代码训练LeetCode(22)研究者H指数
代码训练(22)LeetCode之研究者H指数 Author: Once Day Date: 2025年6月4日 漫漫长路,才刚刚开始… 全系列文章可参考专栏: 十年代码训练_Once-Day的博客-CSDN博客 参考文章: 274. H 指数 - 力扣(LeetCode)力扣 (LeetCode) 全球极客挚爱的…...

网络安全A模块专项练习任务五解析
任务五:Linux 操作系统安全配置-1 任务环境说明: ✓ 服务器场景:LinuxServer:(开放链接) ✓ 用户名:root,密码:123456 ✓ 数据库用户名:root,密码:123456 请对服务器 LinuxServer 按要求进行相应的设置,提高服务器的安全性。 1.设置最小…...
git cli 基于远程master分支创建本地分支并切换
1、获取远程最新状态 git fetch origin2、从远程master创建本地分支并切换 git checkout -b new-branch-name origin/master或者,新版本写法 git switch -c new-branch-name origin/master3、如果要推送到远程,并建立跟踪,执行下面的命令 …...

Redis初入门
Nosql:Not-Only SQL(泛指非关系型数据库),作为关系型数据库的补充 作用:应对基于海量用户和海量数据前提下的数据处理问题 redis:C语言开发的一个开源的高性能键值对数据库 特征: 1、数据之…...

(10)Fiddler抓包-Fiddler如何设置捕获Firefox浏览器的Https会话
1.简介 经过上一篇对Fiddler的配置后,绝大多数的Https的会话,我们可以成功捕获抓取到,但是有些版本的Firefox浏览器仍然是捕获不到其的Https会话,需要我们更进一步的配置才能捕获到会话进行抓包。 2.环境 1.环境是Windows 10版…...

使用pandas实现合并具有共同列的两个EXCEL表
表1: 表2: 表1和表2,有共同的列“名称”,而且,表1的内容(行数)<表2的行数。 目的,根据“名称”列的对应内容,将表2列中的“所处行业”填写到表1相应的位置。 实现代…...

2025年- H69-Lc177--78.子集(回溯,组合)--Java版
1.题目描述 2.思路 3.代码实现 class Solution {public List<List<Integer>> subsets(int[] nums) {List<List<Integer>> resnew ArrayList<>();List<Integer> curnew ArrayList<>();//从索引0开始递归backtracking(res,cur,nums,0…...

目标检测任务的评估指标mAP50和mAP50-95
mAP50 和 mAP50-95 是目标检测任务中常用的评估指标,用于衡量模型在不同 交并比(IoU)阈值 下的平均精度(Average Precision, AP)。它们的区别主要体现在 IoU 阈值范围 上。 ✅ 1. mAP50(mean Average Prec…...

C++String的学习
1、C语言中的字符串 C语言中,字符串是以’\0’结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数,但是这些库函数与字符串是分离开的,不太符合OOP的思想(即面向对象编程(…...

java day15 (数据库)
进入数据库的学习 DB 因为数据太多了,方便统一管理的软件 操作就不用改代码了,直接改数据库则可; 命令就是sql语句 这些都是关系型数据库,sql可以控制全部,至于具体的环境我以前就有安装过了; 理解&am…...
SQL 中 IN 和 EXISTS 的区别
SQL 中 IN 和 EXISTS 的区别 1. 基本概念 1.1 IN 运算符 IN 是一个条件运算符,用于检查某个值是否存在于指定的值列表中或子查询返回的结果集中。 SELECT * FROM employees WHERE department_id IN (SELECT id FROM departments WHERE location = New York)...

多线程爬虫使用代理IP指南
多线程爬虫能有效提高工作效率,如果配合代理IP爬虫效率更上一层楼。作为常年使用爬虫做项目的人来说,选择优质的IP池子尤为重要,之前我讲过如果获取免费的代理ip搭建自己IP池,虽然免费但是IP可用率极低。 在多线程爬虫中使用代理I…...

前端面试真题(第一集)
目录标题 1、跨域问题及解决方法同源策略生产环境解决方案开发环境解决方案其他解决方案 2、组件间通信方式Vue2中的组件通信方式Vue3中的组件通信方式通用注意事项 3、微信小程序生命周期微信小程序原生生命周期UniApp生命周期 4、微信小程序授权登录流程登录流程手机号获取 5…...
电脑安装系统蓝屏的原因
1. 内存故障 原因:内存条接触不良、损坏或兼容性问题(如不同品牌 / 频率的内存混用)。表现:蓝屏代码可能包含 MEMORY_MANAGEMENT、PAGE_FAULT_IN_NONPAGED_AREA 等。排查方法: 重新插拔内存条,清理金手指灰…...

TDengine 高级功能——流计算
简介 在时序数据的处理中,经常要对原始数据进行清洗、预处理,再使用时序数据库进行长久的储存,而且经常还需要使用原始的时序数据通过计算生成新的时序数据。在传统的时序数据解决方案中,常常需要部署 Kafka、Flink 等流处理系统…...
expect程序交互学习
文章目录 一、初级语法学习二、例子 一、初级语法学习 1.使用expect进行ssh另一台机器 [rootlocalhost ~]# yum install -y expect #先安装expect [rootlocalhost ~]# vim expect1.sh #!/usr/bin/expect spawn ssh root192.168.68.244 expect {"yes/no" {send "…...

05.字母异位词分组
题意理解 🧠 什么是“字母异位词”? 字母异位词是指由相同的字母组成,只是排列顺序不同的单词。 比如: "eat" 和 "tea" 是异位词,它们都包含 e、a 和 t。"ate" 也是它们的异位词。但…...

Mac查看MySQL版本的命令
通过 Homebrew 查看(如果是用 Homebrew 安装的) brew info mysql 会显示你安装的版本、路径等信息。 你的终端输出显示:你并没有安装 MySQL,只是查询了 brew 中的 MySQL 安装信息。我们一起来看下重点: 🧾…...

【.net core】【watercloud】树形组件combotree导入及调用
源码下载:combotree: 基于layui及zTree的树下拉框组件 链接中提供了组件的基本使用方法 框架修改内容 1.文件导入(路径可更具自身情况自行设定) 解压后将文件夹放在图示路径下,修改文件夹名称为combotree 2.设置路径(设置layu…...
[Java 基础]面向对象-封装
封装是构建健壮、可维护和安全软件的基础。 什么是封装? 想象一下你的手机。你不需要知道手机内部复杂的电路、芯片和各种组件是如何协同工作的,你只需要知道如何使用屏幕、按键或触摸操作来打电话、发短信或玩游戏。手机的内部细节被“包裹”起来&…...

2021 RoboCom 世界机器人开发者大赛-高职组(复赛)解题报告 | 珂学家
前言 题解 2021 RoboCom 世界机器人开发者大赛-高职组(复赛)解题报告。 模拟题为主,包含进制转换等等。 最后一题,是对向量/自定义类型,重定义小于操作符。 7-1 人工智能打招呼 分值: 15分 考察点: 分支判定&…...
Python趣学篇:Pygame实现3D星空穿越动画
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《Python星球日记》🪐 目录 一、项目概览与技术栈二、核心技术原理解析1. 透视投影:让3D世界"压扁"到2D屏幕2. Z轴深度:创造…...
基于Web的安全漏洞分析与修复平台设计与实现
基于Web的安全漏洞分析与修复平台设计与实现 摘要 随着信息化进程的加快,Web系统和企业IT架构愈发复杂,安全漏洞频发已成为影响系统安全运行的主要因素。为解决传统漏洞扫描工具定位不准确、修复建议不完善、响应周期长等问题,本文设计并实…...

34.1STM32下的can总线实现知识(区分linux)_csdn
看过我之前的文章就知道,正点原子下的linux中CAN总线并没有讲的很明白,都是系统自带的! 这里我找到江科大学长的can总线的讲解视频! CAN总线入门教程-全面细致 面包板教学 多机通信_哔哩哔哩_bilibili 在这里我也会一步一步讲解CA…...