linux运维转行程序员

最近有朋友来信说,半路出家做的linux运维,一度从网络做起。随着工作的深入发现自己欠缺很多基础知识,问我是不是应该从C语言开始学起。

这也许是每个半路转行的童鞋面临的问题,在北上广拿到15K很容易,是否是对口专业似乎也不是那么重要。可是慢慢的你会发现,计算机基础显得越来越重要。

python对于做运维的人来说非常重要,不过如果你想后期从运维转成程序员,甚至有些人想做黑客,C语言还是要学的。当然你不要指望用C言语再写一个linux系统或者MySQL数据库

而且不建议大家在走嵌入式开发路线,嵌入式的市场已经饱和了。

好了,接下来给想要学习C语言的一个书单,有了这个书单你就不需要到处问C语言需要看哪些书了。

  1. 《C Primer Plus (第5版本)》 ----现在已经有 了第六版了,是入门C语言的经典书籍。
  2. 《明解C语言》----图灵出版的,一直很喜欢图灵出版的书,尤其是这本书,国外出的书语言简练,而且讲的比较透彻.
  3. 《C和指针》---看完你就明白指针是咋回事了
  4. 《汇编语言》--作者王爽,阅历不同,感觉就不同,这本书在我工作后一直安利给新员工的书。
  5. 《编程珠玑》---英文版,不要看到英文版就犯怵,这个的英文没那么难,而且书也非常薄。
  6. 《深入理解计算机系统》--这个对于没有计算机理论基础的人,好好看一下,因为C语言偏底层的,这本书可以让你更好的理解C语言。
  7. 《编码的奥秘》---这本书看着玩吧,对于你的编码规范很有帮助
  8. 《算法导论》--想成为程序员,必修大法
  9. 《C专家编程》---最后看这本书,看完有种醍醐灌顶的感觉。
  10. 《计算机程序构造与解释》--压轴的书,不解释

最后给大家安利一下哈佛大学公开课  《计算机科学导论》,以C语言讲的,如果没有中文字幕,那就需要英语基础好点了。

时间: 2024-10-13 11:54:33

linux运维转行程序员的相关文章

Linux运维练习--程序员包管理rpm与yum

程序包管理: 包管理器:作用是打包以及包管理(安装.升级.卸载.查询及校验) 对于不同linux发行版本有不同的包管理器,主要有 deb:debian rpm:redhat package Manager,rpm成为事实上包管理器的标准 程序包的组成部分: 二进制程序:通常存放在以下文件,/bin, /sbin,/ /usr/bin, /usr/sbin,                          库文件:通常存放在以下文件,/lib64, /usr/lib64(64位系统)      

linux运维-应用程序没有释放文件句柄引起的磁盘满问题

排查过程. 1.       收到磁盘告警. Check磁盘 # df -h Filesystem            Size  Used Avail Use% Mounted on /dev/sda1             9.9G  2.2G  7.3G  23% / udev                   16G  168K   16G   1% /dev /dev/sda3              20G  768M   18G   5% /usr/local /dev/s

linux运维基础程序包管理

软件运行环境软件包下载软件包的格式和其中可能的依赖关系软件包可用仓库加入可用服务器看到就是可用服务器,加入服务器输入会自动生成 移除软件包 升级软件包 查找全部相同的软件包 查看已安装的软件包 原文地址:http://blog.51cto.com/13896223/2151901

Linux运维学习历程-第1天

什么是Linux Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和网络协议.它支持32位和64位硬件.Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统. 为什么学Linux 几乎所有的Linux版本都是免费的,网上有很多正版资源可供下载使用: Linux是开源性的,只要使用者遵循一定的开源协议就可以修改源代码:并且可以进行学习科研.工

Linux运维 第三阶段 (十七) memcached

一.相关概念: memcached.org(live journal站点贡献的),很多流行站点都在用,如wikipedia.twitter.youtube.mixi等,memcached是非常流行的缓存服务,众多的应用程序开发基本都支持memcached缓存(C有C库,C++有C++库,php有php库,开发时都可直接调用memcached功能,若某个应用程序开发时不用memcached,它就不能往memcached中缓存数据,缓存数据与否取决于app自身,由app决定缓不缓存用不用它) mem

Linux运维 第三阶段 (二十) tomcat

一.相关概念(1.编程语言:2.servlet.jsp:3.tomcat): tomcat(app-server server) 为提高tomcat工作性能,前端要引入很多组件(如cache server(varnish)同样对它生效) 1.编程语言: php相关框架.网站程序设计涉及到的基本内容: php: 开发语言,脚本语言,动态语言: 安装的php是个运行环境: 用php开发语言开发网站程序,这个程序在运行环境中解释执行,若每条指令都解释执行.每个用户请求的动态内容都解释执行这将非常慢:在

运维屌丝回答网传Linux运维面试题

前段时间网上流传有很多Linux运维的面试题,豪鹫也看了一些,但很多都没有附答案,最近工作比较空闲,利用这三年的运维经验,做做题目,当是巩固一下知识,如答案有误或者各位有更好的答案,欢迎点评.这里当然有小部分答案是网上整理过来的, 请原作者见谅,此作为引用. 以下是面试题,蓝色内容为豪鹫的回答:(未完待续--)  上海实战面试经历----Linux 系统/运维面试总结 同学在上海某网络公司面试题: 1.LINUX系统软件安装和卸载的常见方法 答:A.rpm包卸载:rpm -e XXX.rpm  

Linux运维人员成长之路学习书籍推荐

对于从事或者即将从事Linux运维的童鞋来说,学习书籍和视频课程两者缺一不可,当然最重要的是要付诸于实践.今天为大家推荐一些不错的书籍,希望对对大家有帮助. 入门书: <鸟哥的私房菜(基础篇)> <鸟哥的私房菜(服务篇)> <Linux命令行与Shell脚本编程大全(第2版)> <UNIX/Linux 系统管理技术手册> <UNIX编程艺术> 计算机及操作系统原理书: <深入理解计算机系统(原书第2版)> <现代操作系统 (原书

京峰Linux运维工程师在线学习培训

1. 什么是Linux网络班? Linux网络班是通过YY(歪歪)远程共享桌面给大家上课,为了保证教学质量我们每期班都会有人数限制,且每个VIP学员报名后,老师会单独的跟每个同学联系,了解同学的具体情况,然后结合同学的实际情况,给出一套最适合学员的学习的方案,力争保证让每一个同学都能真正的学会实用技术,网络上课时间为每周一.周三.周五的晚上20:00-22:00,上完课后吴老师会为大家解答各种疑问,周六会全天为大家解惑,听君一席话,胜过十年书,届时每周六吴老师才会与大家分享人生经验与技术. 2.