C语言使用syslog
syslogd和klogdsyslogd是Linux系统日志守护进程,负责接收、记录和分发系统日志,通常配合/etc/syslog.conf使用。klogd是Linux内核日志守护进程,符合收集和处理内核信息,通常配合syslogd使用,但是也可以独立使用。
配置文件解析配置文件的语法: facility.level actionfacility: 标识符
kern 内核信息,首先通过 klogd 传递; user 用户进程; mail 邮件; daemon 后台进程; authpriv 授权信息; syslog 系统日志; lpr 打印信息; news 新闻组信息; uucp 由uucp生成的信息 cron 计划和任务信息。 mark syslog 内部功能用于生成时间戳 local0~local7 与自定义程序使用* 通配符代表除了 mark 以外的所有功能
level: 日志等级
syslog 级别如下:(按严重程度由高到低的顺序列出了所有可能的优先级。) emerg 或 panic ...
1.从零开始学Linux内核源码 - 源码下载及配置编译
所有操作均是linux-6.8.2版本
kernel源码下载
官方网站
linux-6.8.2
kernel目录结构
目录说明
目录
说明
arch
包含了各种不同的CPU体系架构的代码,如果ARM、x86、MIPS等
block
包含块设备相关的代码
crets
包含了用于签名和验证内核模块的证书文件和工具
crypto
包含加密相关的代码
Documentation
包含了内核的文档,包括各种文档、注释和帮助文件
drivers
含了设备驱动程序的源代码,如输入输出设备、网络设备等
fs
包含了文件系统相关的代码,如 ext4、NTFS、FAT 等
include
包含了一些头文件,用于引入定义和声明
init
包含了启动和初始化代码
io_uring
包含了与 io_uring 框架相关的代码
ipc
包含了进程间通信相关的代码
kernel
包含了内核的核心代码
lib
包含了一些通用的函数库
mm
包含了内存管理相关的代码
net
包含了网络协议栈相关的代码
rust
引入了一些rust特性
samp ...
Ubuntu交叉编译环境配置
安装依赖下面是arm/mips在ubuntu 22.04上常用的依赖项
sudo apt-get update sudo apt-get install gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils subversion libncurses5-dev ncurses-term zlib1g-dev subversion git-core gawk asciidoc libz-dev zlib1g-dev libssl-dev pkg-config unzip zlib1g-dev libc6-dev libncurses5-dev gawk sharutils curl libxml-parser-perl ocaml-nox ocaml ocaml-findlib libssl-dev libfdt-dev quilt device-tree-compiler u-boot-tools lsb-core lib32z1 cmake mtd-util ...
Linux系统时区设置
UTC、GMT、CST、DST以及Unix时间戳UTC - 时间标准时间 全球通用的时间标准,是一堆大佬根据原子钟和地球自转计算出来的。
GMT - 格林威治时间 规定太阳每天经过位于英国伦敦郊区的皇家格林威治天文台的时间为中午12点。
GMT是前世界标准时,UTC是现世界标准时。UTC以原子时计时所以比GMT更精确,但是日常生活中精确到秒的情况下,二者可以视为相同
CST - Central Standard Time 可同时代表4个时区:美国中部、澳大利亚、中国和古巴。
Central Standard Time (USA) UT-6:00Central Standard Time (Australia) UT 9:30China Standard Time UT 8:00Cuba Standard Time UT-4:00
DST - 夏令时 为了节约能源,提高日光利用率,夏季太阳升起较早人为将时间调快一个小时,夏令时切换当天一天只有23个小时,同时冬令时切换当天,一天有25个小时
Unix时间戳 UNIX时间戳是UTC时间,从1970年01月01日00时00分00秒到 ...
cmake基础语法
CMakeLists.txt#CMAKE定义的变量区分大小写,但命令不区分大小写#CMKAE定义了两个变量: PROJECT_SOURCE_DIR 和 PROJECT_BINARY_DIR#设置cmake的版本cmake_minimum_required(VERSION 3.10)#可以通过on/off编译过程的详细信息SET( CMAKE_VERBOSE_MAKEFILE on ) #设置交叉编译器set(CMAKE_C_COMPILER "mipsel-openwrt-linux-gcc")set(CMAKE_C_FLAGS "-W -Wall -lpthread")add_definitions("-Werror")#设置工程名project(httpsd) #定义了两个变量 demo_BINARY_DIR 和 demo_SOURCE_DIR#message 相当于 echo,输出到屏幕message(${PROJECT_SOURCE_DIR}) #CMakeLists.txt所在的文件夹,等价于P ...
GIT基础命令
git configgit config --global user.name "example"git config --global user.email examplegit config --list ssh-keygen -t rsa -C "example"
git clonegit clone < repo url >
git branchgit branch //列出本地分支git branch -r //列出远程分支git branch -a //列出所有分支git branch test //切换至test分支,确保当前无修改,如果分支不存在则创建分支git branch -d test //删除test分支git branch -D test //强制删除test分支git branch -vv //查看最近一次提交git branch -m newtest //修改分支名称git push origin --delete test //删除远程test分支
git checkoutgit checkout fi ...
HEXO搭建个人博客
推荐使用butterfly主题*作者提供了非常棒的说明文档,点击链接立刻开始搭建你自己的小站吧主题链接
常用命令hexo generate构建静态网站
$ hexo g
hexo deploy一键部署到GITHUB PAGE,参考HEXO官方文档链接
$ hexo deploy
hexo n -p dir/title新增文章到指定文件夹,该文件夹的根目录为source/_posts/
$ hexo n -p study/hexo/HEXO搭建个人博客