首页
chatGPT
关于
友链
其它
统计
更多
壁纸
留言
Search
1
cgroup--(4)cgroup v1和cgroup v2的详细介绍
6,404 阅读
2
修改Linux Kernel defconfig的标准方法
6,379 阅读
3
Android系统之VINTF(1)manifests&compatibility matrices
5,967 阅读
4
使用git生成patch和应用patch
3,450 阅读
5
c语言的__attribute__
3,168 阅读
默认分类
文章收集
学习总结
算法
环境配置
知识点
入门系列
vim
shell
Git
Make
Android
Linux
Linux命令
内存管理
Linux驱动
Language
C++
C
工具
软件工具
Bug
COMPANY
登录
Search
标签搜索
shell
Linux
c
uboot
Vim
vintf
Linux驱动
Android
device_tree
git
DEBUG
arm64
链表
数据结构
IDR
内核
ELF
gcc
ARM
网址
adtxl
累计撰写
367
篇文章
累计收到
14
条评论
首页
栏目
默认分类
文章收集
学习总结
算法
环境配置
知识点
入门系列
vim
shell
Git
Make
Android
Linux
Linux命令
内存管理
Linux驱动
Language
C++
C
工具
软件工具
Bug
COMPANY
页面
chatGPT
关于
友链
其它
统计
壁纸
留言
搜索到
367
篇与
的结果
2021-01-19
shell简介--(4)shell注释
说明:本文转载自菜鸟教程单行注释使用符号\#开头的行就是单行注释多行注释如果在开发过程中,遇到大段的代码需要临时注释起来,过一会儿又取消注释,怎么办呢?每一行加个#符号太费力了,可以把这一段要注释的代码用一对花括号括起来,定义成一个函数,没有地方调用这个函数,这块代码就不会执行,达到了和注释一样的效果。多行注释还可以使用以下格式::<<EOF 注释内容... 注释内容... 注释内容... EOFEOF 也可以使用其他符号::<<' 注释内容... 注释内容... 注释内容... ' :<<! 注释内容... 注释内容... 注释内容... !
2021年01月19日
772 阅读
0 评论
0 点赞
2021-01-19
shell简介--(3)shell数组
说明:本文转载自菜鸟教程bash支持一维数组(不支持多维数组),并且没有限定数组的大小。类似于 C 语言,数组元素的下标由 0 开始编号。获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于 0。1. 定义数组在 Shell 中,用括号来表示数组,数组元素用"空格"符号分割开。定义数组的一般形式为:数组名=(值1 值2 ... 值n)例如:array_name=(value0 value1 value2 value3)或者array_name=( value0 value1 value2 value3 )还可以单独定义数组的各个分量:array_name[0]=value0 array_name[1]=value1 array_name[n]=valuen可以不使用连续的下标,而且下标的范围没有限制。2. 读取数组读取数组元素值的一般格式是:${数组名[下标]}例如:valuen=${array_name[n]}使用 @ 符号可以获取数组中的所有元素,例如:echo ${array_name[@]}3. 获取数组的长度获取数组长度的方法与获取字符串长度的方法相同,例如:# 取得数组元素的个数 length=${#array_name[@]} # 或者 length=${#array_name[*]} # 取得数组单个元素的长度 lengthn=${#array_name[n]}
2021年01月19日
695 阅读
0 评论
0 点赞
2021-01-19
shell简介--(2)shell字符串
说明:本文转载自菜鸟教程字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。1. 单引号str='this is a string'单引号字符串的限制:单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;单引号字串中不能出现单独一个的单引号(对单引号使用转义符后也不行),但可成对出现,作为字符串拼接使用。2. 双引号your_name='runoob' str="Hello, I know you are \"$your_name\"! \n" echo -e $str输出结果为:Hello, I know you are "runoob"! 双引号的优点:双引号里可以有变量双引号里可以出现转义字符3. 拼接字符串your_name="runoob" # 使用双引号拼接 greeting="hello, "$your_name" !" greeting_1="hello, ${your_name} !" echo $greeting $greeting_1 # 使用单引号拼接 greeting_2='hello, '$your_name' !' greeting_3='hello, ${your_name} !' echo $greeting_2 $greeting_3输出结果为:hello, runoob ! hello, runoob ! hello, runoob ! hello, ${your_name} !4. 获取字符串长度使用\#string="abcd" echo ${#string} #输出 45. 提取字符串以下实例从字符串第 2 个字符开始截取 4 个字符:string="runoob is a great site" echo ${string:1:4} # 输出 unoo注意:第一个字符的索引值为 0。6. 查找字符串查找字符 i 或 o 的位置(哪个字母先出现就计算哪个):string="runoob is a great site" echo `expr index "$string" io` # 输出 4注意: 以上脚本中\` 是反引号,而不是单引号 ',不要看错了哦。
2021年01月19日
728 阅读
0 评论
0 点赞
2021-01-19
shell简介--(1)环境和变量
说明:本文转载自菜鸟教程
2021年01月19日
634 阅读
0 评论
0 点赞
2021-01-19
dtb文件的反汇编
在使用设备树时我们将*.dts文件利用dtc编译器编译为*.dtb文件。在已知*.dtb文件的情况下我们有两种方法可以得到dts源码:1. 使用fdtdump工具进行反汇编使用命令:root#fdtdump *.dtb > temp.dts反汇编生成的内容保存在temp.dts2. 使用dtc编译器进行反汇编dtc -h 可以查看dtc命令的帮助使用命令:root# dtc -I dtb -O dts -o temp1.dts s5pv210-smdkv210.dtb
2021年01月19日
1,015 阅读
0 评论
0 点赞
2021-01-18
vim知识点(1)--使用vim 查看二进制文件
暂无简介
2021年01月18日
1,312 阅读
0 评论
0 点赞
2021-01-18
Git常用命令助记
1. git的全局配置文件#查看当前的配置信息: $git config --list #编辑配置文件: $git config -e [--global] #配置提交代码时的账户信息: $git config [--global] user.name "[name]" $git config [--global] user.email "[email address]"2. 增加/删除文件#添加指定文件到暂存区 $git add [file1] [file2] ... #添加指定目录到暂存区,包括子目录 $git add [dir] #添加当前目录的所有文件到暂存区 $git add . #添加每个变化前,都会要求确认# 对于同一个文件的多处变化,可以实现分次提交 $git add -p #删除工作区文件,并且将这次删除放入暂存区 $git rm [file1] [file2] ... #停止追踪指定文件,但该文件会保留在工作区 $git rm --cached [file] #改名文件,并且将这个改名放入暂存区 $git mv [file-original] [file-renamed]3. 代码提交#提交暂存区到仓库区 $git commit -m [message] #提交暂存区的指定文件到仓库区 $git commit [file1] [file2] ... -m [message] #提交工作区自上次commit之后的变化,直接到仓库区 $git commit -a #提交时显示所有diff信息 $git commit -v #使用一次新的commit,替代上一次提交 $git commit --amend -m [message] #重做上一次commit,并包括指定文件的新变化 $git commit --amend [file1] [file2] ...4. 分支操作#列出所有本地分支 $git branch #列出所有远程分支 $git branch -r #列出所有本地分支和远程分支 $git branch -a #新建一个分支,但依然停留在当前分支 $git branch [branch-name] #新建一个分支,并切换到该分支 $git checkout -b [branch] #新建一个分支,指向指定commit $git branch [branch] [commit] #新建一个分支,与指定的远程分支建立追踪关系 $git branch --track [branch] [remote-branch] #切换到指定分支,并更新工作区 $git checkout [branch-name] #切换到上一个分支 $git checkout - #建立追踪关系,在现有分支与指定的远程分支之间 $git branch --set-upstream [branch] [remote-branch] #合并指定分支到当前分支 $git merge [branch] #选择一个commit,合并进当前分支 $git cherry-pick [commit] #删除分支 $git branch -d [branch-name]5. 查看提交变更#显示有变更的文件 $git status #显示当前分支的版本历史 $git log #显示commit历史,以及每次commit发生变更的文件 $git log --stat #显示指定文件相关的每一次diff $git log -p [file] #显示过去5次提交 $git log -5 --pretty --oneline #显示指定文件是什么人在什么时间修改过 $git blame [file] #显示暂存区和工作区的差异 $git diff #显示暂存区和上一个commit的差异 $git diff --cached [file] #显示某次提交的元数据和内容变化 $git show [commit] #显示某次提交发生变化的文件 $git show --name-only [commit]
2021年01月18日
734 阅读
0 评论
0 点赞
2021-01-14
git常用操作
使用git pull强制覆盖开发时,对于本地的项目中修改不做保存操作(或代码改崩),可以用到Git pull的强制覆盖,具体代码如下:git fetch --all && git reset --hard origin/master && git pull或git fetch --all // 下载远程仓库最新内容,不做合并git reset --hard origin/master // git reset指令把HEAD指向master最新版本,本地代码同步线上最新版本(会覆盖本地所有与远程仓库上同名的文件)git pull //可以省略git 撤销更改未使用 git add 缓存代码时可以使用 git checkout -- filepathname (比如: git checkout -- readme.md ,不要忘记中间的 “--” ,不写就成了检出分支了!!)。放弃所有的文件修改可以使用 git checkout . 命令。此命令用来放弃掉所有还没有加入到缓存区(就是 git add 命令)的修改:内容修改与整个文件删除。但是此命令不会删除掉刚新建的文件。因为刚新建的文件还没已有加入到 git 的管理系统中。所以对于git是未知的。自己手动删除就好了。已经使用了 git add 缓存了代码可以使用 git reset HEAD filepathname (比如: git reset HEAD readme.md)来放弃指定文件的缓存,放弃所以的缓存可以使用 git reset HEAD . 命令。此命令用来清除 git 对于文件修改的缓存。相当于撤销 git add 命令所在的工作。在使用本命令后,本地的修改并不会消失,而是回到了如(一)所示的状态。继续用(一)中的操作,就可以放弃本地的修改。已经用 git commit 提交了代码可以使用 git reset --hard HEAD^ 来回退到上一次commit的状态。此命令可以用来回退到任意版本:git reset --hard commitidgit log 可以查看请交历史记录git reset --soft commitID //只删除commitID之后的提交记录log,代码的改动还在。git reset --hard commitID //彻底删除commitID之后所做的改动,代码也一起回退回来了。 (慎重用,用前最好备份一下代码,或者用git diff 生成一个patch)
2021年01月14日
713 阅读
0 评论
0 点赞
2020-12-30
Vim入门(1)--快捷键记录
暂无简介
2020年12月30日
737 阅读
0 评论
0 点赞
2020-12-29
Linux grep命令
Linux grep命令简介Linux grep 命令用于查找文件里符合条件的字符串。grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据。grep家族总共有三个:grep,egrep,fgrep。语法grep [选项] "模式" [文件] grep [-abcEFGhHilLnqrsvVwxy][-A<显示行数>][-B<显示行数>][-C<显示行数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...] 参数-a 或 --text : 不要忽略二进制的数据。-A<显示行数> 或 --after-context=<显示行数> : 除了显示符合范本样式的那一列之外,并显示该行之后的内容。-b 或 --byte-offset : 在显示符合样式的那一行之前,标示出该行第一个字符的编号。-B<显示行数> 或 --before-context=<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前的内容。-c 或 --count : 计算符合样式的列数。-C<显示行数> 或 --context=<显示行数>或-<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前后的内容。-d <动作> 或 --directories=<动作> : 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。-e<范本样式> 或 --regexp=<范本样式> : 指定字符串做为查找文件内容的样式。-E 或 --extended-regexp : 将样式为延伸的正则表达式来使用。-f<规则文件> 或 --file=<规则文件> : 指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。-F 或 --fixed-regexp : 将样式视为固定字符串的列表。-G 或 --basic-regexp : 将样式视为普通的表示法来使用。-h 或 --no-filename : 在显示符合样式的那一行之前,不标示该行所属的文件名称。-H 或 --with-filename : 在显示符合样式的那一行之前,表示该行所属的文件名称。-i 或 --ignore-case : 忽略字符大小写的差别。-l 或 --file-with-matches : 列出文件内容符合指定的样式的文件名称。-L 或 --files-without-match : 列出文件内容不符合指定的样式的文件名称。-n 或 --line-number : 在显示符合样式的那一行之前,标示出该行的列数编号。-o 或 --only-matching : 只显示匹配PATTERN 部分。-q 或 --quiet或--silent : 不显示任何信息。-r 或 --recursive : 此参数的效果和指定"-d recurse"参数相同。-s 或 --no-messages : 不显示错误信息。-v 或 --invert-match : 显示不包含匹配文本的所有行。-V 或 --version : 显示版本信息。-w 或 --word-regexp : 只显示全字符合的列。比如找like,就不会匹配文本中的liker-x --line-regexp : 只显示全列符合的列。-y : 此参数的效果和指定"-i"参数相同。模式部分直接输入要匹配的字符串,这个可以用fgrep(fast grep)代替来提高查找速度,比如我要匹配一下hello.c文件中printf的个数:fgrep -c "printf" hello.c使用基本正则表达式,下面谈关于基本正则表达式的使用:匹配字符: . :任意一个字符。[abc] :表示匹配一个字符,这个字符必须是abc中的一个。[a-zA-Z] :表示匹配一个字符,这个字符必须是a-z或A-Z这52个字母中的一个。1 :匹配一个字符,这个字符是除了1、2、3以外的所有字符。对于一些常用的字符集,系统做了定义:[A-Za-z] 等价于 [[:alpha:]][0-9] 等价于 [[:digit:]][A-Za-z0-9] 等价于 [[:alnum:]]tab,space 等空白字符 [[:space:]][A-Z] 等价于 [[:upper:]][a-z] 等价于 [[:lower:]]标点符号 [[:punct:]]匹配次数:{m,n} :匹配其前面出现的字符至少m次,至多n次。? :匹配其前面出现的内容0次或1次,等价于{0,1}。:匹配其前面出现的内容任意次,等价于{0,},所以 ".*" 表述任意字符任意次,即无论什么内容全部匹配。位置锚定:^ :锚定行首$ :锚定行尾。技巧" ^$ "用于匹配空白行。\b或\<:锚定单词的词首。如"\blike"不会匹配alike,但是会匹配liker\b或\>:锚定单词的词尾。如"\blike\b"不会匹配alike和liker,只会匹配like\B :与\b作用相反。分组及引用:(string) :将string作为一个整体方便后面引用\1 :引用第1个左括号及其对应的右括号所匹配的内容。\2 :引用第2个左括号及其对应的右括号所匹配的内容。\n :引用第n个左括号及其对应的右括号所匹配的内容。扩展的(Extend)正则表达式注意:使用扩展的正则表达式要加-E选项,或者世界使用egrep匹配字符: 与基本正则表达式一样匹配次数::和基本正则表达式一样? :基本正则表达式是?,这里没有\。{m,n} :相比基本正则表达式也是没有了\。:匹配其前面的字符至少一次,相当于{1,}。位置锚定:和基本正则表达式一样。分组及引用:(string) :相比基本正则表达式也是没有了\。\1 :引用部分和基本正则表达式一样。\n :引用部分和基本正则表达式一样。或者:a|b :匹配a或b,注意a是指 | 的左边的整体,b也同理。比如 C|cat 表示的是 C或cat,而不是Cat或cat,如果要表示Cat或cat,则应该写为 (C|c)at 。记住(string)除了用于引用还用于分组。注1:默认情况下,正则表达式的匹配工作在贪婪模式下,也就是说它会尽可能长地去匹配,比如某一行有字符串 abacb,如果搜索内容为 "a.*b" 那么会直接匹配 abacb这个串,而不会只匹配ab或acb。注2:所有的正则字符,如 [ 、* 、( 等,若要搜索 ,而不是想把 解释为重复先前字符任意次,可以使用 * 来转义。参考:Linux grep命令-菜鸟教程linux中grep命令的用法123 ↩
2020年12月29日
874 阅读
0 评论
0 点赞
1
...
33
34
35
...
37