1 总结linux安全模型
- 使用User和Group(角色)控制使用者对文件的操作权限
- 用户使用账号和口令登录Linux
- 每个文件都有owner,且owner属于某个Group
- 每个程序都有owner和Group
资源分派:
http
Authentication 认证,验证用户身份
Authorization 授权,不同的用户设置不同权限
Accouting|Audition 审计
当用户登录成功时,系统会自动分配令牌 token,包括:用户标识和组成员等信息。
2 总结学过的权限,属性及ACL相关命令及选项,示例。
文件权限 | 相关命令 | 说明 | 举例 |
文件所有者和属组权限 | chown:可以修改文件的属主,也可以修改文件属组 | OWNER #只修改所有者 OWNER:GROUP #同时修改所有者和属组 :GROUP #只修改属组,冒号也可用.替换 --reference=RFILE #参考指定的的属性,来修改 -R #递归,此选项慎用,非常危险! |
[root@centos8 data]#ll |
chgrp:可以只修改文件的属组 |
chgrp [OPTION]... GROUP FILE... |
[root@centos8 data]#ll f1.txt |
|
文件权限 | chmod:修改文件或者目录的权限 |
chmod [OPTION]... MODE[,MODE]... FILE... r 可使用文件查看类工具,比如:cat,可以获取其内容 八进制数字表示 --- 000 0 --x 001 1 -w- 010 2 -wx 011 3 r-- 100 4 r-x 101 5 rw- 110 6 rwx 111 7 |
[root@centos8 data]#ll dir total 8 -rw-r--r-- 1 root root 709 Dec 18 11:09 f1.txt -rwxr--r-- 1 root root 709 Dec 18 11:09 f2.txt drw-r--r-- 2 root root 6 Dec 18 11:15 subdir [root@centos8 data]#ll -d dir drwxr-xr-- 3 root root 48 Dec 18 11:15 dir [root@centos8 data]#chmod -R a+X dir [root@centos8 data]#ll -d dir drwxr-xr-x 3 root root 48 Dec 18 11:15 dir [root@centos8 data]#ll dir total 8 -rw-r--r-- 1 root root 709 Dec 18 11:09 f1.txt -rwxr-xr-x 1 root root 709 Dec 18 11:09 f2.txt drwxr-xr-x 2 root root 6 Dec 18 11:15 subdir |
新建文件和目录的权限 | umask 的值可以用来保留在创建文件权限 | 实现方式: 新建文件的默认权限: 666-umask,如果所得结果某位存在执行(奇数)权限,则将其权限+1,偶 数不变 新建目录的默认权限: 777-umask 非特权用户umask默认是 002 root的umask 默认是 022 umask #模式方式显示 umask –S #输出可被调用 umask –p | [root@centos8 ~]#umask 0022 [root@centos8 ~]#umask -S u=rwx,g=rx,o=rx [root@centos8 ~]#umask -p umask 0022 |
ACL访问控制列表 | setfacl 可设置ACL权限 getfacl 可查看设置的ACL权限 | ACL:Access Control List,实现灵活的权限管理 除了文件的所有者,所属组和其它人,可以对更多的用户设置权限 CentOS7 默认创建的xfs和ext4文件系统具有ACL功能 CentOS7 之前版本,默认手工创建的ext4文件系统无ACL功能,需手动增加 tune2fs –o acl /dev/sdb1 mount –o acl /dev/sdb1 /mnt/test | [root@centos8 data]#ll f1.txt -rw-r--r-- 1 root root 709 Dec 18 14:37 f1.txt [root@centos8 data]#setfacl -m u:wang:- f1.txt [root@centos8 data]#ll total 4 -rw-r--r--+ 1 root root 709 Dec 18 14:37 f1.txt [root@centos8 data]#getfacl f1.txt # file: f1.txt # owner: root # group: root user::rw user:wang:---group::r-- mask::r-- other::r-- [root@centos8 data]#su wang [wang@centos8 data]$cat f1.txt cat: f1.txt: Permission denied [wang@centos8 data]$echo xx >> f1.txt bash: f1.txt: Permission denied |
|
3 结合vim几种模式,学会使用vim几个常见操作。**
vim三种常见模式:
命令或普通模式:默认模式,可以实现移动光标,剪切和粘贴文本
插入或编辑模式:用于修改文本
扩展命令或命令末行模式:保存,退出,搜索,搜索替换等
按i键:在光标所在处后面输入进插入模式;
按ESC进命令模式;
命令模式按:进扩展命令模式;
扩展命令模式按ESC或enter进命令模式
1)如何打开文件。并在打开文件(命令模式)之后如何退出文件。**
vim或者vi命令后加文件名打开文件,输入:wq保存并退出
q:不保存退出
q!:不保存强制退出
w:保存
wq:保存并退出
2)打开文件(命令模式)之后,进入插入模式。并在插入模式中如何回到打开文件的状态(命令模式),并在命令模式之后如何退出文件。**
过程:vim打开sh结尾的文件,按i进入编辑模式,输入内容后,按esc退出编辑模式,最后输入:wq保存并退出
3)打开文件(命令模式)之后,进入插入模式,编写一段话“马哥出品,必属精品”, 之后从插入模式中如何回到打开文件的状态(命令模式),并在命令模式之后如何退出文件。**
过程:vim打开sh结尾的文件,按i进入编辑模式,输入“马哥出品,必属精品”后,按esc退出编辑模式,最后ZZ保存并退出(ZQ不保存退出)
进入编辑模式:
esc键退回命令模式
最后ZZ保存并退出(ZQ不保存退出)
4)使用cat命令验证文件内容,是刚刚自己写的内容。**
bash
[root@CentOS8 scripts]# cat 1.txt
马哥出品,必属精品
5)(可选),命令模式下,光标在单词,句子上进行前后,上下跳转。行复制粘贴。行删除。**
http
h:光标向左移动
l:光标向右移动
j:光标向下移动
k:光标向上移动
w:下一个单词的词首
e:当前或下一单词的词尾
b:当前或前一个单词的词首
yy:行复制
p:粘贴
dd:行删除
4 总结学过的文本处理工具,文件查找工具,文本处理三剑客, 文本格式化命令(printf)的相关命令及选项,示例。
分类 | 选项 | 举例 |
文本处理三剑客 | grep 命令主要对文本的(正则表达式)行基于模式进行过滤 作用:文本搜索工具,根据用户指定的“模式”对目标文本逐行进行匹配检查;打印匹配到的行 模式:由正则表达式字符及文本字符所编写的过滤条件 常见选项: --color=auto 对匹配到的文本着色显示 -m # 匹配#次后停止 -v 显示不被pattern匹配到的行,即取反 -i 忽略字符大小写 -n 显示匹配的行号 -c 统计匹配的行数 -o 仅显示匹配到的字符串 -q 静默模式,不输出任何信息 -A # after, 后#行 -B # before, 前#行 -C # context, 前后各#行 -e 实现多个选项间的逻辑or关系,如:grep –e ‘cat ' -e ‘dog' file -w 匹配整个单词 -E 使用ERE,相当于egrep -F 不支持正则表达式,相当于fgrep -P 支持Perl格式的正则表达式 -f file 根据模式文件处理 -r 递归目录,但不处理软链接 -R 递归目录,但处理软链接 | grep root /etc/passwd grep "USER" /etc/passwd grep 'USER' /etc/passwd grep whoami /etc/passwd #取2个文件的相同行 [root@centos8 ~]#cat /data/f1.txt a b 1 c [root@centos8 ~]#cat /data/f2.txt b e f c 1 2 |
sed:stream editor,文本编辑工具 sed [option]... 'script;script;...' [inputfile...] 常用选项: -n 不输出模式空间内容到屏幕,即不自动打印 -e 多点编辑 -f FILE 从指定文件中读取编辑脚本 -r, -E 使用扩展正则表达式 -i.bak 备份文件并原处编辑 -s 将多个文件视为独立文件,而不是单个连续的长文件流 #说明: -ir 不支持 -i -r 支持 -ri 支持 -ni 危险选项,会清空文件 地址格式: 1. 不给地址:对全文进行处理 2. 单地址: #:指定的行,$:最后一行 /pattern/:被此处模式所能够匹配到的每一行 3. 地址范围: #,# #从#行到第#行,3,6 从第3行到第6行 #,+# #从#行到+#行,3,+4 表示从3行到第7行 /pat1/,/pat2/ #,/pat/ /pat/,# 4. 步进:~ 1~2 奇数行 2~2 偶数行 命令: p 打印当前模式空间内容,追加到默认输出之后 Ip 忽略大小写输出 d 删除模式空间匹配的行,并立即启用下一轮循环 a [\]text 在指定行后面追加文本,支持使用\n实现多行追加 i [\]text 在行前面插入文本 c [\]text 替换行为单行或多行文本 w file 保存模式匹配的行至指定文件 r file 读取指定文件的文本至模式空间中匹配到的行后 = 为模式空间中的行打印行号 ! 模式空间中匹配行取反处理 q 结束或退出sed s/pattern/string/修饰符 查找替换,支持使用其它分隔符,可以是其它形式:s@@@,s### 替换修饰符: g 行内全局替换 p 显示替换成功的行 w /PATH/FILE 将替换成功的行保存至文件中 I,i 忽略大小写 | #默认sed会将输入信息直接输出 [root@centos8 ~]#sed '' welcome welcome to to magedu magedu [root@centos8 ~]#sed '' /etc/issue \S Kernel \r on an \m [root@centos8 ~]#sed 'p' /etc/issue \S \S Kernel \r on an \m Kernel \r on an \m | |
文本查找工具 | cat 可以查看文本内容 cat [OPTION]... [FILE]... 常见选项: -E:显示行结束符$ -A:显示所有控制符 -n:对显示出的每一行进行编号 -b:非空行编号 -s:压缩连续的空行成一行 nl显示行号,相当于cat -b tac逆向显示文本内容 rev将同一行的内容逆向显示 locate 查询系统上预建的文件索引数据库 /var/lib/mlocate/mlocate.db locate [OPTION]... [PATTERN]... 常用选项: -i 不区分大小写的搜索 -n N 只列举前N个匹配项目 -r 使用基本正则表达式 find 是实时查找工具,通过遍历指定路径完成文件查找 find [OPTION]... [查找路径] [查找条件] [处理动作] -maxdepth level 最大搜索目录深度,指定目录下的文件为第1级 -mindepth level 最小搜索目录深度 xargs用于产生某个命令的参数,xargs 可以读入 stdin 的数 据,并且以空格符或回车符将 stdin 的数据分隔成为参数 | [root@centos8 ~]#cat -A /data/fa.txt a b$ c $ d^Ib^Ic$ [root@centos8 ~]#cat /data/fa.txt a b c d b c [root@centos8 ~]#cat /data/fb.txt a b c [root@centos8 ~]#hexdump -C /data/fb.txt 00000000 61 0d 0a 62 0d 0a 63 0d 0a |a..b..c..| 00000009 [root@centos8 ~]#cat -A /data/fb.txt a^M$ b^M$ c^M$ [root@centos8 ~]#cat /data/f1.txt a b c d e f g h [root@centos8 ~]#nl /data/f1.txt 1 a 2 b 3 c 4 d 5 e 6 f 7 g 8 h [root@centos8 ~]#cat /data/fa.txt 1 2 3 4 5 [root@centos8 ~]#tac /data/fa.txt 5 4 3 2 1 [root@centos8 ~]#cat /data/fa.txt 1 2 3 4 5 a b c [root@centos8 ~]#tac /data/fa.txt a b c 1 2 3 4 5 [root@centos8 ~]#rev /data/fa.txt 5 4 3 2 1 c b a #搜索名称或路径中包含“conf"的文件 locate conf #使用Regex来搜索以“.conf"结尾的文件 locate -r '\.conf$' find /etc -maxdepth 2 -mindepth 2 #显示10个数字 [root@centos8 ~]#seq 10 | xargs 1 2 3 4 5 6 7 8 9 10 #删除当前目录下的大量文件 ls | xargs rm |
5 总结文本处理的grep命令相关的基本正则和扩展正则表达式。
作用:文本搜索工具,根据用户指定的"模式"对目标文本逐行进行匹配检查;打印匹配到的就行
模式:由正则表达式字符及文本字符所编写的过滤条件
正则表达式 | 选项 | 举例 |
扩展正则表达式 | 字符匹配: . 任意单个字符 [wang] 指定范围的字符 [^wang] 不在指定范围的字符 [:alnum:] 字母和数字 [:alpha:] 代表任何英文大小写字符,亦即 A-Z, a-z [:lower:] 小写字母,示例:[[:lower:]],相当于[a-z] [:upper:] 大写字母 [:blank:] 空白字符(空格和制表符) [:space:] 水平和垂直的空白字符(比[:blank:]包含的范围广) [:cntrl:] 不可打印的控制字符(退格、删除、警铃...) [:digit:] 十进制数字 [:xdigit:]十六进制数字 [:graph:] 可打印的非空白字符 [:print:] 可打印字符 [:punct:] 标点符号 次数匹配: * 匹配前面字符任意次 ? 0或1次 + 1次或多次 {n} 匹配n次 {m,n} 至少m,至多n次 位置锚定: ^ 行首 $ 行尾 \<, \b 语首 \>, \b 语尾 | [root@centos8 ~]#ifconfig | grep -Ewo "(([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0- 5])\.){3}([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])"|head -n1 10.0.0.8 |
基本正则表达式 | 字符匹配: . 匹配任意单个字符(除了\n),可以是一个汉字或其它国家的文字 [] 匹配指定范围内的任意单个字符,示例:[wang] [0-9] [a-z] [a-zA-Z] [^] 匹配指定范围外的任意单个字符,示例:[^wang] [:alnum:] 字母和数字 [:alpha:] 代表任何英文大小写字符,亦即 A-Z, a-z [:lower:] 小写字母,示例:[[:lower:]],相当于[a-z] [:upper:] 大写字母 [:blank:] 空白字符(空格和制表符) [:space:] 包括空格、制表符(水平和垂直)、换行符、回车符等各种类型的空白,比[:blank:]包含的范围 广 [:cntrl:] 不可打印的控制字符(退格、删除、警铃...) [:digit:] 十进制数字 [:xdigit:]十六进制数字 [:graph:] 可打印的非空白字符 [:print:] 可打印字符 [:punct:] 标点符号 ----------------- \s #匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [\f\r\t\v]。注意 Unicode 正则表达式会匹配全角空格符 \S #匹配任何非空白字符。等价于 [^\f\r\t\v] \w #匹配一个字母,数字,下划线,汉字,其它国家文字的字符,等价于[_[:alnum:]字] \W #匹配一个非字母,数字,下划线,汉字,其它国家文字的字符,等价于[^_[:alnum:]字] 匹配次数: * #匹配前面的字符任意次,包括0次,贪婪模式:尽可能长的匹配 .* #任意长度的任意字符 \? #匹配其前面的字符出现0次或1次,即:可有可无 \+ #匹配其前面的字符出现最少1次,即:肯定有且 >=1 次 \{n\} #匹配前面的字符n次 \{m,n\} #匹配前面的字符至少m次,至多n次 \{,n\} #匹配前面的字符至多n次,<=n \{n,\} #匹配前面的字符至少n次 位置锚定: ^ #行首锚定, 用于模式的最左侧 $ #行尾锚定,用于模式的最右侧 ^PATTERN$ #用于模式匹配整行 ^$ #空行 ^[[:space:]]*$ #空白行 \< 或 \b #词首锚定,用于单词模式的左侧 \> 或 \b #词尾锚定,用于单词模式的右侧 \<PATTERN\> #匹配整个单词 #注意: 单词是由字母,数字,下划线组成 | [root@centos8 ~]#ls /etc/ | grep 'rc[.0-6]' rc0.d rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d rc.d rc.local [root@centos8 ~]#echo /etc/ |grep "/etc/\?" /etc/ [root@centos8 ~]#echo /etc |grep "/etc/\?" /etc [root@centos8 ~]#grep '^[^#]' /etc/fstab UUID=acf9bd1f-caae-4e28-87be-e53afec61347 / xfs defaults 0 0 UUID=1770b87e-db5a-445e-bff1-1653ac64b3d6 /boot ext4 defaults 1 2 UUID=ffffd919-d674-44d9-a4e7-402874f0a1f0 /data xfs defaults 0 0 UUID=409e36d2-ac5e-423f-ad78-9b12db4576bd swap swap defaults 0 0 |
6 总结变量命名规则,不同类型变量(环境变量,位置变量,只读变量,局部变量,状态变量)如何使用。**
bash
环境变量:可以使子进程(包括孙子进程) 继承父进程的变量,但是无法让父进程使用子进程的变量一旦子进程修改从父进程继承的变量,将会新的值传递给孙子进程般只在系统配置文件中使用,在脚本中较少使用
- env 查看当前用户的环境变量
- set 查询当前用户的所有变量(临时变量与环境变量)
- export 变量名=变量值 或者 变量名=变量值;export 变量名
位置变量:在bash shell中内置的变量,在脚本代码中调用通过命令行传递给脚本的参数
eg:
$1,$2,... 对应第1个、第2个等参数,shift [n]换位置
$0 命令本身,包括路径
$* 传递给脚本的所有参数,全部参数合为一个字符串
$@ 传递给脚本的所有参数,每个参数为独立字符串
s# 传递给脚本的参数的个数
只读变量:除了声明定义,不能再进行其它修改删除的操作
声明只读变量:
readon7y name
decTare -r name
查看只读变量:
readon1y [-p]
declare -r
eg:
[root@master data]# readonly IP=0.13456
[root@master data]# echo $IP
0.13456
局部变量:直接定义变量内容的方法;输出变量内容时会将变量内容里的变量或命令(要反引下)解析之后再输出,一般为简单连续的数字,字符串,路径名等,如果内容中有空格等特殊字符,则不能完整输出,需要改加双引号
eg:
[root@localhost SHELL]# d=123456
[root@localhost SHELL]# c="10.0.0.3-$d"
[root@localhost SHELL]# c=10.0.0.3-$d
[root@localhost SHELL]# echo $c
10.0.0.3-123456
//变量内容中有命令要反引下 反引符号为``
[root@localhost SHELL]# d=123456
[root@localhost SHELL]# c="10.0.0.3-$d"
[root@localhost SHELL]# c=10.0.0.3-$d
[root@localhost SHELL]# echo $c
10.0.0.3-123456
[root@localhost SHELL]# c=10.0.0.3-$`echo $d`
[root@localhost SHELL]# echo $c
10.0.0.3-$123456
状态变量:表示程序执行时候的相应状态
$?的值为0 #代表成功
$?的值是1到255 #代表失败
eg:
[root@master data]# echo `hostname -I` > 1.txt
[root@master data]# echo $?
0
7 通过shell编程完成,30鸡和兔的头,80鸡和兔的脚,分别有几只鸡,几只兔?
bash
[root@master data]# cat chroot.sh
#!/bin/bash
#
#*************************************************************************************
#Author: novice
#QQ: 2659467887
#Date: 2023-03-12
#FileName: chroot.sh
#URL: http://www.wangxiaochun.com
#Description: The test script
#Copyright (C): 2023 All rights reserved
#************************************************************************************
HEAD=$1
FOOT=$2
RABBIT=$(((FOOT-HEAD-HEAD)/2))
CHOOK=$[HEAD-RABBIT]
echo RABBIT:$RABBIT
echo CHOOK:$CHOOK
[root@master data]# ./chroot.sh 30 80
RABBIT:10
CHOOK:20
8 结合编程的for循环,条件测试,条件组合,完成批量创建100个用户,**
1)for遍历1..100
```bash
[root@CentOS8 scripts]# vim nm.sh
#!/bin/bash
for i in {1..100};do
echo ${i}
done
2)先id判断是否存在
3)用户存在则说明存在,用户不存在则添加用户并说明已添加。
[root@CentOS8 scripts]# ls /home/
novice user-13 user-18 user-22 user-27 user-31 user-36 user-40 user-45 user-5 user-54 user-59 user-63 user-68 user-72 user-77 user-81 user-86 user-90 user-95
user-1 user-14 user-19 user-23 user-28 user-32 user-37 user-41 user-46 user-50 user-55 user-6 user-64 user-69 user-73 user-78 user-82 user-87 user-91 user-96
user-10 user-15 user-2 user-24 user-29 user-33 user-38 user-42 user-47 user-51 user-56 user-60 user-65 user-7 user-74 user-79 user-83 user-88 user-92 user-97
user-11 user-16 user-20 user-25 user-3 user-34 user-39 user-43 user-48 user-52 user-57 user-61 user-66 user-70 user-75 user-8 user-84 user-89 user-93 user-98
user-12 user-17 user-21 user-26 user-30 user-35 user-4 user-44 user-49 user-53 user-58 user-62 user-67 user-71 user-76 user-80 user-85 user-9 user-94 user-99
[root@CentOS8 scripts]# cat useradd.sh
#!/bin/bash
for i in $(seq 100)
do
[ ${i} -lt 100 ] && useradd user-${i}
done
9 磁盘存储术语总结: head, track, sector, sylinder.**
- head: 磁头 磁头数=盘面数
- track: 磁道 磁道=柱面数
- sector: 扇区,512bytes
- cylinder: 柱面 1柱面=512 * sector数/track*head数=512*63*255=7.84M
硬盘中一般会有多个盘片组成,每个盘片包含两个面,每个盘面都对应地有一个读/写磁头。受到硬盘整体体积和生产成本的限制,盘片数量都受到限制,一般都在5片以内。盘片的编号自下向上从0开始,如最下边的盘片有0面和1面,再上一个盘片就编号为2面和3面。
下图显示的是一个盘面,盘面中一圈圈灰色同心圆为一条条磁道,从圆心向外画直线,可以将磁道划分为若干个弧段,每个磁道上一个弧段被称之为一个扇区(图践绿色部分)。扇区是磁盘的最小组成单元,通常是512字节。(由于不断提高磁盘的大小,部分厂商设定每个扇区的大小是4096字节)
硬盘通常由重叠的一组盘片构成,每个盘面都被划分为数目相等的磁道,并从外缘的“0”开始编号,具有相同编号的磁道形成一个圆柱,称之为磁盘的柱面。磁盘的柱面数与一个盘面上的磁道数是相等的。由于每个盘面都有自己的磁头,因此,盘面数等于总的磁头数。
**10 总结MBR,GPT结构。**
**MBR**:32位扇区,最大分区不超过2T
Centos 5 之前按整柱面划分
Centos 6 版本后可以按Sector划分
0磁道0扇区: 512bytes
- 446bytes: boot loader 启动相关
- 64bytes: 分区表,其中每16bytes标识一个分区
- 2bytes: 55AA,标识位
MBR分区中一块硬盘最多有4个主分区,也可以3主分区+1扩展(N个逻辑分区)
MBR分区: 主和扩展分区对应的1--4,/dev/sda3,逻辑分区从5开始,/dev/sda5
问题:利用分区策略相同的另一台主机的分区表来还原和回复当前逐渐破坏的分区表?
**GPT**: GUID (Globals Unique ldentifiers)partition table 支持128个分区,使用64位,支持8Z (512Byte/block ) 64Z ( 4096Byte/block)
使用128位UUID(Universally Unique ldentifier) 表示磁盘和分区,GPT分区表自动备份在头和尾两份并有CRC校验位
UEFI(Unified Extensible Firmware Interface 统一可扩展固件接口硬件支持GPT,使得操作系统可以启动
**11 总结学过的分区,文件系统管理,SWAP管理相关的命令及选项,示例**
fdisk, parted, mkfs, tune2fs, xfs_info, fsck, mount, umount, swapon, swapoff
| 命令 | 常用用法 | 举例 |
| -------- | :----------------------------------------------------------- | ---- |
| fdisk | 列出所有分区是一个创建和维护分区的命令,fdisk [选项] <disk> 改变分区,fdisk [选项] -l <disk> | |
| parted | parted [选项] [设备] [指令] 将带有“参数”的命令应用于“设备”。如果没有给出“命令”,则以交互模式运行 | |
| mkfs | mkfs命令用于在特定的分区上建立 linux 文件系统 | |
| tune2fs | tune2fs是调整和查看ext2/ext3文件系统的文件系统参数,Windows下面如果出现意外断电死机情况,下次开机一般都会出现系统自检 | |
| xfs_info | xfs_info命令用来查看xfs文件系统的具体信息,语法格式: xfs_info [挂载点] [设备文件名],该命令的装载点参数是装载文件系统的目录的路径名。必须装入文件系统才能进行增长文件系统的现有内容不受干扰,并且添加的空间可用于其他文件存储 | |
| fsck | fsck用来检查和维护不一致的文件系统。若系统掉电或磁盘发生问题,可利用fsck命令对文件系统进行检查 | |
| mount | mount [选项] [磁盘或分区的设备名] [载入点] | |
| umoun | umount 命令可以卸载已经挂载的文件系统。umount [选项] [目录] [设备] | |
| swapon | swapon命令用于激活Linux系统中交换空间,Linux系统的内存管理必须使用交换区来建立虚拟内存。 | |
| swapoff | swapoff命令用于关闭指定的交换空间(包括交换文件和交换分区)。swapoff实际上为swapon的符号连接,可用来关闭系统的交换区 | |
**12 总结raid 0, 1, 5, 10, 01的工作原理。总结各自的利用率,冗余性,性能,至少几个硬盘实现。**
| RAID | 单一硬盘 | JBOD(混和磁盘) | 0 | 1 | 5 | 6 | 10 | 01 |
| :------------: | :------: | :--------------: | :--------------------------: | :--------------: | :--------------------: | :--------------: | :----------------------------: | :----------------------------: |
| 最少硬盘 | 参考 | n>=1 | n>=1 | n>=2 | n>=3 | n>=4 | 2n(n>=2)>=4 | 2n(n>=2)>=4 |
| 最大容错 | 0 | 0 | 0 | n-1 | 1 | 2 | 有 | 有 |
| 磁盘空间利用率 | 100% | n | 100% | 50% | (n-1)/n | (n-2)/n | 50% | 50% |
| 读取性能 | 1 | 1 | n | n | n-1 | n-2 | 一般 | 一般 |
| 写入性能 | 1 | 2 | n | 1 | n-1 | n-2 | 一般 | 一般 |
| 安全性 | 无 | 无(同raid0) | 一个硬盘异常,其它硬盘也异常 | 高,一个正常即可 | 高 | 比raid5高 | 高 | 高 |
| 目的 | | 增加容量 | 追求最大容量和速度 | 追求最大安全性 | 追求最大容量、最小预算 | 同raid5 | 综合RAID 0/1优点,理论速度较快 | 综合RAID 0/1优点,理论速度较快 |
| 应用 | | 个人备份 | 缓存 | 个人、企业备份 | 个人、企业备份 | 个人、企业备份 | 大型数据库、服务器 | 大型数据库、服务器 |
| 别名 | | | 条带 | 镜像 | 分布奇偶校验条带 | 双重奇偶校验条带 | 镜像加条带 | 条带加镜像 |
raid0:条带集,读写性能高,磁盘利用率100%
raid1:镜像集,互为镜像,读取速度等于硬盘数量倍数,写入速度比raid0低,磁盘利用率50%,可防止物理性的磁盘损坏,不能防止人为破坏,不可代替
raid5:读写性能高,磁盘利用率N/(N-1),有容错(允许最多一块硬盘损坏),最少3块硬盘
raid10:读写性能高,有容错(每组镜像最多只能坏一块),最少4块磁盘,失败率1/3
raid01:多块磁盘先组合成raid0,再组合成raid1,失败率2/3
标签:李辉,--,data,N74080,第二周,user,txt,root,centos8 From: https://www.cnblogs.com/novice-basel/p/17232713.html