Linux工具快速教程
Linux基础
1. 学会使用命令帮助
1.1. 概述
1.2. 命令使用
查看命令的简要说明
使用man
查看路径
总结
2. 文件及目录管理
2.1. 创建和删除
2.2. 目录切换
2.3. 列出目录项
2.4. 查找目录及文件 find/locate
2.5. 查看文件内容
2.6. 查找文件内容
2.7. 文件与目录权限修改
2.8. 给文件增加别名
2.9. 管道和重定向
2.10. 设置环境变量
2.11. Bash快捷输入或删除
2.12. 综合应用
2.13. 总结
3. 文本处理
3.1. find 文件查找
定制搜索
找到后的后续动作
-print的定界符
3.2. grep 文本搜索
3.3. xargs 命令行参数转换
3.4. sort 排序
3.5. uniq 消除重复行
3.6. 用tr进行转换
3.7. cut 按列切分文本
3.8. paste 按列拼接文本
3.9. wc 统计行和字符的工具
3.10. sed 文本替换利器
3.11. awk 数据流处理工具
print 打印当前行
特殊变量: NR NF $0 $1 $2
传递外部变量
用样式对awk处理的行进行过滤
设置定界符
读取命令输出
在awk中使用循环
awk结合grep找到指定的服务,然后将其kill掉
awk实现head、tail命令
打印指定列
打印指定文本区域
awk常用内建函数
3.12. 迭代文件中的行、单词和字符
1. 迭代文件中的每一行
2.迭代一行中的每一个单词
3. 迭代每一个字符
4. 磁盘管理
4.1. 查看磁盘空间
4.2. 打包/ 压缩
4.3. 解包/解压缩
4.4. 总结
5. 进程管理工具
5.1. 查询进程
5.2. 终止进程
5.3. 进程监控
5.4. 分析线程栈
5.5. 综合运用
5.6. 总结
6. 性能监控
6.1. 监控CPU
6.2. 查询内存
6.3. 查询页面交换
6.4. 查询硬盘使用
6.5. 综合应用
6.6. 总结
6.7. 附录
7. 网络工具
7.1. 查询网络服务和端口
7.2. 网络路由
7.3. 镜像下载
7.4. ftp sftp lftp ssh
7.5. 网络复制
7.6. 总结
8. 用户管理工具
8.1. 用户
添加用户
删除用户
8.2. 用户的组
将用户加入到组
查看系统所有组
8.3. 用户权限
更改读写权限
更改文件或目录的拥有者
8.4. 环境变量
8.5. 总结
9. 系统管理及IPC资源管理
9.1. 系统管理
查询系统版本
查询硬件信息
设置系统时间
9.2. IPC资源管理
IPC资源查询
检测和设置系统资源限制
9.3. 总结
Linux工具进阶
1. 程序构建
1.1. 配置
1.2. 编译
makefile编写的要点
makefile中的全局自变量
更多选择 CMake
编译依赖的库
g++编译
1.3. 安装
1.4. 总结
2. 程序调试
2.1. 进程调试
gdb 程序交互调试
pstack 跟踪栈空间
strace 分析系统调用
2.2. 目标文件分析
nm
objdump
readelf
size 查看程序内存占用
file 文件类型查询
strings 查询数据中的文本信息
fuser 显示文件使用者
xxd 十六进制显示数据
od
3. 性能优化
3.1. 分析系统瓶颈
3.2. 分析内存瓶颈
3.3. 分析IO瓶颈
3.4. 分析进程调用
3.5. 优化程序代码
gprof使用步骤
3.6. 其它工具
工具参考篇
1. gdb 调试利器
1.1. 启动gdb
1.2. gdb交互命令
运行
设置断点
查看源代码
打印表达式
查询运行信息
分割窗口
1.3. 更强大的工具
cgdb
2. ldd 查看程序依赖库
3. lsof 一切皆文件
3.1. 命令参数
3.2. 使用实例
实例1:无任何参数
实例2:查找某个文件相关的进程
实例3:列出某个用户打开的文件信息
实例4:列出某个程序进程所打开的文件信息
实例5:列出某个用户以及某个进程所打开的文件信息
实例6:通过某个进程号显示该进程打开的文件
实例7:列出所有的网络连接
实例8:列出所有tcp 网络连接信息
实例9:列出谁在使用某个端口
实例10:列出某个用户的所有活跃的网络端口
实例11:根据文件描述列出对应的文件信息
实例12:列出被进程号为1234的进程所打开的所有IPV4 network files
实例13:列出目前连接主机nf5260i5-td上端口为:20,21,80相关的所有文件信息,且每隔3秒重复执行
4. ps 进程查看器
4.1. 命令参数
4.2. 输出列的含义
4.3. 使用实例
实例1:显示所有进程信息
实例2:显示指定用户信息
实例3:显示所有进程信息,连同命令行
实例4: ps 与grep 组合使用,查找特定进程
实例5:将与这次登入的 PID 与相关信息列示出来
实例6:列出目前所有的正在内存中的程序
5. pstack 跟踪进程栈
6. strace 跟踪进程中的系统调用
6.1. 输出参数含义
6.2. 参数
6.3. 命令实例
跟踪可执行程序
跟踪服务程序
7. ipcs 查询进程间通信状态
7.1. IPC资源查询
查看系统使用的IPC资源
查看IPC资源被谁占用
7.2. 系统IPC参数查询
7.3. 修改IPC系统参数
7.4. 清除IPC资源
7.5. 综合应用
查询user1用户环境上是否存在积Queue现象
8. top linux下的任务管理器
8.1. top命令交互操作指令
8.2. 实例
实例1:多核CPU监控
实例2:高亮显示当前运行进程
实例3:显示完整的程序命令
实例4:显示指定的进程信息
8.3. 更强大的工具
htop
9. free 查询可用内存
10. vmstat 监视内存使用情况
10.1. vmstat的语法
10.2. 字段说明
11. iostat 监视I/O子系统
11.1. 命令格式
11.2. 命令功能
11.3. 命令参数
11.4. 工具实例
实例1:显示所有设备负载情况
实例2:定时显示所有信息
实例3:查看TPS和吞吐量
实例4:查看设备使用率(%util)和响应时间(await)
12. sar 找出系统瓶颈的利器
12.1. 追溯过去的统计数据
12.2. 查看CPU使用率
12.3. 查看平均负载
12.4. 查看内存使用状况
12.5. 查看页面交换发生状况
12.6. 安装
12.7. sar参数说明
13. readelf elf文件格式分析
13.1. 参数说明
13.2. 示例
13.3. 完整输出
14. objdump 二进制文件分析
14.1. 常用参数说明
14.2. 示例
15. nm 目标文件格式分析
15.1. 选项说明
15.2. 符号说明
15.3. 示例
16. size 查看程序内存映像大小
17. wget 文件下载
17.1. 命令格式
17.2. 命令参数:
启动参数:
记录和输入文件参数
下载参数
目录参数
HTTP 选项参数
FTP 选项参数
递归下载参数
17.3. 使用实例
实例1:使用wget下载单个文件
实例2:使用wget -O下载并以不同的文件名保存
实例3:使用wget –limit -rate限速下载
实例4:使用wget -c断点续传
实例5:使用wget -b后台下载
实例6:伪装代理名称下载
实例7:使用wget -i下载多个文件
实例8:使用wget –mirror镜像网站
实例9: 使用wget -r -A下载指定格式文件
实例10:使用wget FTP下载
17.4. 编译安装
18. scp 跨机远程拷贝
18.1. 命令格式:
18.2. 命令参数:
18.3. 使用说明
从本地服务器复制到远程服务器
18.4. 使用示例
实例1:从远处复制文件到本地目录
实例2:从远处复制到本地
实例3:上传本地文件到远程机器指定目录
实例4:上传本地目录到远程机器指定目录
19. crontab 定时任务
19.1. 命令格式
19.2. 命令参数
19.3. crontab的文件格式
19.4. 常用方法
创建一个新的crontab文件
列出crontab文件
编辑crontab文件
删除crontab文件
19.5. 使用实例
实例1:每1分钟执行一次myCommand
实例2:每小时的第3和第15分钟执行
实例3:在上午8点到11点的第3和第15分钟执行
实例4:每隔两天的上午8点到11点的第3和第15分钟执行
实例5:每周一上午8点到11点的第3和第15分钟执行
实例6:每晚的21:30重启smb
实例7:每月1、10、22日的4 : 45重启smb
实例8:每周六、周日的1 : 10重启smb
实例9:每天18 : 00至23 : 00之间每隔30分钟重启smb
实例10:每星期六的晚上11 : 00 pm重启smb
实例11:每一小时重启smb
实例12:晚上11点到早上7点之间,每隔一小时重启smb
19.6. 使用注意事项
注意环境变量问题
注意清理系统用户的邮件日志
系统级任务调度与用户级任务调度
其他注意事项
Linux工具快速教程
Docs
»
Linux工具进阶
View page source
Next
Previous
Linux工具进阶
¶
程序篇
1. 程序构建
2. 程序调试
3. 性能优化