随着科技的普及,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://***/chapter-02.html。

3充分了解Linux文件系统

Linux最新的发行版默认都采用ext4格式作为默认文件系统,Linux上面的文件类型主要包含下面几类:

1、 普通文件:分为纯文本和二进制

2、 目录文件:存储文件地方

3、 链接文件:指向同一个文件或目录的文件

4、 分为块设备和字符设备

5、 管道文件:提供进程间通信

6、 套接字文件:与网络通信有关

7、

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

全栈工程师学习Linux技术的忠告的更多相关文章

  1. 2019年java全栈工程师学习大全

    技术更新日新月异,对于初入职场的同学来说,经常会困惑该往那个方向发展,这一点我是深有体会的. 我刚开始学习 Java 那会,最大的问题就是不知道该学什么,以及学习的顺序,我相信这也是很多初学者经常面临 ...

  2. JAVA全栈工程师学习线路(建议收藏)

    互联网技术,更新迭代迅速,用日新月异来说也不为过,所以,面对这这种大环境,对于码农尤其是那些对于初入职场的新手来说,该如何自我学习升级,往方向发展,这一点是大家都经常困惑的. 大部分人,刚开始学习的J ...

  3. PHP全栈工程师学习大纲

    一.高性能网站开发功力提升 时间 标题 内容概要 2015-12-28 开学典礼以及工程师成长路线图 工程师成长的发展路径图.三个阶段,在各个阶段需要提升自己的地方,从技术上也讲了一些提高分析代码的工 ...

  4. Python全栈工程师(Linux基本操作)

    ParisGabriel         Python 入门基础        Linux :Ubuntu操作系统   首先我们说的是Linux操作系统常用的快捷键以及终端命令   一. VMware ...

  5. C蛮的全栈之路-序章 技术栈选择与全栈工程师

    目录 C蛮的全栈之路-序章 技术栈选择与全栈工程师C蛮的全栈之路-node篇(一) 环境布置C蛮的全栈之路-node篇(二) 实战一:自动发博客 博主背景 985院校毕业,至今十年C++开发工作经验, ...

  6. C#.Net全栈工程师之路-学习路径

    C#.Net全栈工程师之路-学习路径 按架构分: C/S架构: B/S架构: Mobile移动开发: 按技术点分: C#编程基础以及OOP面向对象编程: 数据库基础以及高级应用(MYSQL+MSSQL ...

  7. 《web全栈工程师的自我修养》读书笔记

    有幸读了yuguo<web全栈工程师的自我修养>,颇有收获,故在此对读到的内容加以整理,方便指导,同时再回顾一遍书中的内容. 概览 整本书叙述的是作者的成长经历,通过经验的分享,给新人或者 ...

  8. 《Web全栈工程师的自我修养》读书笔记(转载)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/5 ...

  9. Java全栈工程师知识体系介绍

    Java全栈工程师,是指掌握多种技能,并能利用多种技能独立完成产品的人,也叫全端工程师(同时具备前端和后台能力),英文Full Stack developer. 那么想要成为一名合格的Java全栈工程 ...

随机推荐

  1. HBase Shell 常用命令及例子

    下面我们看看HBase Shell的一些基本操作命令,我列出了几个常用的HBase Shell命令,如下: 名称 命令表达式 创建表 create '表名称', '列名称1','列名称2','列名称N ...

  2. HBase filter shell操作

    创建表 create 'test1', 'lf', 'sf' lf: column family of LONG values (binary value) -- sf: column family ...

  3. redis主从复制操作

    1. 33.10服务器上 启动三个redis bin/redis-server etc/redis.conf bin/redis-server etc/6380conf bin/redis-serve ...

  4. Java排序算法——归并排序

    import java.util.Arrays; //================================================= // File Name : MergeSor ...

  5. 60行JavaScript俄罗斯方块

    <!doctype html><html><head></head><body> <div id="box" st ...

  6. HTTP2.0的二进制分帧

    1.帧的类型: 在二进制分帧的结构中,头部有8个字节(64Bit),其中有一个字节(8Bit)来标志帧的类型: HTTP2.0规定了如下帧类型: DATA: 用于传输HTTP消息体 HEADERS:用 ...

  7. NopCommerce Url分析

    using System; using System.Web; using System.Web.Routing; using Nop.Core; using Nop.Core.Data; using ...

  8. Yii2-Redis使用小记 - Cache(转)

    前些天简单学习了下 Redis,现在准备在项目上使用它了.我们目前用的是 Yii2 框架,在官网搜索了下 Redis,就发现了yii2-redis这扩展. 安装后使用超简单,打开 common/con ...

  9. Hadoop生态系统

    Hadoop 生态圈

  10. Java字节流:FileInputStream FileOutputStream

    ----------------------------------------------------------------------------------- FileInputStream ...