如下:
1.掌握至少50个以上的常用命令。2.熟悉Gnome/KDE等X-windows桌面环境操作。
3.掌握.tgz、.rpm等软件包的常用安装方法。
4.学习添加外设,安装设备驱动程序(比如网卡)。
5.熟悉Grub/Lilo引导器及简单的修复操作。
6.熟悉Linux文件系统和目录结构。
7.掌握vi,gcc,gdb等常用编辑器,编译器,调试器。
8.理解shell别名、管道、I/O重定向、输入和输出以及shell脚本编程。
9.学习Linux环境下的组网。
10. 学习Linux环境下的集群/内核。
这只是针对Linux,学好的定义请楼主自行判断。我来说一下我的理解(学好linux的理解)
1. 掌握常用命令(包括grep、awk、sed、ps、find等等吧,熟练使用,基础的选项不用man)
2. 第二项不解释
3. 毫无压力的安装tgz,deb以及rpm包,这是基础,学好的话理解rpm或是deb包的原理,不是很难的事情
4. 装驱动,同上一条,主要也就是解决问题吧
5. 这个在你先装了linux,后来又装windows的时候就会遇到。了解下grub的代码,也还好,网上讲解的比较多
6. 熟悉文件系统和目录结构,知道每个目录都是干嘛的。最好顺带了解下vfs,ext3文件系统等等,文件系统不属于内核
7. 不解释,基础工具,vim的话熟练使用,不用鼠标,知道高级技巧,别一味的想着配vimrc,没意思
8. shell脚本吧,学吧。最好再学个python或是perl
9. 组网,网络的知识,比如神马netstat、route,ping等等,要是能在深入下了解socket编程最好
10. 内核,终极学习,无穷无尽。学好就是意味着你能对每一种driver熟悉,大概看看其他driver就知道思路。
想学习更多知识,就关注我哦
我觉得学Linux的2个核心: 一个是命令; 另一个是shell, 而shell的核心则是正则。 我个人认为精通的标准有一条标准: 你能从网络上下载 kernel代码, 然后一步步给它加功能(XWindow)让它成为属于自己的独一无二的操作系统。
巧了,作为十年程序员,我的头条简介里写的就是精通linux。那研究到什么程度才叫精通linux呢?小编以自己的经历来做一个解释:(以下经历由浅入深)
1、至少安装过不下10种linux发行版,了解各个发行版的特性和差异。
2、多年的linux操作系统使用经验
使用linux可以让你对linux的机制有一些外在的感觉
3、至少3年linux环境编程经验
linux环境编程,可以让你对linux的实现机制有了解。你就可以知道在linux系统上该怎么玩,怎么样去实现自己的业务目的。
4、定制过linux内核和文件系统
这样的经历可以让你对linux内核的运行机制有更深刻的了解。你可以了解内核和文件系统的界限是什么?联系点是什么?如何从内核态转入应用态。
5、了解linux内核
linux环境编程告诉你怎么做,让你一步一步的调用函数来完成目标。
但是如果你想知道为什么这么做,或者说底层是怎么做的?你就需要深入内核了,推荐下面这本内核学习的入门书籍,这本书很通俗的讲解了linux内核的设计与实现。我通过这本书大粒度的了解了linux底层的实现机制。
6、深入linux内核
了解linux内核的基本运作原理对上层开发人员是够了,但是如果要成为一个linux精通者远远不够,我的做法是阅读源码,但是linux的源码太多了,我选择了赵炯的linux0.11的内核去对照学些,这样对linux内核的细节有了很深的了解。
7、开发驱动
驱动开发会用到很多linux内核相关的机制,比如自旋锁、信号量、硬件中断、软中断、线程、工作队列、时钟、DMA等。这些可以进一步加深对linux内核的理解。我开发过的驱动过包括,watchdog,gpio,lcd,串口,虚拟串口、网卡,pci/pcie,usb等。
8、从内核层面思考问题
现在我的一个习惯就是碰到问题,会从内核角度去思考,会从上层思考到内核层面是如何设计的、为什么这样设计。如果想不通,会自己阅读内核源码找答案。
以上就是我的经历,这个程度,算不算精通linux呢?
其实我是心虚的,因为linux内核博大精深,很多人穷其一生也只是研究了一个小模块。
在这样的巨无霸面前,我们要学习和深究的地方还很多,惭愧呀惭愧!
欢迎关注我,一起努力、一起学习linux内核。
入门:
会安装linux ,知道如何登录,添加用户,修改密码,重启,关机。知道如何使用bash,熟悉基本命令如ls cd 。会安装软件,会用apt yum 之类的包管理软件。
熟练 :
知道大多数linux目录的用途,理解linux权限的概念,熟练使用bash,熟练使用vim,熟练使用ssh,理解linux服务,可以调整linux各种设置。熟练使用mount挂载设备,熟练实用crontab.
掌握:
熟悉大多数linux命令,并且会部署各种服务环境。会编写bash脚本,会安装设备驱动。会做raid,会优化cpu 内存,虚拟内存,会优化TCP性能。自己编译各种软件,会解决软件相互依赖和冲突。熟练查看日志,操作记录。知道各个发行版之间的差异。
精通:
能通过源码自己编译linux.
大神级:
向linus提交代码,并被linus合并到下一个版本的内核升级中。
精通Linux这个不能一概而论,我认为需要掌握以下几个方面:
1. 基本操作
精通Linux首先要熟练掌握Linux的基本操作,包括文件系统操作、软件安装和管理、网络配置和管理、Shell编程等。这可以通过诸如《鸟哥的Linux私房菜》等经典教材来学习。
2. 操作系统原理
精通Linux需要对操作系统原理有深入的理解,了解Linux内核结构、进程管理、内存管理、文件系统、设备驱动等方面的知识。
3. 系统服务配置和管理
精通Linux还需要熟悉各种系统服务的配置和管理,如Web服务器、邮件服务器、数据库服务器等。这可以通过官方文档、教程和实际操作来学习。
4. 故障处理和性能优化
精通Linux需要能够自主解决各种常见的故障和问题,能够进行系统优化和调节,提高系统性能。这可以通过官方文档、博客、社区等途径学习。
5. 安全配置和防护
精通Linux还需要熟悉Linux系统的安全配置和防护,理解网络安全和数据安全的基本知识和技能。这可以通过安全相关的书籍和实际操作来学习。
总结,精通Linux不仅需要有广泛的知识面和深入的理解,还需要多方面的实践操作和持续学习。而对于我来说,精通Linux的标准是不同的,可根据自身需求和应用场景来评估,从事了多年运维工作,也只是日常应用,优化一些配置,对于更深层次操作系统内核方面的优化,还需要不断的去学习。