开源操作系统
Linux 是一种自由和开放源码的类UNIX 操作系统。该操作系统的内核由林纳斯·托瓦兹在1991年10月5日首次发布,在加上用户空间的应用程序之后,成为 Linux 操作系统。Linux 也是自由软件和开放源代码软件发展中最著名的例子。只要遵循 GNU 通用公共许可证(GPL),任何个人和机构都可以自由地使用 Linux 的所有底层源代码,也可以自由地修改和再发布。大多数 Linux 系统还包括像提供 GUI 的 X Window 之类的程序。除了一部分专家之外,大多数人都是直接使用 Linux 发行版,而不是自己选择每一样组件或自行设置。
Linux严格来说是单指操作系统的内核,因操作系统中包含了许多用户图形接口和其他实用工具。如今Linux常用来指基于Linux的完整操作系统,内核则改以Linux内核称之。由于这些支持用户空间的系统工具和库主要由理查德·斯托曼于1983年发起的GNU计划提供,自由软件基金会提议将其组合系统命名为GNU/Linux,但Linux不属于GNU计划,这个名称并没有得到社群的一致认同。
以上是维基百科的解释,Linux 是三大操作系统之一,在安卓之前主要用于服务器相关的领域。比如超级计算机全部都是Linux系统。
为什么学习Linux?
- Linux在开发过程中应用非常之广。如安卓,服务器,这些都是和开发息息相关的东西。mac上shell脚本的执行和Linux几乎一样。
- 一些完善的脚本工具和项目都比较好的兼容了Linux部署。工作中常用的 gitlab、 jenkins 等这些工具一大部分都是部署在Linux上的。
- 也是最重要的一点就是可以直观的学习操作系统了。因为操作系统是开源的。资料比较丰富。有了一定的学习基础之后可以直接阅读源码。对于程序的开发有非常大的帮助。
- 本人也非常喜欢Linux操作系统。例如本博客就是搭建在Linux服务器上的。同时也在工作中给我带来了一些比较大大帮助。我的生活和工作中都有使用大量都Linux系统。
Linux 学习路线
- 选择Linux发型版本。据说Linux发型版本有200多个真的是相当的丰富。如何选择Linux发行版也是个问题。在这里我选择了centos,可能最开始听说的和大家使用的都是它的原因吧。第一毕竟刚开始学的时候有些问题需要比较丰富的资料和查看。第二就是出现问题的时候问小伙伴比较方便。这里有linux内核大家自行参考挑选。
-
学习简单的命令关机重启shutdown reboot 等还有就是用的最使用的命令 man info 这两个命令能够教会你这么样使用其他的命令。如果想要深入系统的学习Linux命令的话这里推荐《鸟哥的Linux私房菜》
# 文件操作相关的
ls # 查看文件列表
cd # 文件选择
cp # 拷贝
mv #移动
touch #创建文件
rm # 删除
pwd # 文件当前目录
mkdir # 创建文件夹
chmod #文件权限分配
chown #更改文件所属权
..... 等等
# 文本操作类的命令
sed
echo
awk
grep
tail
..... 等等
# 系统管理类
top
ps
kill
netstat
systemctl
.....这些基础的命令
-
了解Linux各个目录,比如在Linux中的硬件竟然是一个个文件。这个在window里面或者是mac里面也没怎么了解过。
- 了解每个目录是干什么用的。
- 了解软件是怎么执行的。
- 了解软件是怎么安装的。
- 了解进程调度如何调度
- 应该可以阅读源码了。或者着手修改一些开源的软件。
最后
目前自己还处在刚接触第3步谁知道后面还有没有其他的。随着越来越了解Linux,自己的对操作系统认知也越来越不一样。同时需要学习的地方也比较多。如果需要看一些C或者C++代码。看来C和C++也要好好学习。后面的事情顺其自然吧。