全栈工程师学习Linux技术的忠告

服务器 数据中心
Linux发行版可以分为两类,一类是商业公司维护的发行版本,一类是社区组织维护的发型版本,前者以著名的Redhat(RHEL)为代表,后者以Debian为代表。

  随着科技的普及,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实现一个小目标,挣一套房子的钱。路漫漫其修远兮,吾将上下而求索。

责任编辑:张诚 来源: 51CTO
相关推荐

2015-11-24 16:15:47

2015-05-20 10:02:02

程序员全栈工程师

2016-04-08 14:32:32

全栈工程师世界

2015-12-09 14:37:30

2015-08-25 10:24:55

CEO软件工程师技能

2018-01-30 16:43:39

Web全栈工程师架构

2015-12-09 09:03:22

2015-08-25 09:15:24

ceo程序员软件工程师

2020-06-29 15:42:48

爬虫工程师学习

2015-08-17 09:27:51

全栈工程师Devops工具周期表

2016-02-25 11:42:19

2023-08-29 23:50:48

2009-06-02 13:24:45

工程师忠告职场

2017-11-10 19:00:37

华为

2017-04-14 10:37:21

2020-10-15 14:23:27

全栈工程师技术

2015-06-18 10:03:35

APICloud全栈工程师

2017-12-22 09:33:14

开发者故事

2020-10-15 08:41:53

工程师开发技术

2021-03-02 10:24:36

测试开发JavaPython
点赞
收藏

51CTO技术栈公众号