自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

TheMonkeyKing

Linux入门真经

  • 博客(65)
  • 收藏
  • 关注

原创 iptables实战-DNAT、SNAT和负载均衡

本文主要涉及了三个实验:利用iptabels实现SNAT、DNAT和出向负载均衡。

2022-03-12 14:45:47 5241

原创 ES6的import和export

export语句可以导出本文件中定义的各种变量、类和方法等。const firstname = 'robin';const lastname = 'wieruch';export { firstname, lastname };import语句可以导入其他文件中export的内容:import { firstname, lastname } from './file1.js';console.log(firstname);// output: robinimport * as perso

2022-02-27 17:23:15 848

原创 React组件的生命周期

生命周期方法生命周期方法仅能被React ES6 类组件使用。挂载阶段有四个生命周期函数,执行顺序如下:constructor()componentWillMount()render()componentDidMount()更新组件时有五个生命周期方法,如下:componentWillReceiveProps()shouldComponentUpdate()componentWillUpdate()render()componentDidUpdate()卸载组件只有一个生命

2022-02-27 17:22:01 360

原创 React学习之道笔记-React基础入门

react学习之道读书笔记

2022-02-27 17:20:05 686

原创 iptables理论笔记

iptables理论知识

2022-02-27 16:05:53 285

转载 nginx proxy_pass url 反向代理的坑

前端时间配置nginx反向代理的时候遇到了一些坑,发现了这篇文章,感觉很不错,转载一下。如有侵权请联系删除。原文链接:https://xuexb.github.io/learn-nginx/example/proxy_pass.html#url-%E5%8F%AA%E6%98%AF-host# proxy_pass url 反向代理的坑说到 Nginx 就不得不说 Nginx 的反向代理是多么的好用,一个指令 `proxy_pass` 搞定反向代理,对于接口代理、负载均衡很是实用,但 `prox

2020-11-29 21:54:48 795

原创 docker入门知识总结

Docker入门知识的个人笔记总结,不适合0基础的同学作为入门资料学习。Docker为什么比虚拟化省资源?Docker利用了Linux核心中的资源分离机制,如cgroups和linux的命名空间namespace,来建立独立的容器。它和宿主机共用内核,避免了虚拟机使用自己独立操作系统所带来的开销。Docker如何实现资源隔离cgroups提供硬件计算资源的隔离,包括cpu,内存,存储,io与网络。命名空间隔离了工作环境,包括进程数、网络、用户ID、挂载系统等等命名空间分为6种,不同版本的linu

2020-11-01 21:53:02 966

原创 人人都该了解的思维修炼

最近阅读了《程序员思维修炼》这本书。这本书是一本介绍了人类思维和大脑的书,事实上,我觉得书中内容完全适用于非程序员群体。本文是我的读书笔记。全书主要内容包括:从新手到专家的层次划分大脑的两种工作模式如何更好的利用右脑大脑的缺陷与解决方案建议如何主动学习如何快速积累经验如何控制注意力一、从新手到专家的历程书中着重介绍了德雷福斯模型。这个理论已被证实是行之有效的,它概括了某一类技能新手到专家主要包括以下五个阶段:新手:依赖情境无关的指令清单做事。高级新手:可以多多少少地摆脱清单中的

2020-10-20 01:59:55 1447 6

原创 python的魔术方法总结

特殊属性属性含义__name__类、函数、方法的名字__module__类定义所在的模块名__class__对象或类所属的类__bases__类的基类的元组__doc__类、函数的文档字符串,如果没有定义则为None__mro__类的mro,class.mro()返回的结果保存在此__dict__类或者实例的属性,可写的字典__dir__返回类或者对象的所有成员名称列表,dir()函数就是调用__dir__().如果提供__di

2020-10-14 20:02:50 207

原创 Linux入门真经-050主机名与hosts文件设置

前文已经谈了如何通过TUI或者修改配置文件让linux主机接入网络,今天给大家聊一聊主机名和DNS1. 为什么需要主机名我们已经知道,主机连入网络后需要一个特殊的身份标识,以便于别的主机知道他是谁,这个标识就是ip地址。忘记ip是什么的童鞋可以回过去翻 043IP编址。当主机和一个ip通信时,会先判断这个ip是否和自己是一个网段。如果是,则直接查询arp表或者触发arp解析,解析出对方mac后即可通过mac找到对方。对这一块忘记的童鞋可以回过去翻 046arp协议分析如果目标ip和自己不在一

2020-08-20 18:38:32 512

原创 Linux入门真经-049IPV6介绍

本文为大家介绍IPV6,是启蒙类文章,也是网络基础部分的最后一篇纯讲原理的文章。(预警:本节篇幅略长,且学习过程可能引起强烈不适,如果觉得很煎熬,通读一遍有个印象即可(本文无实验),不用强求过多,毕竟IPV6还不是当下的主流)  IPV6-狼真的来了? IPV4使用了32位二进制数来标识地址,从数学角度看约有40亿个可用的公网IP,从当今互联网的规模来看,这确实是个脑残的设...

2018-11-26 01:01:12 359 2

原创 Linux入门真经-048路由与数据转发过程

本节介绍的内容既有对前面内容的回顾和整合,也有一些新内容。网络知识庞大而琐碎,但是我介绍的都是最常用和基础的内容,希望读者能够记住与理解,若有不理解之处欢迎在公众号或者博客留言,以便于我进一步完善。 1、路由 根据前面的学习,你应该可以理解:当计算机与别的主机通信时,我们需要知道目标主机的IP地址。如果目标IP与自己在同网段,那么就会去查找arp缓存表。如果arp缓...

2018-10-25 15:20:27 374

原创 Linux入门真经-047TCP会话的建立与断开

 敲!黑!板!无论是大学计算机网络期末考试,还是网络/运维/技术支持乃至程序猿面试,这个问题都命中率极高。本篇文章会介绍TCP连接的建立与断开以及一些常用的TCP参数,不过,仅限于入门知识哈。 1、TCP头中的重要参数 seq与len: TCP的传输是有序的,它为每一个数据段都标上了一个序号。因为传输距离的遥远和网络的庞大和复杂,先发出去的包未必就能先到达目的地,因...

2018-10-22 21:36:11 740

原创 Linux入门真经-046arp协议分析

亲爱的各位,好久不见,我的拖延症让我今天才完成这篇文章,非常抱歉,在这里自我反省。反省完毕,下面切入正题。1、引子-为什么需要arp协议 让我们来回忆一下TCP/IP网络的部分通信原理。当我们想要和某一台主机进行通信的时候,我们至少要知道他的ip地址或者主机名和域名。事实上,主机名和域名也是通过解析的方式转换成IP地址的。当我们向这个IP所在的设备发送数据的时候,数据需要经过T...

2018-10-18 14:41:51 268

原创 Linux入门真经-045icmp协议

ICMP是TCP/IP协议簇的核心协议之一,它用于在IP网络设备之间发送控制报文,传递差错、控制、查询等信息。ping和tracert是根据ICMP协议研发出的常用应用。本节给大家先给大家介绍ICMP协议,再来讲讲ping的用法。 1、icmp重定向如上图,主机A的网关是10.0.0.100(以下简称RTB),此时,主机A想要访问服务器A,由于是跨网段通信,因此主机A会将数据包...

2018-10-10 16:02:37 860 1

原创 Linux入门真经-044-将linux主机接入TCP/IP网络

对TCP/IP网络有了一个大概的、整体的认识之后,让我们来将linux主机接入到网络中。我将我的网络环境与接入过程介绍给大家,并按需介绍一些我们还没有讲到的知识。 1、理清你的网络拓扑 将各个终端、各个网络设备之间的连接关系画出来,我们就可以得到一张网络拓扑。我们先来理解一下我们家里的电脑是如何接入公网的,以下面这个拓扑为例:这是一个非常小的网络,相信你家中的拓扑和...

2018-10-08 17:06:30 484

原创 Linux入门真经-043IP编址

 上一节给大家介绍了数据帧的转发原理以及交换机的几种转发模式。本节给大家介绍IP地址。(全文的IP指的都是IPV4) 交换机工作在数据链路层,隔离冲突域,并负责数据帧的转发。不过交换机并不能隔离广播域,如果一个广播域内的交换机和终端数量过多,可能会产生广播风暴,也非常不利于管理。 工作在网络层的路由器则负责处理这一问题。他负责将一张张小的局域网(同一个广播域内)组织成一个大...

2018-09-28 23:57:19 302

原创 Linux入门真经-042以太网帧与交换机转发原理基础

前两节简述了网络整体的样貌以及分层模型,大致属于纲领性的文章,很多细节并没有详说。本节给大家介绍的是以太网帧的转发方式与交换机的简要工作原理。 我们在前面的小节讲过,交换机可以在同一个广播域里交换数据,从OSI七层模型的角度看,它工作在第二层数据链路层,数据流最多被解封至数据帧,只用做在局域网内的选路,至于IP、运输层、应用层的内容,交换机默认统统都看不到。数据链路层使用MAC地址...

2018-09-27 18:18:05 1550

原创 Linux入门真经-041TCP/IP模型与OSI模型

 1、网络为什么要分层 假设说网络没有分层,那么会发生如下情景:一个软件厂商需要设计所有的通信细节:包括物理层的接口、信息编码、地址寻址、传输机制和保障等等等等,十分繁杂。 所以说分层的意义在于明确分工,让企业去做自己擅长的领域而不用过多的考虑其他细节。比如腾讯去做通讯软件而不用担心网络的连通性问题,思科去做路由器而不用担心软件的程序设计细节。 网络的分层模型通常认...

2018-09-24 01:33:12 212

原创 Linux入门真经-040网络简述与网络硬件设备介绍

网络技术是为了让计算机之间实现通信。计算机之间是需要“交流”的。否则,每个计算机就是一座孤岛,无法对外提供相关服务,也无法实现自我价值,最终会沦为自娱自乐的玩具。就和人与人之间需要使用相同语言才能沟通一样,计算机之间也要遵循某种相同的协议,以便于理解对方发送过来的数据格式。 一般而言,两个主机之间交换数据时,这种数据都是流式数据。什么意思呢?比如主机A向主机B发送一个文件,这个文件...

2018-09-24 01:16:35 473 1

原创 Linux入门真经-039压缩、解压与归档

我们为什么需要压缩?一般是以下原因:1、文件太大,我们将其压缩降低磁盘的空间使用量2、服务器带宽不够,我们将向客户端推送的内容(如web资源)进行压缩,到达客户端之后再用相关协议去解压缩。用CPU的性能和时间去节省网络带宽和延迟。其中,第一点就是我们今天主要介绍的压缩和解压工具。第二点,现在很多web中间件(如httpd、nginx等)可以实现,以后再说。 压缩算法多种多样...

2018-09-19 00:56:53 205

原创 Linux入门真经-038RAID磁盘阵列

 前一节讲的LVM为分区的空间提供了弹性扩展的可能,LVM快照则对软件/逻辑层面的数据恢复提供了可能。然而,这还远远不够。如果仅仅如此,磁盘坏了,基本就意味着数据丢失,因此,我们需要一些措施,从物理层面上提供一定程度的数据冗余,提高数据的安全性。为此,RAID技术应运而生。而且RAID不仅为数据安全性提高保障(比如某些RAID级别可以保证一块或多块硬盘坏了数据不丢失、业务不中断),还在...

2018-09-17 00:36:11 194 1

原创 Linux入门真经-037LVM逻辑卷扩容与快照

本节介绍如何对LVM进行扩容。 1、扩展LV 上一节我们创建了两个PV:20G的sdb和5G的sdc1,并将他们组合成一个25G的VG:vgpool1,最后在vgpool1之上创建了一个20G的LV:lvol0现在假设lvol0的大小不够用了。我们将vgpool1中剩余的4.99G都分配给他,对该LV进行扩容。 [root@localhost ~]# lvexte...

2018-09-14 09:13:52 495

原创 Linux入门真经-036LVM逻辑卷原理与创建

 ​有时候我们会面临这样一个窘境:分区内的数据快速增长,分区剩余空间几乎不够用了。这个时候你可能得想办法找个更大的硬盘或者分区,把数据挪过去,费时费力。有时候分区一开始分大了,很多空间又浪费了。 是否有这样一种机制,能够允许分区空间能够进行弹性伸缩呢? 这就是我们本节要介绍的主角:LVM(Logical Volume Manager) 1、LVM基础概念 如...

2018-09-11 21:09:42 356

原创 Linux入门真经-035使用find去查找文件

常见的linux文件查找工具有locate和find。 locate的优点在于:它是基于索引库创建,周期性更新。因此速度相当快,查找时资源消耗极少。缺点是:由于不是实时查找,所以一些在更新周期之前新增的文件没法找到。我们可以随时对locate的数据库进行手动更新,不过更新时会消耗很多的计算资源,甚至会造成暂时的卡顿。 find是一个实时查找工具,他的优点与locate互补:实时...

2018-09-10 21:00:19 300

原创 Linux入门真经-034文件系统知识与常用命令补充

1、df与dudf:显示已挂载磁盘设备的使用情况常用选项:-h:大小数值用更易于人理解的方式显示-i:显示inode用量而非默认磁盘空间使用信息 du:显示目录空间的占用情况常用选项:-s查看目录内文件总共占了多大空间-h使用合适的单位使得数据大小更易读 2、dd命令 dd可以从标准输入或文件中读取数据,在输出到指定的文件。乍一看有点像复制的...

2018-09-09 21:49:48 281

原创 Linux入门真经-033文件系统的挂载与卸载

 1、手动挂载文件系统 我们已经知道,Linux使用的是倒状的树形结构,一切都源于根目录。因此,根文件系统以外的其它文件系统要想能够被访问,都必须通过“关联”至根文件系统上的某个目录来实现,此关联操作即为“挂载”;此目录即为“挂载点”;如下图,当我们要使用sdb1上的空间时,我们可以在现有的文件层级目录中新建一个目录forsdb1。在挂载之前,forsdb1应该指向的是/所...

2018-09-08 18:41:57 437

原创 Linux入门真经-032文件系统的创建与管理

本节介绍文件系统的创建与一些文件系统管理的相关知识。 1、创建文件系统 新建文件系统常用的是mkfs命令。mkfs说全了其实是:make filesystem用法:mkfs.FILESYSTEM [options] devicemkfs.之后连续按两次tab可以补全所支持的文件系统  [root@localhost ~]# mkfs.       ...

2018-09-07 17:23:44 602

原创 Linux入门真经-031Linux文件系统初探

数据存放于磁盘之中。从物理角度上去看,存于硬盘的扇区或页之间。但是人作为使用者来讲,很难记住文件存于磁盘的哪个物理位置,即使记住也很难去使用和管理。因此便出现了文件系统(VFS:virtual file system),帮助我们去寻址文件地址、分配存储空间、提供各式文件格式的支持、提供备份功能等等。为了应对不同的场景和时代需求,文件系统有很多种实现且各有特点,但是从逻辑上来讲都是提供上述功能的...

2018-09-06 16:59:04 341

原创 Linux入门真经-030GPT分区与parted

1、GPT分区表结构 GPT类型的分区表中,用于记录分区信息的区块称为LBA。GPT一共有34个LBA,除了LBA0和LBA1有特殊作用之外,LBA2-LBA33都可以用于记录分区表,每一个LBA可以记录4个分区,所以,理论上GPT支持4*32=128个主分区(也支持扩展分区机制,但是基本都用不着了)。GPT还在磁盘的尾部扇区对LBA做了整体的备份,结构图如下(图片摘自维基百科):...

2018-09-05 17:01:40 667

原创 Linux入门真经-029MBR格式分区与fdisk

本节介绍MBR分区格式和fdisk这一分区工具。 1、硬盘分区格式我们以前讲过文件的元数据:记录了文件的各种属性信息。同样的,硬盘的分区信息是不是也要占用一部分存储空间呢?答案是肯定的,因为硬盘总得知道:我分了几个区,每个分区从哪里开始到哪里结束。存放这些信息当然需要空间了。存放的关于分区信息的数据我们称之为分区表。常见的分区表有两种格式:MBR与GPT。其中,MBR是过去...

2018-09-04 17:02:41 491

原创 Linux入门真经-028硬盘结构与linux设备文件

本节为大家介绍硬盘的种类、结构,以及分区相关的基础知识。我们都知道,硬盘是用于存取数据的。现在常见的硬盘类型有机械硬盘和固态硬盘。而机械硬盘和固态硬盘的结构又有着很大的区别。接下来分别向大家介绍机械硬盘和固态硬盘,然后介绍一些分区必要的基础知识。 1、机械硬盘对于机械硬盘来说,数据存储在磁盘上的磁性介质之中,计算机想要从硬盘中读取数据时,需要遵循相关的硬盘接口协议(如SCSI、...

2018-09-03 10:17:40 236 1

原创 027egrep与扩展正则表达式

扩展正则表达式功能与基本正则表达式相同,但是语法更简洁易懂。我们可以使用grep -E来支持扩展正则表达式,也可以使用专用命令egrep。 egrep [OPTIONS] PATTERN [FILE...]选项:         -i,-o, -v, -q, -A, -B, -C(这些选项含义与grep相同,忘记的可以man或者回去看上一节grep的讲解)      ...

2018-08-29 21:58:15 224

原创 Linux入门真经-026grep与基本正则表达式

Linux中盛传着著名的文本处理三剑客:grep(基于正则表达式的文本过滤器)、sed(行编辑器)、awk(文本排版格式化工具)。今天我们要介绍的就是grep,可以帮助我们根据关键字或者正则表达式过滤文本,便于我们更好地获取信息。1、正则表达式概述正则表达式是由一类特殊字符及文本字符所编写的模式,其中有些字符不表示其字面意义,而是表示控制或通配的功能。(我们称之为元字符)正则表...

2018-08-29 10:12:37 207

原创 Linux入门真经-025使用sudo进行管理授权

前面我们说到,有时候服务器是需要多人管理的。比如说你是老大,啥事都是你说了算。那么你应该对服务器拥有全部的权限。但是假如来了俩实习生,把root密码告诉他们就不太合适了,但是总得给他们放通部分命令的执行权限,好让他们能干点活。这个时候sudo就派上用场了。sudo可以让获得授权的用户以另外一个用户的身份(包括root)运行指定的命令。这样不仅可以减轻root管理员的负荷,也避免了roo...

2018-08-28 15:19:24 771

原创 Linux入门真经-024文件的acl权限设置

 我们之前学习的权限控制,基本都是对某一类用户来进行访问控制,那么我们能否针对某个特定用户或者特定组做出权限放通或者限制呢?这就是今天要给大家介绍的文件访问控制列表(ACL)。各个文件可以通过ACL对指定的用户和组进行权限控制,而不是宽泛的把所有用户都分为user、group、other;ACL结合我们之前介绍的权限知识可以提供非常精细的权限管理。此外,ACL作用于目录时,在此...

2018-08-27 14:22:46 317

原创 Linux入门真经-023文件的特殊权限

本节给大家介绍文件的特殊权限:SUID, SGID, STICKY BIT。首先让我们先回忆一下文件的基本权限。当进程以某个用户的身份去访问某一个文件时:         (1)判断进程的属主,是否为被访问的文件属主;如果是,则应用属主的权限;否则:         (2)判断进程的属主,是否属于被访问的文件属组;如果是,则应用属组的权限;否则:         (3)应用...

2018-08-26 14:08:50 368

原创 Linux入门真经-022文件的隐藏属性与默认权限

除了我们上一节介绍的基本权限之外,Linux文件还具备一些隐藏属性。当你觉得当前文件的权限没有问题但是文件访问依然异常的时候,就可以来查一下这个文件的隐藏属性。隐藏属性对系统安全提供了一定程度的保障,今天给大家介绍如何修改和查看文件的隐藏属性。1、chattr:设置隐藏属性[root@localhost~]# chattr [+-=][ASacdistu]文件或目录名称选项...

2018-08-25 10:54:58 1213 2

原创 Linux入门真经-021文件权限基础

1、文件的基本权限我们之前介绍了用户与组。在操作系统中,每一个文件都会有属主(拥有这个文件的用户,user)、属组(拥有这个文件的组,group)。既不是这个文件的属主,也不属于其属组的用户,对这个文件来讲,就是其他用户(other)大家是否还记得ls -al的迷之输出? 我们已经知道,最左侧的第一位指的是文件的类型。忘记的童鞋请前往传送门:011文本查看类命令左侧右边...

2018-08-24 15:21:57 252

原创 Linux入门真经-020密码的设置与用户切换

本节介绍关于密码设置的相关内容以及如何进行用户切换。 1、passwd:设置用户密码 密码是用户进入系统的钥匙,passwd命令可以帮助我们修改、管理用户密码。我们创建一个test用户来实践passwd的相关用法 [root@localhost~]# useradd test 普通用户和root用户对于passwd有着不同的用法(权限):root用户...

2018-08-23 13:14:05 282

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除