转:如何成为Linux高手
源地址:http://www.douban.com/note/60936243/
经过几年的发展,公司在互联网公司里面也算是大公司了,线上机器使用的操作系统都是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的牛人开出的。
任何知识的学习都不是一蹴而就的,需要反复实践,反复理解。
祝你成功!
转:如何成为Linux高手的更多相关文章
- 总结七条助你成为Linux高手的超棒忠告
起初Linux对于我来说其实是很纠结的,因为很早以前就听说过.也曾见各种技术大牛使用过,但是一直觉得非常高深而没有去正式接触.两年前随着自己工作愈发的乏味,又看到了一篇叫做"虽然我是医生,但 ...
- Linux测试环境搭建的学习建议
随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起.这里介绍学习Linux测试环境搭建的一些建议. 一.Linux测试环境搭建从基 ...
- 忠告初学者学习Linux系统的8点建议
导读 新手或者说即将要入坑的小伙伴们,常常在QQ群或者在Linux论坛问一些问题,不过,其中大多数的问题都是很基础的.例如:如何给添加的用户归属用户组,复制整个文件到另一个目录下面,磁盘合理划分,甚至 ...
- Linux 路线 推荐
1.<Linux程序设计>- 靠它来入门,然后装一个linux体系,练习shell(party)和linuxC,把基础打牢: 2. <深入理解Linux内核>和<Linu ...
- 献给初学者:谈谈如何学习Linux操作系统
本文出自 “技术成就梦想” 博客,请务必保留此出处http://ixdba.blog.51cto.com/2895551/569329. 为了能把这篇不错的文章分享给大家.所以请允许我暂时用原创的形式 ...
- Linux 下 Shell 命令的分类及用法
当你打算真正操纵好你的 Linux 系统,没有什么能比命令行界面更让你做到这一点.为了成为一个 Linux 高手,你必须能够理解 Shell命令的不同类型,并且会在终端下正确的使用它们. 在 Linu ...
- 【系统】CentOS、Ubuntu、Debian三个linux比较异同
CentOS.Ubuntu.Debian三个linux比较异同 2014-07-31 12:58 53428人阅读 评论(6) ...
- Linux系统新手学习的11点建议
随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起.这里介绍学习Linux的一些建议. 一.从基础开始:常常有些朋友在Linux论 ...
- 如何实现windows和linux之间的文件传输
2010-04-25 18:10 如何实现windows和linux之间的文件传输 如果想从windows中传送大量文件到Linux中,想必会难倒部分Linux初学者,尤其是文件很大时.我曾试过在li ...
随机推荐
- META标签的定义与使用(二、页面描述信息(NAME))
二.name的content指定实际内容.如:如果指定level(等级)为value(值),则Content可能是beginner(初级).intermediate(中级).advanced(高级). ...
- scala中Array简单实用
/** * 在scala中数组的使用 * 和java很类似,初始化后,长度就固定了,而且元素全部根据其类型初始化 * */ object arrayUse { def main(args: Array ...
- 配置文件一mybatis-config.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC & ...
- git使用过程中问题
git提交文件命令顺序 fetch merge add commit pull push 取消已add文件 git reset HEAD 文件名 覆盖本地文件 git checkout 文件名 $ g ...
- Ubunto 无法连接ssh客服端
解决办法: (1)查看ip地址是否冲突 我在单位的虚拟机ip地址是192.168.14.85,与其它机器冲突了.改成了192.168.14.83 (2)关闭Ubuntu14.04的防火墙 root ...
- VS2010-MFC(对话框:一般属性页对话框的创建及显示)
转自:http://www.jizhuomi.com/software/169.html 属性页对话框包括向导对话框和一般属性页对话框两类,上一节演示了如何创建并显示向导对话框,本节将继续介绍一般属性 ...
- ASP.NET的底层体系2
文章引导 1.ASP.NET的底层体系1 2.ASP.NET的底层体系2 引言 接着上一篇ASP.NET的底层体系1我们继续往下走 一.System.Web.HttpRuntime.ProcessRe ...
- Python 函数与内置函数
1.函数的基本定义 def 函数名称(参数) 执行语句 return 返回值 def : 定义函数的关键字: 函数名称:顾名思义,就是函数的名字,可以用来调用函数,不能使用关键字来命名,做好是用这个函 ...
- Java中String str=new String("a")和String str = "a"有什么区别?
Q: String A="ABC"; String B=new String("ABC"); 这两个值,A,B 是否相等,如果都往HashSet里面放,能放下吗 ...
- Django之13种必会查询
1.常见的13中查询方式(必须记住) <1> all(): 查询所有结果 <2> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 <3> g ...