printk与printf有个不同的地方,就是printk有打印级别
使用printk时,Linux内核根据日志级别,可能把消息打印到当前控制台上,这个控制台是一个字符设备。这些消息从终端输出的前提是日志输出级别小于console_loglevel。(越小级别越高)
日志级别有八个:0-7
通过读写/proc/sys/kernel/printk文件可以读取、修改控制台的日志级别。
查看这个文件:
cat /proc/sys/kernel/printk
上面显示的数字:6、7、1、6分别对应控制台日志级别、默认的消息日志级别、最低的控制台日志级别和默认的控制台日志级别。
可以使用下面命令设置当前日志级别:
etho 8 > /proc/sys/kernel/printk
这样所有级别小于8的都可以打印在控制台终端上了。
重新运行程序,看到自己写的驱动代码打印出信息: