资讯专栏INFORMATION COLUMN

初学linux指导(一)

zzzmh / 1039人阅读

摘要:有个建议,一定要学一下,一定要学一下,一定要学一下,重要的事情说三遍。

首先,要学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的编写啊,编译啊,链接啊等等一些细枝末节的东西了,还得反思一下把零散的东西串一串,要系统化。接下来就是继续深入了,Linux为什么这么多人用,好处在哪里,你得去稍微的看看内核源码啊,内核的进线程调度啊,我告诉你,Linux内核的一个链表都够你研究好几节课的。哦,这个时候,数据结构啥的又得翻出来加强一下了不是,计算机网络啥的也得看看,操作系统原理啥的也得看看呢不是,把这些东西放在这里是合适的,前面让你知其然,知道怎么编程怎么做,现在要知其所以然了不是。在学习的过程中,要不断积累和了解最新的东西,最起码要知道个概念,比如分布式,大数据,云计算,机器学习,计算机视觉,JIT等等,形成知识链,这样不会导致你最后不知道学啥。有个建议,一定要学一下Python,一定要学一下Python,一定要学一下Python,重要的事情说三遍。它能极大的提高你的工作效率,也能和C/C++结合在一起用,很nice的语言。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/10728.html

相关文章

  • 初学Linux指导(二)

    摘要:熟悉系统,基本命令安装系统,学会基本操作,熟悉文件系统,脚本以及常用命令。 1、熟悉 Linux 系统,基本命令安装 Linux 系统,学会基本操作,熟悉文件系统,shell 脚本以及常用命令。 1、显示日期的指令: dateshowImg(https://segmentfault.com/img/bVbbBl5?w=750&h=304); 2、显示日历的指令:calshowImg(h...

    xorpay 评论0 收藏0
  • 初学Linux指导(三)

    摘要:数字类型改变档案权限符号类型改变档案权限查看版本信息等变换目录显示当前所在目录建立新目录 续上篇Linux命令8、切换执行等级: initLinux共有七种执行等级:--run level 0 :关机--run level 3 :纯文本模式--run level 5 :含有图形接口模式--run level 6 :重新启动 使用init这个指令来切换各模式:如果你想要关机的话,除了上述...

    ygyooo 评论0 收藏0
  • 初学Linux指导(三)

    摘要:数字类型改变档案权限符号类型改变档案权限查看版本信息等变换目录显示当前所在目录建立新目录 续上篇Linux命令8、切换执行等级: initLinux共有七种执行等级:--run level 0 :关机--run level 3 :纯文本模式--run level 5 :含有图形接口模式--run level 6 :重新启动 使用init这个指令来切换各模式:如果你想要关机的话,除了上述...

    appetizerio 评论0 收藏0
  • 初学Linux指导(四)

    摘要:删除空的目录档案与目录的显示复制档案或目录移除档案或目录移动档案与目录,或更名 16、删除『空』的目录:rmdir showImg(https://segmentfault.com/img/bVbb63K?w=748&h=660); 17、档案与目录的显示:lsshowImg(https://segmentfault.com/img/bVbb63R?w=751&h=475);showI...

    Zhuxy 评论0 收藏0
  • 初学Linux指导(四)

    摘要:删除空的目录档案与目录的显示复制档案或目录移除档案或目录移动档案与目录,或更名 16、删除『空』的目录:rmdir showImg(https://segmentfault.com/img/bVbb63K?w=748&h=660); 17、档案与目录的显示:lsshowImg(https://segmentfault.com/img/bVbb63R?w=751&h=475);showI...

    G9YH 评论0 收藏0

发表评论

0条评论

zzzmh

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<