2020年4月15日 下午12:04
序:
- 为什么会有这篇文章?
- 因为我即使在学习、使用linux命令的过程中详细的做了笔记,但是如果半个月不用真的就忘了大半,每次返回来在复习笔记的过程中还是觉得学习路线不清晰,都是散乱的点,所以我就尝试能不能再找一个角度进行总结,所以就有了这篇文章。
- 那为什么要以对象单元为角度呢?
- 其实这个角度我自己起的名字,我的初衷是希望可以结合linux系统的知识反过来推理linux应该提供哪些命令帮助程序员了解linux的运行情况。那么首当其冲的就是以进程为单位,因为linux系统中所有的任务都是一个或者多个进行在处理。对于一个进程进行socket文件读写的任务,从理论上来说我们既可以从进程的角度进行描述,也可以从设备读写的角度进行描述,也可以从网络的角度进行描述,正式因为这种角度的多样性,linux需要为不同需要的程序员来提供各自合适的工具。
linux为开发者提供的工具包
curl
traceroute
客户端操作进程的方式:
Linux 守护进程的启动方法:bg、disown、nohup、tmux、sytemd
以硬件设备为单位,查看硬件的执行情况
ifconfig以网卡为单位
iftop网卡为单位
根据iostate判断计算机瓶颈读写设备为单位
查看系统版本和管理员
查询cpu信息cpu
以进程为单位,查看linux各个子系统的执行情况:
- lsof(list open files)进程为单位,查看文件读写系统
- iotop:每个进程是如何使用 IO进程为单位,查看io子系统
- ps进程为单位
僵尸进程:原理+清理
kill进程为单位
以其他为单位,查看子系统的执行情况
netstat以连接为单位
iptable以规则为单位
看懂本机上的路由表,并操作以路由规则为单位
硬盘:
df目录结构
硬盘目录结构