以下记录我掌握的一些Linux系统小知识点:
一. 内核相关
1. debugfs配置:
内核的debugfs的位置在/sys/kernel/debug,这里有很多debug相关的临时目录和文件,如下:
但是有的时候却发现/sys/kernel/debug目录为空,这时就看不到这些调试信息,可以采用如下两条命令挂载debugfs,如下:
mount -t debugfs debugfs /sys/kernel/debug
或者 mount -t debugfs none /sys/kernel/debug
2. kgdb调试arm64设备:
采用gdb调试内核,直接使用PC机上的gdb加载vmlinux即可,ubuntu上需要安装gdb-multiarch,然后采用gdb-multiarch加载vmlinux,不然连接target remote时会报“Remote 'g' packet reply is too long”的错误。
注:采用aarch64-linux-gnu-gdb交叉gdb也可以,但是有个麻烦的事情是如果这个交叉gdb不是自己构建出来的,那么和自己的本机host环境极可能不一致,可能需要配置本地环境,比如安装一个python虚拟环境,等等。
3. /proc/sys/kernel/printk含义:
【待补充】
二. tmux相关
1. 配置成vim的光标移动风格:
在~/.tmux.conf中加入以下配置行:
set-window-option -g mode-keys vi
然后使用以下命令重新加载这个配置:
tmux source-file ~/.tmux.conf
此时可以采用以下流程进行窗口中的文本复制,提高输入命令的效率,使得窗口中的操作几乎无需使用鼠标,更有编码大神的风范。
键盘进行文本的复制粘贴方法:
step1:按Ctrl + b + [ 组合键进入复制模式;
step2:采用vim的光标移动键(比如h,k,b,w,e,0,$等)定位文本选择的起始位置;
step3:按空格键开始选择文本
step4:采用vim的光标移动键(比如h,k,b,w,e,0,$等)定位文本选择的结束位置;
step5:按Enter键复制文本到tmux的剪切板上,此时自动退出复制模式,进入标准模式(待确认是否叫做标准模式);
step6:在窗口的光标处按Ctrl + b + ] 组合键粘贴刚刚复制的文本。