linux 和 操作系统知识点

本文详细介绍了Linux操作系统中的常用命令、CPU占用排查、IO模型、网络IO多路复用模型、内存存储机制(包括页式存储、内存映射技术)、磁盘读写原理、总线概念以及任务状态段(TSS)等内容。通过分析,揭示了Linux如何有效地管理内存,处理IO操作,以及进程在用户态与内核态间的切换。此外,还探讨了内存碎片、延迟写和内存池等概念,帮助读者深入理解Linux操作系统的底层工作原理。
摘要由CSDN通过智能技术生成

常用命令

ps -ef 查询所有进程,包含启动信息,启动用户、进程id
pmap -x 查询进程内存占用
top 查看系统运行情况,查看负载,内存占用,cpu占用,用M按内存排序,用P按照cpu占用排序。top -Hp 制定进程输出线程信息。
du -h --max-depth=1 查看当前一级目录下的文件大小,不指定深度则当前目录下每个字目录都会列出来
df -h df是查看磁盘总使用情况,-h是方便阅读
printf 标准化输出,可以用于输出格式化数。比如pritf %x 转换16进制输出,%d输出10进制,%o输出8进制。
lsof -i:端口号 查看端口占用
netstat -ntlp 查看所有tcp端口占用,通过grep搜索
awk命令
vim命令 dd删除整行数据
free -h 查看内存
grep 查询文本、-a 10查后面10条,-b 查前面,-10查前后。配合tail -n 1只返回对应匹配的最后一行,配合 head -1查询匹配的第一行
less 看日志,FF到最后
tail -f 监控日志,-n 指定输出行
cat 查看文件
cp -rf 复制文件和覆盖
mv 移动和重命名
which 查找配置命令的文件
mkdir 创建文件夹
touch 创建空白文件
awk
sent
tar -xzvf 解压

vim命令大全

Ctrl+u:向文件首翻半屏;
Ctrl+d:向文件尾翻半屏;
Ctrl+f:向文件尾翻一屏;
Ctrl+b:向文件首翻一屏;
Esc:从编辑模式切换到命令模式;
ZZ:命令模式下保存当前文件所做的修改后退出vi;
:行号:光标跳转到指定行的行首;
:$:光标跳转到最后一行的行首;
x或X:删除一个字符,x删除光标后的,而X删除光标前的;
D:删除从当前光标到光标所在行尾的全部字符;
dd:删除光标行正行内容;
ndd:删除当前行及其后n-1行;
nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字;
p:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的下方;
P:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的上方;
/字符串:文本查找操作,用于从当前光标所在位置开始向文件尾部查找指定字符串的内容,查找的字符串会被加亮显示;
?name:文本查找操作,用于从当前光标所在位置开始向文件头部查找指定字符串的内容,查找的字符串会被加亮显示;
a,bs/F/T:替换文本操作,用于在第a行到第b行之间,将F字符串换成T字符串。其中,“s/”表示进行替换操作;
a:在当前字符后添加文本;
A:在行末添加文本;
i:在当前字符前插入文本;
I:在行首插入文本;
o:在当前行后面插入一空行;
O:在当前行前面插入一空行;
:wq:在命令模式下,执行存盘退出操作;
:w:在命令模式下,执行存盘操作;
:w!:在命令模式下,执行强制存盘操作;
:q:在命令模式下,执行退出vi操作;
:q!:在命令模式下,执行强制退出vi操作;
:e文件名:在命令模式下,打开并编辑指定名称的文件;
:n:在命令模式下,如果同时打开多个文件,则继续编辑下一个文件;
:f:在命令模式下,用于显示当前的文件名、光标所在行的行号以及显示比例;
:set number:在命令模式下,用于在最左端显示行号;
:set nonumber:在命令模式下,用于在最左端不显示行号;

排查cpu占用高

  1. 查找cpu进程占用cpu最高的,top后p根据cpu排序
  2. printf %x 进程id 获得进程id对应16进制的数。
  3. top -Hp 进程id,查找进程中线程占用情况。
    p表示查看指定进程中的线程信息,H表示查看开启线程查看。Shift+H可以开启关闭线程显示
  4. jstack 进程id | grep -A 20 线程id。查看占用高的线程堆栈信息,从而看到是哪一行代码有问题。

5种io模型

  • 同步阻塞io。需要等待数据准备好(读取网络数据、文件数据等到内核空间),需要等待数据从内核空间复制到用户空间
  • 同步非阻塞io。不需要等待数据准备好,需要等待数据从内核空间复制到用户空间
  • 同步多路复用io。通过集合存储多个文件描述符,同时监听处理多个io。select poll epoll
  • 信号驱动式io。通过信号告知应用程序数据已准备好,应用程序通过系统调用将数据从内核空间复制到用户空间。
  • 异步io。两步都不需要等待,不需要阻塞等待数据复制到用户空间,在数据复制到用户空间后,通过回调,通知应用程序处理
  • </
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值