linux标准教程-Linux基础教程( 三 )


Linux学习是一个需要长期坚持不懈的过程 , 新的技术不断的产生 , 要想成为Linux大牛 , 必须要时刻关注Linux发展动态 , 掌握最新技术 , 才能走在行业前列!
学习Linux的步骤是怎样的首先 , 要学Linux编程 , 你得会用Linux , 也就是得在命令行环境下生存下来 。 什么叫生存下来呢?就是我现在给你一台主机 , 键盘 , 显示器啥的 , 然后给你一个服务器版的Linux系统的光盘或者其他什么安装盘 , 你去把这台主机用起来 。 什么叫用起来呢?你平常用Windows电脑干啥 , 你现在还用这台电脑干啥 。 新建文件啊 , 查看文件 , 编辑文件 , 保存文件 , 复制 , 移动 , 删除 , 打包 , 解压 , 联网 , 下载个什么东西啊等等基本操作你得会 。 还有软件怎么安装 , 不仅要熟悉apt-get和yum , 还有给你源码的软件怎么安装你得会 , 另外要熟悉Linux下的文件系统 , 每个目录是干啥的 , 目录下的文件是干嘛的 , 插入一个U盘 , 如何挂载这个U盘 , 操作U盘下的文件你得会啊 。 这个看一本书就行了 , 《鸟哥的Linux私房菜-基础篇》 , 记得是基础篇 , 记得安装Linux系统自己操作一遍 , 还有一本是服务器篇 , 你既然是要学Linux编程开发 , 那就不用看服务器架设篇了 。 做完这一步 , 你可以开发了 。
Linux下开发 , 两种基本语言 , C和C++咯 , 至于其他人要说Python , Java , Ruby啥的不讨论 , 因为就讨论Linux下的开发 , 什么是Linux开发呢?就是利用Linux的API进行开发咯 , 首先你得会C语言或者C++语言啊 , 这个去看丹尼斯的《C程序设计语言》 , 注意是丹尼斯的 , C++的就去看《Essential C++》或者《C++ Primer》 , 然后在Linux下的程序开发 , Linux的API是遵循POSIX标准的 , 自行谷歌什么叫POSIX 。 Linux下程序开发几大块 , 文件操作 , 这个很重要 , 你要知道Linux下的一个思想叫一切皆文件 , 可见文件读写多重要了 。 I/O模型 , 五大I/O模型 , 阻塞 , 非阻塞 , 复用 , 信号驱动和异步I/O , 环环相扣丝丝相连 , 概念和操作都要仔细琢磨 , 最重要的当属复用 , 就是select , poll和epoll , 面试笔试就问这个东西 , 要知道他们的适用范围和优缺点 。 进程和线程 , 包括进程和线程的概念和区别 , 进程和线程的建立 , 同步 , 通信 , 互斥等等 。 网络编程 , 就是socket编程,Linux编程 , 这个学不好等于啥都没学 , 这个估计还得了解一下TCP/IP协议 , 编程方面主要是那几步 , 申请socket , bind , listen , accept几步 , 要熟悉种常见的服务器模型 , 进程池线程池方式的 , 多进程方式的 , 复用方式的 , 最重要的是复用方式的 , 这部分可以先只写服务器 , 测试直接用Telnet就好了 , 加快速度么 。 其余的就是数据库 , 这个东西不属于Linux , 但是还得会 , 要不然啥都做不了 , 看那本《MySQL必知必会》 , 当然深入的话还得找本专业的书细细看 。 这个时候就可以真刀真枪的去干点有意思的事了 , 比如写个终端下的类似于QQ的软件啊 , 包括服务器和客户端啊 , 慢慢的增加并发数 , 比如可以同时支持五千人在线啊 , 文件传输啊等等 。 然后学学Qt , 熟悉一下图形界面 , 可以把你的终端下的QQ完全改成图形界面下的 。 估计到这个时候 , 你差不多在Linux下进行像样的开发了吧 。 在这个过程的学习中 , 相信你已经学会Makefile的编写啊 , 编译啊 , 链接啊等等一些细枝末节的东西了 , 还得反思一下把零散的东西串一串 , 要系统化 。


特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。