源地址:http://www.douban.com/note/60936243/linux
通过几年的发展,公司在互联网公司里面也算是大公司了,线上机器使用的操做系统都是Linux,部门有几个同事,每天都跟Linux打交道,因此,我就一直在考虑,这些同事的进阶之路在哪里,怎么样就算是一个Linux高手了呢?在网上了搜索了一下,有一些人说的仍是值得考虑一下:
我玩了10年的Shell编程,还不敢说本身精通Shell。别说其余的,你能把shell真正搞通,已经比大部分拿1万以上月薪的system admin强了。
Linux操做系统主要就是一些配置文件和一些命令行工具,要掌握操做系统的主要目录结构和配置文件,运用系统的命令行工具完成常规的操做系统维护工做,监控工做。进而你能够安装部署一些企业应用,进行监控、管理等等。
把/etc目录下面经常使用的配置你都搞懂,把 /bin /sbin /usr/bin /usr/sbin下面经常使用的命令搞懂 会用shell编写常规的维护脚本
这样你已经很是厉害了。
liuqiang:
来点实际的吧,我以为linux有两条明路能够走
1 嵌入式linux,把握好机会,从薪水这个角度讲,这个方向是不错的。
2 linux集群, 瞄准这个方向也能够,但缺点是不太好学,须要必定的学习环境,只有抓住机会混到大公司去锻炼下。
至于shell,我以为搞这个东西更多的是靠经验,你说没事拿个shell瞎敲命令,我保证你敲一个星期就没兴趣了。在工做中碰到实际的问题,而后解决问题,这样学习最有效。
总之想开一点,作出决定以前,请多考虑下本身能坚持学习多少时间。
makefile:
linux 命令必须很熟悉,对find.sed,awk必须更熟悉,会正则。
了解unix编程,编译,知道gnu下的不少著名软件并会用。
example:m4,automake,autoconfig,binutils,gcc,...
能熟练试用vi,熟悉makefile...
可能的话掌握一种xwin开发方式gtk,qt等。
搞明白文件系统,能掌握50%以上/dev下设备干嘛用的,并会用。
能知道/var下都有哪些重要东西。
熟悉/etc下的配置,了解常见的服务的配置
example:
squid,apache,natd,named,ftpd,sshd,xinetd
知道启动的时候unix按哪些顺序启动,并配置服务
C语言。
知道怎么安装软件
不单单是pkg_add,rpm,
知道怎样监控进程,网络
知道怎么追踪core
这些都熟悉了,基本算unix初通了,能作个unix初级使用者
ztka:
先能够试试看本身用linux组建域服务器,代理服务器,email服务器等,知足企业的基本网络架构的要求。
hexstar:
Linux下面 top,vmstat,iostat, netstat,iptables这些都应该了解吧。
用Ubuntu一年半了,仍是发现什么都不会 :(
steven-zhou:
看你想达到什么层次了,我我的的理解是:
初级:熟练使用命令、熟悉Shell编程、能配置简单的服务,清楚各种服务相关的配置文件的位置,
能看懂并可修改系统提供的配置脚本(/etc/*.*)
推荐书籍:
《鸟哥的私房菜基础篇、高级篇》
《Advanced Bash Shell》
中级:熟悉TCP/IP原理、OS原理、熟练使用C语言、Linux系统编程、网络编程。
推荐书籍:
《The C Programming Language》
《Unix环境高级编程》
《Linux程序设计》
《TCP/IP协议详解卷一》
《Unix网络高级编程》
高级:
《Linux Device Driver》
《深刻理解Linux内核》
《深刻理解计算机系统》
《深刻理解LINUX网络内幕》
上面这些书单中,是咱们公司一个玩Kernel的牛人开出的。
任何知识的学习都不是一蹴而就的,须要反复实践,反复理解。
祝你成功!ios