1
最近发现一个好东西,在 github 上发现的,我觉得非常适合大家研究 linux,说白了就是一些命令而已,只不过是作者帮忙总结好了,比较适合大家开发和学习 linux 系统,so , 推荐给大家学习下。
https://linuxtools-rst.readthedocs.io/zh_CN/latest/index.html
https://github.com/me115/linuxtools_rst
书籍的分类也非常不错,分为了三个大目录
第一部分为基础篇,介绍我们工作中常用的工具的高频用法;
第二部分为进阶篇,介绍的工具更多的适合程序员使用,分为程序构建、程序调试及程序优化;
第三部分是工具参考篇,主要介绍实用工具的用法和实例;相比第一二部分,这里针对每个工具的介绍更全面;
2
我是偶然找到这个博客,第三章的调试功能对我非常有用,gdb 这样的命令我觉得学习 linux 的应该都要掌握。还有一些其他命令,都非常实用,可能有些命令之前看到过,不过很长时间不用,又忘记了,可以把这博客收藏一下,遇到问题回来再查询会非常便捷。下面是书籍的详细目录,有些子章节没有列出来,有需要可以自己查询。
Linux基础
1. 学会使用命令帮助
2. 文件及目录管理
3. 文本处理
4. 磁盘管理
5. 进程管理工具
6. 性能监控
7. 网络工具
8. 用户管理工具
9. 系统管理及IPC资源管理
Linux工具进阶
1. 程序构建
2. 程序调试
3. 性能优化
工具参考篇
1. gdb 调试利器
2. ldd 查看程序依赖库
3. lsof 一切皆文件
4. ps 进程查看器
5. pstack 跟踪进程栈
6. strace 跟踪进程中的系统调用
7. ipcs 查询进程间通信状态
8. top linux下的任务管理器
9. free 查询可用内存
10. vmstat 监视内存使用情况
11. iostat 监视I/O子系统
12. sar 找出系统瓶颈的利器
13. readelf elf文件格式分析
14. objdump 二进制文件分析
15. nm 目标文件格式分析
16. size 查看程序内存映像大小
17. wget 文件下载
18. scp 跨机远程拷贝
19. crontab 定时任务
3
其他部分的目录,我也截图出来看看,大家可以根据需要去查阅自己感兴趣的部分。
1. 学会使用命令帮助
1.1. 概述
1.2. 命令使用
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 文件查找
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 数据流处理工具
3.12. 迭代文件中的行、单词和字符
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资源管理
9.3. 总结
4
对于我来说,我更加关心后面的部分,那些部分才最精彩的,调试程序过程中经常用到。当然如果这些资料还不够你学习,那你只能后台回复 1024 来获取更多的学习资料了。再我看来,资料不是越多越好,占领硬盘的东西没有时间去看也没有意义,关键在于自己能够消化多少知识,运用多少技能在学习和工作上。