[Linux]新手入门

Linux是什么?

Linux是一个操作系统的内核,而不是通常大家认为的操作系统.
它的作者是Linus,这位大佬同样是Git的开创者,果然大佬的优秀已经成为了一种习惯~
这里顺便纠正一下它的发音,可以中式英语抽象成为里纳克斯~

  • 我们这里使用的操作系统为CentOS 7.
    在这里插入图片描述
    除了CentOS 7外,还有Ubantu/Android等基于Linux内核的操作系统(operation system,简称OS).
  1. CentOS 7
  2. Ubantu
  3. Android
    这三种都是Linux的发行版,也就是以Linux为操作系统内核所构成的一系列操作系统的合集

在这里对曾经的"挖井人"Unix表示尊敬,为什么这么说呢?
因为Linux是由Unix这个"曾经的王者"衍生出来的,而Unix的作者正是我们C语言之父丹尼斯.再次印证了鄙人的感悟: 大佬的优秀已经成为了一种习惯~

为什么学习Linux?

因为Linux是当今世界第一大操作系统,没有之一.
尤其在服务器开发领域扮演者不可或缺的角色.同时也涉及嵌入式/大数据/云计算/AI等领域.
这样高密度的广泛应用就对当今程序员有了一个行业标杆,因为据笔者了解现在的互联网公司采用Linux远比采用Windows作为开发环境的要多,主要是因为需要程序员们散点式的多源并发开发.

  1. 快捷键丰富/指令效率高
    如果你在mac或者Linux上学习掌握了bash以及一些核心的GNU Linux工具箱的用法,那么在所有Linux平台上都可以很高效,并且切换无成本。现在的shell多数都用了readline这个库,也就是说它们支持类似的一套快捷键,
    例如Ctrl+a回到一行开头,Ctrl+e到一行结尾,Ctrl+r可以匹配查找历史命令,等等.
    而直到Windows 8,系统自带的terminal工具cmd还和windows 95里的cmd没什么区别,好像微软从来没期望windows上的程序员去使用命令行工具.不要说快捷键,连进行最基本的copy paste都是一个非常痛苦的事情,更不要提在中文windows下你只能选择一种系统默认字体,窗口的大小不能简单拖拽进行调整…… 很多windows上开发的程序员都不怎么用命令行工具,他们默认遵循了windows的设计哲学,那就是一切都通过GUI(图形界面)来完成。
  2. 执行效率高
    有的互联网公司从windows切换到Linux开发环境后,构建脚本的执行时间从十几分钟缩短到了7分钟左右,Linux的文件系统比Windows要快,很多脚本解析器的实现也更高效,因此解释执行的效率也更高。
  3. 体验更佳
    在Linux上,现在很容易可以写一个脚本,把一个开发环境所需要的所有内容都自动化安装执行好,我们不需要一个文档来记载每一个新来的程序员所需要做的安装准备工作。在Windows上,也用powershell写过类似的东西,开发和维护这套脚本的体验都不太好。
  4. 开发方便
    开发者可以随时登陆终端对服务器进行修改和编程开发,在Linux上,可以同时处理许多人同时开发的工作.

Linux如何学/学什么?

  • 学基本操作 / 也就是系统指令
  • 学系统编程接口
  • 学网络编程

Linux的学习是理论 + 实践相互印证,他不像C语言Java语言等 不停代码练习的学习方法,所以就要求我自己在系统知识学习的过程中,加上对相关书籍阅读的辅佐,最后也要积极总结,化零为整.

为什么不用Linux图形界面?

因为Linux主要应用场景有两个:

  1. 服务器
    如果使用图形界面,那么一帧一帧的传输图片效率会非常低,一个功能的实现需要许多图形才能实现,时间与空间上都非常浪费.开发者也有一种卡顿的感觉,不利于构造良好的开发环境
    在开发终端通过网络的方式远程操纵服务器,字符界面就节省网络开销/速度快,一条条指令的传输速度远比图形界面要快.
  2. 嵌入式
    嵌入式设备硬件资源紧张,有的甚至没有图形界面显示图形界面,加上的话会带来额外开开销,得不偿失.

以上所讲的种种,都使得当代服务器开发人员对Linux的使用游刃有余,所以这一门本领也是不可小觑的.

猜你喜欢

转载自blog.csdn.net/qq_42351880/article/details/85113683