随着科技的普及,Linux作为最受欢迎的服务端操作系统,无人不知,无人不晓。当今,不论是服务器搭建,还是客户端开发,Linux系统的基础技能对全栈来说都是必备的,而了解如下几个问题可以更好的帮助你成为一名合格的全栈工程师。
1.Linux体系组织结构
学习一个系统需要了解其体系结构,这样才能更好的学习。Linux有kernel和user两种模式,内核、shell和文件系统统一形成基本的操作系统结构,Linux内核由如下几部分组成:内存管理、进程管理、设备驱动程序、文件系统和网络管理等
学习linux内核知识的同时,我们不仅仅要了解原理,而且还要实际操作相关命令,使我们的理论得到验证,这样我们就需要两本最基础的书籍来帮助我们更好的理解和学习Linux,以初学者的角度我选择的是《红帽官方RHEL7教材》和《Linux就该这么学》这两本书,前者可以帮助我们很好地理解Linux系统到底是怎么样的一个系统,以及内核是如何工作的,后者可以在我理解相关理论知识的同时提供很好的实验教程,加深我们对Linux相关操作命令的熟悉。古人常说实践是检验真理的唯一标准,这里我想说只有通过理论知识加上实际操作的结合,才能更好的学习Linux,只要我们这样坚持过啦,过不了多久你就会发现学习Linux其实并没有那么难。
2如何选择Linux发行版?
Linux发行版可以分为两类,一类是商业公司维护的发行版本,一类是社区组织维护的发型版本,前者以著名的Redhat(RHEL)为代表,后者以Debian为代表。
Redhat称之为红帽系列,包括RHEL,Fedora,CentOS(国内常用,RHEL社区克隆版本,免费)。Ubuntu严格来说不能算一个独立的发型版本,Ubuntu是基于Debian加强而来,一个拥有Debian所有的优点,以及自己所加强的优点,近乎完美的Linux桌面系统,Ubuntu社区认为实用性和创新高于一切。
作为生产服务器,建议选择CentOS,使用CentOS的国内用户较多,安全性较高,出现问题能解决的途径较多,其社区比较活跃,Linux最常见的命令可以参考:http://www.linuxprobe.com/chapter-02.html
3充分了解Linux文件系统
Linux最新的发行版默认都采用ext4格式作为默认文件系统,Linux上面的文件类型主要包含下面几类:
1、 普通文件:分为纯文本和二进制
2、 目录文件:存储文件地方
3、 链接文件:指向同一个文件或目录的文件
4、 分为块设备和字符设备
5、 管道文件:提供进程间通信
6、 套接字文件:与网络通信有关
Linux使用标准的目录结构,安装程序的同时已经创建了文件系统和完整的目录组成形式,并指定了每个目录的作用和其中的文件类型。
目录名简要说明:
/bin 二进制可执行命令
/dev、 设备特殊文件
/etc、 系统管理和配置文件
/etc/rc.d 启动配置文件和脚本
/home 用户主目录
/bin 标准程序设计库
/sbin 系统管理命令,存放的是系统管理员使用的命令或程序
/tmp 公用的临时文件存储路径
/root 系统管理员主目录
/mnt 系统提供这个目录让用户挂载其他的文件系统
/lost+found 这个目录默认是空的,当系统非正常关机的时候这个目录下会保留一些文件
/proc 虚拟目录,是系统内存的映射,可以通过直接访问这个目录来获取系统的相关信息
/var 特定大文件的溢出区,一般常用来存放各种服务的日志文件
/usr Linux系统最主要的目录,因为Linux的绝大多数服务和文件都存放在这个目录下
从事IT行业的人员,无论是研发,前端,测试,还是运维都需要了解Linux的基础知识,前三者可能只需要大概了解Linux简单知识点及简单操作,运维需要学习更多的Linux知识,而要想成为一名合格的全栈工程师,需要你敲到一手好代码的同时,还需要更多的Linux知识,这样才能常用在技术的海洋里。自从接触Linux的那一天起,我便知道此生有很多事可以去做,我希望通过Linux实现一个小目标,挣一套房子的钱。路漫漫其修远兮,吾将上下而求索。