shell--awk的使用
awk 使用awk 是一个文本处理工具,主要用在文本“列处理”
使用说明
1awk + 选项(可不带) +'命令' + 处理文件或内容
选项参数:可输入awk -W help查看
常用
12345678-F fs or --field-separator fs指定输入文件折分隔符,fs是一个字符串或者是一个正则表达式,如-F ‘:’ 则以“:” 分割。-v var=value or --asign var=value赋值一个用户定义变量。-f scripfile or --file scriptfile从脚本文件中读取awk命令。
变量名关键词123456789101112NF:表示当前记录的字段数。$NF:表示当前记录的最后一个字段。$(NF-1):表示当前记录的倒数第二个字段。NR:表示当前处理的是第几行记录。FILENAME:当前处理的文件名。FS:字段分隔符,默认是空格或制表符。RS:记录分隔符,默认是换行符。OFS:输出字段的分隔符,默认为空格。ORS:输出记录的分隔符,默认为换行符。OFMT:数字输出格式,默认为%.6g。
函数toupper() ...
Linux命令--软件安装
apt 命令apt 可用于Debian 和 Ubuntu系统,它提供了查找、安装、升级、删除某一个、一组甚至全部软件包的命令
常用命令如下:
123456789101112131415161718192021222324252627282930313233343536373839404142# 列出所有可更新的软件清单命令sudo apt update # 升级软件包sudo apt upgrade# 列出可更新的软件包及版本信息apt list --upgradeable# 升级软件包,升级前先删除需要更新软件包sudo apt full-upgrade# 安装指定的软件命令sudo apt install <package_name># 安装多个软件包sudo apt install <package_1> <package_2> <package_3># 更新指定的软件命令sudo apt update <package_name># 显示软件包具体信息,例如:版本号,安装大小,依赖关系等等sudo apt show & ...
Linux驱动--WIFI驱动-AP6275P
WIFI 驱动场景需求:通过瑞芯微官方文档,知道rk3568 wifi支持 SDIO方式和PCIE方式。目前市面上使用SDIO方式居多。
型号选用区分:ap6275s 以s结尾的代表用SDIO通信ap6275P 以P结尾代表使用PCIE通信
PCIE驱动适配这里使用的是 rk3568 minipcie 方式,走的pcie 2x1.wifi模块正常工作以下引脚必须正确配置仅供参考,具体需结合原理图对应配置
名称
使用
pcie 供电
0 RK_PC6
wifi 供电控制
3 RK_PC4
wifi reg on
4 RK_PC4
说明:需要保证wifi模块 上链供电正常,reg 是控制wifi 的开关引脚,如果常开可以一直置高。
以下配置能实现是通过检测wifi供电控制引脚,控制wifi 开关引脚,从而达到软件实现开关。如果不需要控制可以常置高。
模块未采用host_wake,单纯仅使能wifi,蓝牙也不走,故这些都可以不用配置
设备树配置:12345678910111213141516171819202122232425262728293031323334353 ...
Linux系统--增加开机启动服务
自启服务根据systemd工具,增加开机启动服务
步骤1、编辑 /etc/systemd/system/my-test.service,没有这个文件就创建一个:
sudo touch /etc/systemd/system/my-test.service
2、然后编辑文件:
sudo vi /etc/systemd/system/my-test.service
123456789101112131415161718# 条件会判断该路径文件,不存在则报错[Unit]Description=/etc/my_test CompatibilityConditionPathExists=/etc/my_test# 服务配置路径、优先级、日志输出[Service]Type=forkingExecStart=/etc/my_test startTimeoutSec=0StandardOutput=ttyRemainAfterExit=yesSysVStartPriority=99# ...
Linux驱动--按键与LED适配
按键与LED灯描述:通过按键控制LED灯
ADC按键设备树配置ADC按键是通过ADC采样实现。通过对采样值设定,根据采集电压的不同,设置不同按键事件。
DTS配置示例如下:以下是使用adc0通道
12345678910111213141516171819202122232425262728293031323334353637/************************* 按键 *********************/adc_vin0_keys: adc-vin0-keys { status = "okay"; compatible = "adc-keys"; io-channels = <&saradc 0>; io-channel-names = "buttons"; poll-interval = <100>; keyup-threshold-microvolt = <1800000>; left-k ...
Linux驱动--触摸显示屏适配
触摸显示屏panel1、属性值配置:
power-supply: 配置电源
compatible: 可以配置成以下值: “simple-panel”; “simple-panel-dsi”;
ddc-i2c-bus: 给DDC EDID配置I2C控制器;
enable-gpios: 配置panel的使能脚;
reset-gpios: 配置panel的复位脚;
backlight: 指向背光的dts配置节点;
reset-delay-ms: 配置reset的脉冲时延;
enable-delay-ms: 配置panel显示前的延时值;
prepare-delay-ms: 配置panel接收图像数据前的延时值;
disable-delay-ms: 配置panel关闭前的延时值;
unprepare-delay-ms: 配置panel黑屏前的延时值;
width-mm: 配置panel的物理宽度尺寸[mm];
height-mm: 配置panel的物理高度尺寸[mm];
bpc: 配置像素点位深;
display-timings: 配置timing节点;
d ...
给过客的一些话
你好,不知什么原因,你经过此处。我是幸运的,因为在这,我能分享一些东西给你。
若有灵感,还请停下来思考下!
过去的某一天,有一个小孩问我“叔叔,为什么很多人都说星星比月亮大”,看着他清澈眼睛中流露出渴望的眼神,我不假思索。
“是因为我们看到的星星,是离我们很远很远的恒星发的光。地球是一颗行星,恒星比行星大很多万倍,月亮是地球的一颗卫星,比地球还小很多”。
“那什么是恒星啊?”正当我想向他解释我理解的恒星时,他被另一个同样年龄的小孩喊去玩了~
或许是我很久没见过那样的眼睛了,回到家中,我用“参悟”的方式进行了深度思考。倘若小孩没有去玩,接着和我聊天,我到后面将持续的灌输我自己的那些认知。肯定会说到“自转”、“公转”、“光速”、“万有引力”、“牛顿”、“苹果”……
我寻思在平常生活中,和其他成年人从不会讨论这些早被他们知悉的东西。也回想起在我成长过程中,我接受这些概念,是被迫的,从未对它们提出过质疑。
那小孩也许还未上学,在他认识的世界中,所见即所得,所见的天空是平面的,作为点的星星就应该比圆面的月亮小。长大后的我,这些年,从历史中学习,知道哪些事可以做,哪些不可以做,从身边人学习,哪 ...
Linux内核--kernel 目录介绍
Linux kernel 目录介绍kernel 源码结构
arch/包含各体系结构特定的代码,如 arm、x86、ia64、mips等,在每个体系结构目录下通常都有:(1) /boot:内核需要的 特定平台代码(2)/kernel:体系结构特有的代码(3)/lib:通用函数在特定体系结构的实现(4) /math-emu:模拟FPU的代码,在ARM中,使用/math-xxx代替(5) /mm:特定体系结构的内存管理实现(6) /include:特定体系的头文件
block/ 存放块设备相关代码
crypto/ 存放加密、压缩、CRC校验等算法相关代码
Documentation/ 存放相关说明文档,很多 实用文档,包括 驱动编写等
drivers/ 存放 Linux 内核设备驱动程序源码。驱动源码在 Linux 内核源码中站了很大比例,常见外设几乎都有 可参考源码,对驱动开发而言,该目录非常重要。该目录包含众多驱动,目录按照 设备类别 进行分类,如c ...