- 之前用过一段时间Linux做过嵌入式和网络服务器开发,有一些小小的基础。但是毕竟也是边学边用的,掌握并不牢靠。
- 现在换成Linux做开发,刚好可以把笔记做一下。但是更多的还是包括Linux基本使用和shell的。
一、Linux简介
Linux是什么
Linux(发音:ˈlɪnəks/ LIN-əks)是一种自由和开放源码的类UNIX
操作系统。该操作系统的内核由林纳斯·托瓦兹在1991年10月5日首次发布在加上用户空间的应用程序之后,成为Linux操作系统。Linux也是自由软件和开放源代码软件发展中最著名的例子。只要遵循GNU 通用公共许可证(GPL),任何个人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。
Linux严格来说是单指操作系统的内核,因操作系统中包含了许多用户图形接口和其他实用工具。如今Linux常用来指基于Linux的完整操作系统,内核则改以Linux内核称之。
Linux的优点
-
大量的可用软件及免费软件
有开源仓库,有些软件也提供了Linux版本,去官网下载即可。 -
良好的可移植性及灵活注
Linux 系统有良好的可移植性,它几乎支持所有的 CPU 平台,这使得它便于裁剪和定制。我们可以把 Linux 放在 U 盘、光盘等存储介质中,也可以在嵌入式领域
广泛应用。 -
优良的稳定性和安全性
Linux 是开源操作系统,那么就是所有人都在维护,安全漏洞会被很容易发现。 -
支持几乎所有的网络协议及开发语言
Linux的文件系统
Linux系统启动时,首先挂载根文件系统,之后可以自动或手动挂载其他的文件系统,这些文件系统要挂载到挂载点上,与虚拟文件系统(Virtual File System)和通用块设备层(General Block Device Layer)建立联系。因此,一个系统中可以同时存在不同的文件系统。
Shell
Shell 是Linux系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行(图片来自:运维派)
shell也被称为LINUX的命令解释器(command interpreter),Shell 本身是一个程序。将用户输入的命令行拆解为”命令名“与”参数“。接着,根据命令名找到对应要执行的程序,对被执行的程序进行初始化,然后将刚才解析出来的参数传给该程序并执行
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。shell是一种高级程序设计语言,提供了变量,函数,条件判断,循环等开发语言的功能
Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。
二、Linux学习路线
- 学习路线(图片来自:vda)
-
入门书籍:
《Linux就该这么学》:一开始学习就是用的这本书,但是感觉对于新手学习不错,都是知识点。但是也有些中规中矩了。
《鸟哥的Linux私房菜》:很好,比较推荐。
《Linux Shell脚本攻略》:看了之后效率会提高很多。 -
提升书籍:
这一部分应该是看学习之后的应用领域了,不同的方向有不同的书籍。
也就是学习路线图中的服务器系统工程师
和开发工程师
两个方向了。 -
网站:
网络资源直接百度就是可以的,但是还是有一些专门做Linux的网站值得推荐。
一本适合入门的电子书:Linux Tools Quick Tutorial
Linux 教程 | 菜鸟教程
Linux命令大全(手册) - 真正好用的Linux命令在线查询网站
三、选择Linux
我用过Ubuntu、Fedora和CentOS,都不错。对于新手还是Ubuntu吧,自带桌面,对于操作学习有些容错的空间。
Linux 的发行版说简单点就是将 Linux 内核与应用软件做一个打包。内核基本一样,也就是新旧不同而已。
不同Linux的发行版对比:【Linux】选择哪种 Linux版本更好一些?
更多推荐
【Linux基础】Linux简介
发布评论