Linux网络管理
一、 前言
网络的作用就是用于多台主机互相通信的,早期的实现方式是给每个主机一个唯一标识(MAC地址),然后把它们都链接上同轴线缆进行的,但是这种解决方案的缺点也很明显,就是通信冲突的问题,后出现CSMA/CD(载波侦听、多路访问、冲突检测)机制,用来解决这个问题,实现逻辑就是每个主机在发送信号前,先在线缆上侦听有没有其它主机正进行通信,如果没有的话就发送信号,冲同检测就是通过边发信号边检测实现的,一旦发现冲突就会向后延迟一段时间而后再重复之前的过程。
交换机:对于大型的网络,多台主机争用同一个底层信道,CSMA/CD的机制仍然不够用。于是,人们就把一个大网络切割成多个小型网络,每个小型网络通过网桥进行通信,这也就是交换机的雏形,交换机可以解决冲突域的问题,它有一个表格,记录接口和主机MAC地址的对应信息,这样就可以将网络报文正确送达。
路由器:随着网络发展,交换机的制造成本越来越低,一台交换机所能接入的设备也就越来越多,这也就造成了一个小型网络的广播报文越来越多,为了切割广播域就诞生了路由器。既然切割了广播域,各广播域之间通信也就需要使用一个标识来完成,这个标识不能太扁平化,并且, ...
Rpm、Yum(程序包管理)
一、前言
对于普通用户来说,安装一个程序,都可以比较简单的通过双击鼠标或者一条命令就可以完成,但如果没有包管理器,一切操作由用户自行完成,那么过程大概需要下载源码、编译、汇编、链接、将各类配置文件分门别类的存放,过程中需要人为指定大量参数,才能保证日后运行时某些需要的特性可以使用,并且用户也需要清楚的知道安装进度到了哪一步。这还仅仅是安装,那么日后的卸载呢?更新呢?人为操作步骤繁琐不说,出错的几率也非常大。所以就出现了包管理器,它可以将安装步骤简化到仅用一条命令,并且还将各类配置文件分发到正确路径,日后更新或者删除还可以准确的追踪每一个文件。
二、RPM包管理器
由红帽开发,全称为RPM is Package Manager
1. 命名方式
任何一个rpm包都是由它人拿到源代码编译制作的,所以rpm包命名方式和源码包相关
源码包的命名方式:name-VERSION.tar.gz
version由三部分组成:major.minor.release,也就是主版本号.次版本号.发行号
rpm包的命名方式:name-VERSION-ARCH.rpm
version:同样继承源码包的major ...
RAID基础
一、RAID基础概念
全称为Redundant Arrays of Inexpensive Disk(廉价磁盘冗余阵列),它的概念来自美国加州大学伯克利分校的一名教授发表论文《A case for Redundent Arrays of Inexpensive Disks RAID》,在这片论文中就阐述了可以将多块廉价的硬盘按照特定的结构组织起来当一块硬盘使用,从而提高I/O能力、耐用性。之后RAID就这么流行了。后来为了让硬盘组织起来更加高效,就需要在硬件层次在引入一个控制器,但是由于控制器的加入,这个磁盘阵列就不廉价了,于是就改名为Redundant Arrays of Independent Disk(独立冗余磁盘阵列)
二、RAID级别
raid的级别就是多块磁盘组织在一起的工作方式有所不同,带来的特性也不同
1. RAID-0
raid-0也称为条带卷(strip),它将多块硬盘平行组织来实现I/O并行,在存储数据时,首先将数据流分割成多块(chunk),然后平均分配到底层的磁盘上
读、写性能提升,但是它并不是没有上限的,因为数据分割需要时间,将来数据读取时,合并也需要时间 ...
Linux文件系统基础
一、 磁盘基础
1. 机械硬盘基础
磁头:用来在每个盘片上读取数据
盘片:通过一个马达带动做同心旋转,双面都可以存储数据,硬盘中可以有多个盘片
磁道:track,用来存储数据,在每个盘片上都会划分,形状为圆形,一个盘片可以划分出多个同心圆
柱面:cylinder,在不同盘片上,相同编号的磁道组成的逻辑柱状空间,分区是按照柱面分的,最外圈的柱面单位时间内所能读取的数据也是最多的
扇区:secotr,每个盘片上扇形空间
2. 磁盘接口类型
IDE:并口,早期个人桌面应用
SCSI:并口,IDE接口不适用于I/O频率较高的场景,而诞生了SCSI,早期企业级应用的硬盘接口
SATA:串口,现阶段用于个人桌面
SAS:串口的SCSI技术
3. 命名方式
/dev/hd[a-z]:IDE硬盘,centos 6后就不加区别了,统称为sd开头
/dev/sd[a-z]:SCSI、SATA、USB、SAS
4. MBR
Master Boot Record,主引导记录,用于记录磁盘磁道、柱面、扇区的划分方式。通常被分配在0磁道的0扇区。共512字节
前446字节:用来存放操作系统的加载程 ...
Linux文件系统的特殊权限
一、安全上下文的概念
任何一个可执行程序文件能不能启动为进程,取决于发起者对程序文件是否拥有执行权限
启动为进程之后,其进程属主为进程的发起者,属组为发起者属组
进程访问文件时的权限取决于进程的发起者
进程的发起者,同文件的属主,则应用文件属主权限
进程的发起者,属于文件的属组,则应用文件属组权限
否则应用其他权限
二、特殊权限
1. 概念
SUID:一个用户运行进程,取决于用户对执行文件是否有执行权,运行起来后,进程的属主是运行进程的用户,而有suid的文件,启动的进程属主为执行文件的属主
SGID:默认情况下,用户新建文件时,这个文件的属组为用户的基本组,而一旦某目录加上了SGID权限,则新建的文件属组会继承父目录的属组,其缺点是会带来多人可写目录,这样的话目录属组中的成员对目录中的文件都可以互相删除,需粘滞位解决
Sticky:粘至位权限,默认情况下,多人可写目录,用户可删除他人的文件,而粘滞位权限可解决这个问题,让每个用户仅能删除自己的文件
2. 赋权方法
chmod u+s:增加SUID权限
chmod g+s:增加SGID权限
chmod o+t:增加粘滞 ...
文件查找命令--locate、find
一、locate命令
1. 查找机制
通过事先创建的索引查找,做模糊匹配。数据库可以定时更新或手动更新。缺点为找到的文件可能不准确,因为索引库完成索引后创建的文件不再索引库中
2. 命令使用格式
locate [option] pattern
option:
-b:仅查询文件名可匹配的内容
-c:仅显示有多少个符合条件的文件,不会显示查找到的文件
-r:如果想使用正则表达式,需要结合-r选项
更新数据库命令:updatedb,索引构建需要遍历整个文件系统,这个操作特别消耗资源
3. 工作特性
查找速度快
模糊查找:根据给定关键字进行查找,路径中包含关键字的文件也会被显示
非实时查找:构建完数据库后新生成的文件都不会被查找到
二、find命令
1. 介绍
不需要实现创建数据库,而是通过实时遍历,但遍历整个文件系统需要消耗的系统资源与时间都很大,所以在查找是一定要多加一些限制条件,如查找范围、文件大小区间、创建日期、属主、属组
2. 命令格式:
find [option] [查找路径] [查找条件] [处理动作]
[option]:[查找路径]:指定一个路径作为查找的起路径, ...
Vim编辑器
一、 介绍
vim的前身是vi编辑器,vi的全称是Visual Interface,我们称之为可视化接口,vim的全称是Visual Interface IMproved,意为vi增强版,是Linux上非常著名的、功能非常强大的、入门曲线非常陡峭的文本编辑器。
二、基本使用方法
1. 命令格式
vim [options] [file ..]
option:
+#:打开文件直接定位第#行
+:直接到尾行的第一个非空白字符上
+/pattern:打开文件直接让光标处于第一个被pattern匹配到的行首
2. 模式转换
vim是一个模式化编辑器,处于不同的模式中,击键的意义也是不同的
2.1 命令模式
使用vim打开文件时,默认就处于命令模式
x:删除光标处的单个字符
#x:删除#个字符
dd:删除整个行
D:删除当前光标至行尾,留空白
p:缓冲区如果是整行,粘贴下方,缓冲区如果是半行,粘贴在光标后面
P:缓冲区如果是整行,粘贴上方,缓冲区如果是半行,粘贴在光标前面
yy:复制
r:替换光标所在处的单个字符
u:撤销操作
ctrl+r:恢复撤销操作
.:重复上一次操作
ZZ:保存退 ...
压缩、解压缩及归档工具
压缩及归档工具
常见的压缩及归档工具:
compress/uncompress:早期的压缩工具,后缀名以.Z结尾
gzip/gunzip:使用LZ77的压缩算法,压缩后缀名.gz
bzip2/bunzip2:使用LZ77和LZ78两种算法,后缀名为.bz2,压缩效果优于gzip。
xz/unxz:后缀名为.xz
zip/unzip:后缀名为.zip
tar:
cpio:
命令格式:
gzip家族:gzip | gunzip | zcat
1. gzip [option] file option: (1)-c:gzip压缩默认会删除源文件,结合-c执行压缩命令时,它会将压缩结果直接输出至标准输出,\\ 可在命令后跟重定向将结果保存至文件中,实现等同于保留源文件的功能。 (2)-d:解压缩,相当于gunzip; (3)-r:递归压缩; (4)-#:设定压缩比,取值范围1-9,默认为6,9为最高压缩比; (5)-t:检查压缩文件的完整性; 2. gunzip [option] file,会删除原文件,可结合-c来实现保留原文件; 3 ...
Btrfs文件系统
Btrfs文件系统
简单的介绍一下
btrfs,全称为b-tree,江湖上也有人管他叫butter FS或Better FS,遵循GPL协定,由oracle公司从2007年左右开始研发。
核心特性
Cow:写时复制,可将预修改的文件复制一份,接着在副本上完成修改,而后把文件指针指向副本文件,一旦改错了还可以随时回退。
校验码机制:支持数据及元数据校验码机制,方便快速检测文件是否受损,可自动尝试修复,极大了保障了数据可靠性。
快照:支持快照,类似lvm的快照,不过它还支持快照的快照和对单个文件做快照。
RAID:支持RAID。
多物理卷支持:btrfs文件系统可由多个底层的物理卷组成,类似逻辑卷中的vg。
子卷:可在一个文件系统中创建多个子卷,接着将每个子卷单独使用或挂载。
动态伸缩:支持联机实现物理卷的添加、移除、修改操作。
透明压缩:通过消耗CPU的时钟周期来完成数据压缩存放,并且在用户读取时自动解压缩,整个过程用户是无感的,不过压缩与解压就会消耗CPU的时钟周期。
命令
创建并挂载brtfs文件系统
mkfs.btrfs [option] DEV:创建btrfs opti ...
LVM2 逻辑卷的简单应用
LVM2 逻辑卷的简单应用
简单介绍
英文全称为 Logical Volume Manager,Version:2。顾名思义:逻辑卷管理器,版本为2。==利用内核中的dm模块(device mapper,设备映射模块)==,用纯软件的方式将底层的一个或多个的块设备组成一个逻辑设备来使用,逻辑卷的核心其实就是dm模块。
基础概念
PE:物理盘区(Phsical Extent),它在逻辑卷架构中比较微观,每一块PE的大小是你将A-PV加入B-VG时自动分割的(当然也可以手动指定大小)。所以,在A-PV还未加入B-VG前,它的大小是不确定的。具体大小要看VG的要求,因为每一个VG对于PE大小的定义可能是各不相同的,默认会将PV分割没块大小为4MB的PE。
PV:物理卷(Phsical Volume)
VG:卷组(Volume Group),它可以包含多个物理卷,可用空间就是被包含进这个卷组的全部物理卷所提供的存储空间之和。如果某个时刻,这个卷组空间不够用了,我们就可以向这个卷组中新加入物理卷。
LV:逻辑卷(Logical Volume),需要在VG的空间上划分,每一个LV都是一个独立 ...