- 基础
- 显示控制字符(cat -A filename 也可以看到隐藏的控制字符)
- 忽略大小写
- 添加用户
- 修改用户
- 新加用户默认登录的配置
- 修改密码
- 删除用户
- 用户组管理
- 用户切换到其他附属组
- 查看id
- 特殊权限位,就是umask显示的最前面的数字
- 第一位可以设置上面的SUID、SGID、SBIT以及其对应的组合
- 这里的-rwsr-xr-x 中的s表示 SUID
- group属性的x如果是 s则表示 SGID
- other属性的x如果是 t则表示 SBIT,粘着位最具有代表性的就是/tmp
- passwd其实是操作 /etc/shadow文件,但这个文件的权限很特殊,所以需要这里的特殊权限
- 这里的特殊权限表示普通用户在执行命令时临时升级为文件对应的user、group身份
- 切换身份也是只有在命令执行过程中生效,执行完毕后失效
- 一般命令只有x权限,设置了特殊权限后权限位会标记为s
- 如果没有x权限,直接设置特殊权限,则表示为S,再加上x权限后标识为s
- 粘着位只针对目录有效
- 粘着位表示other对此目录下的文件有写的权限,但修改和删除时只能操作自己创建的文件
- 从安全来看,为了防止木马和后门,需要定期排查特殊权限的文件和命令,定期diff匹配
- lv创建好后就可以格式化fs再挂载使用
基础
系统结构
发行版本
一些特性
硬盘类型
- IDE
- 第一个硬盘为hda
- 第二个硬盘为hdb
- 第三个硬盘为hdc
- …
- SCSI
- 第一个硬盘为sda
- 第二个硬盘为sdb
- 第三个硬盘为sdc
- …
-
分区类型
主分区
- 最多4个
- 顺序创建
- [sh]da[1-4]
扩展分区
Windows
- FAT32
- NTFS
Linux
eth0
- ens33
-
安装虚拟机配置
虚拟机网络
硬盘
网卡
目录结构
维护建议
远程服务器关机及重启时的注意事项
- 重启前使用sync # 该命令尽量把缓存数据同步到磁盘
- 使用 shutdown -r now # 优雅关机,尽量避免halt、init等
- 不要在服务器访问高峰运行高负载命令
- 远程配置防火墙时不要把自己踢出服务器
- 测试时可以定时任务5分钟后清空防火墙,防止自杀
- 指定合理的密码规范并定期更新
- 合理分配权限
-
常用命令
重点命令
帮助命令
- —help (外部命令帮助文档)
- help(内核命令帮助)
- man(常用手册)
- 帮助级别(man X 默认是1级别)
- info(详细说明书)
# 可以列出CMD相关的帮助手册的级别
whereis CMD
# 使用man级别,默认是1级别
man [LEVEL] CMD
# linux帮助
--help
help
man
info # 最详细的一本书
# 查看文件状态
stat test.txt
File: test.txt
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 8eh/142d Inode: 1191290 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2022-05-29 06:02:12.894510249 +0000 # 访问时间
Modify: 2022-05-29 06:02:12.894510249 +0000 # 内容修改时间
Change: 2022-05-29 06:02:12.894510249 +0000 # 状态修改时间
Birth: -
# 更新文件的三个时间
touch test.txt
# ln
## 硬链接,inode相同,删除1个另一个不受影响,不能跨分区,不能链目录
ln /path/to/1 /path/to/2
## 软链接,inode不同,都是在修改源文件,删除软链接文件后不影响源文件
ln -s /path/to/1 /path/to/2
# 查找
whereis
# 查找命令的命令,可以查找帮助文档的位置
which
# 查找命令的命令,可以查找别名
locate
# 按文件名查找
# 维护一个数据库 /var/lib/mlocate/mlocate.db
# 更新数据库
## 自动更新:重启机器
## 手动更新:updatedb;
## 配置文件在/etc/updatedb.conf, 可以配置哪些目录/FS/名称不需查找/更新
find
# -exec 和 -ok
## 把执行结果交给后面的命令继续执行
## 通过{} \; 接收find命令的结果
## 区别
### -exec 会直接执行,不会询问
### -ok 会询问是否执行,得到确认后再执行,给用户交互的机会
alias
# 别名
## alias CMD='CMD2... '
权限管理
umask
网络命令
- nm配置文件在 /etc/NetworkManager/system-connections/X.nmconnection
- nm使用方法
- nmcli
- 激活新网卡
- nmcli
- 常用命令
- nmtui
- TextUI/TerminalUI
reboot halt poweroff init
<a name="XP49P"></a>
### 痕迹命令
- 查看登录或登录日志
![image.png](https://cdn.nlark.com/yuque/0/2022/png/1491874/1653838051818-33b66b5b-d267-47e7-9538-a9403850730e.png#clientId=u809e5d44-dd5d-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=330&id=u793724be&margin=%5Bobject%20Object%5D&name=image.png&originHeight=660&originWidth=1176&originalType=binary&ratio=1&rotation=0&showTitle=false&size=389859&status=done&style=none&taskId=u651343fb-ca18-4426-9395-5756a558670&title=&width=588)
<a name="YFGng"></a>
### 挂载
```shell
# 挂载光盘
mount -t iso9600 /dev/sr0 /mnt/cdrom
# 卸载
umount /mnt/cdrom
# 查看接入设备
fdisk -l
# 挂载U盘
mount -t vfat -o iocharset=utf8 /dev/sdb1 /mnt/usb
# 卸载U盘
umount /mnt/usb
终端通信
# 本地终端
# 本地字符终端 tty1-6 (Alt+F1-F6切换)
# 本地图形终端 tty7 (Alt+Ctrl+F7切换)
# 远程终端 pts/0- (每连接一个远程就会+1)
# write,给user发送消息,回车即发送,ctrl+c 退出
write [options] <user> [<ttyname>]
# wall,给所有终端广播消息
wall [message]
wall
输入内容后 ctrl+d 发送
dos2unix
# windows下编辑的文件cat -A看 行结束符有^M需要转换成linux
dos2unix test.txt
VI
配置文件.vimrc
- vim命令的配置文件,常用的个性化配置可以编辑保存 ``` syntax off syntax on
set nonu set nu
set nohlsearch set hlsearch
显示控制字符(cat -A filename 也可以看到隐藏的控制字符)
set list set nolist
忽略大小写
set noic set ic
<a name="mXxFq"></a>
### 工作模式
![image.png](https://cdn.nlark.com/yuque/0/2022/png/1491874/1653789341708-7bff391c-0fb9-489a-93b9-b95e1db16b0f.png#clientId=u1e125094-850b-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=391&id=uf67f3558&margin=%5Bobject%20Object%5D&name=image.png&originHeight=782&originWidth=1330&originalType=binary&ratio=1&rotation=0&showTitle=false&size=135006&status=done&style=none&taskId=u77699ffa-3332-4244-83c8-07bf90b4293&title=&width=665)
<a name="undDO"></a>
### 常用命令
![image.png](https://cdn.nlark.com/yuque/0/2022/png/1491874/1653789409846-6e73591d-b24f-43cc-8170-84963986335f.png#clientId=u1e125094-850b-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=472&id=u1f03fd58&margin=%5Bobject%20Object%5D&name=image.png&originHeight=944&originWidth=1034&originalType=binary&ratio=1&rotation=0&showTitle=false&size=155837&status=done&style=none&taskId=uc6080edf-0cee-492e-952b-8b0402f1cb7&title=&width=517)<br />![image.png](https://cdn.nlark.com/yuque/0/2022/png/1491874/1653789437704-f0ce7ce1-08a7-4347-8ed0-581492f10365.png#clientId=u1e125094-850b-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=502&id=ub6d8bcd2&margin=%5Bobject%20Object%5D&name=image.png&originHeight=1004&originWidth=1512&originalType=binary&ratio=1&rotation=0&showTitle=false&size=205378&status=done&style=none&taskId=udc20db5b-9d47-481d-a47c-f0d7374309a&title=&width=756)<br />![image.png](https://cdn.nlark.com/yuque/0/2022/png/1491874/1653789453641-5c91f3b1-a6c1-4310-af46-41f0f4febb56.png#clientId=u1e125094-850b-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=488&id=u72785e20&margin=%5Bobject%20Object%5D&name=image.png&originHeight=976&originWidth=1516&originalType=binary&ratio=1&rotation=0&showTitle=false&size=171516&status=done&style=none&taskId=ua8ee8c24-7422-43a5-abf4-e394d4bf7db&title=&width=758)<br />![image.png](https://cdn.nlark.com/yuque/0/2022/png/1491874/1653789494637-dea72325-b33d-4b87-892b-b83a4309a3d7.png#clientId=u1e125094-850b-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=451&id=ueff3dbcf&margin=%5Bobject%20Object%5D&name=image.png&originHeight=902&originWidth=1326&originalType=binary&ratio=1&rotation=0&showTitle=false&size=200363&status=done&style=none&taskId=u5249d2fc-9d56-432a-bac3-aebbbe4bfe1&title=&width=663)<br />![image.png](https://cdn.nlark.com/yuque/0/2022/png/1491874/1653789523834-770f5abe-a6d5-4574-af7e-37d9152138ee.png#clientId=u1e125094-850b-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=464&id=u5cb06b6f&margin=%5Bobject%20Object%5D&name=image.png&originHeight=928&originWidth=1246&originalType=binary&ratio=1&rotation=0&showTitle=false&size=146364&status=done&style=none&taskId=u51d3c392-864a-410d-b7ae-1530de7660f&title=&width=623)<br />![image.png](https://cdn.nlark.com/yuque/0/2022/png/1491874/1653789537947-8ad91f12-3274-4e47-9c84-1d71c76d9c10.png#clientId=u1e125094-850b-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=494&id=ufee89341&margin=%5Bobject%20Object%5D&name=image.png&originHeight=988&originWidth=1072&originalType=binary&ratio=1&rotation=0&showTitle=false&size=135408&status=done&style=none&taskId=u4c0cab6f-cb55-41fb-8817-e33990cd01f&title=&width=536)<br />![image.png](https://cdn.nlark.com/yuque/0/2022/png/1491874/1653789549918-72b08f1e-b539-4610-9e36-e11c410aa7a0.png#clientId=u1e125094-850b-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=459&id=u9872797b&margin=%5Bobject%20Object%5D&name=image.png&originHeight=918&originWidth=1552&originalType=binary&ratio=1&rotation=0&showTitle=false&size=189782&status=done&style=none&taskId=u2f42626d-3c0c-4ac1-b2b4-38ed2d32a9e&title=&width=776)
- 导入命令
- :r :r a.txt # 读入a.txt的内容
- :! :!CMD :!date # 临时执行命令后返回
- :r !date # 上面2个组合,读入当前时间
- 定义快捷键
- :map 快捷键 触发命令
- :map ^P I#<ESC>
<a name="Ineaf"></a>
# 系统管理
<a name="HxEAd"></a>
## 软件包管理
- 分类
- 源码包
```shell
# 源码编译安装三大步
./configure [--prefix=PATH --with-LIBNAME=PATH]
make
make install
# 错误回退
make clean
- 二进制包
- RHEL的RPM 包管理系统
- Debian/Ubuntu的DPKG 包管理系统
- rpm
- 命名规则
- rpm安装时候的依赖查找网址 http://rpmfind.net/
- 安装默认路径
- —prefix 指定安装路径
- 校验
# 编译
gcc -o test test.c
# rpm 安装
rpm -ivh *.rpm
# rpm安装后的各个软件的信息数据库
ls /var/lib/rpm
# rpm卸载
rpm -e 包名
# 查询所有安装包
rpm -qa
# 查看安装的文件和目录的详细信息
rpm -ql httpd
# yum管理
# 配置文件在/etc/yum.repos.d/目录
yum list
yum install
yum remove
# 软件组
yum grouplist
yum groupinstall
yum groupremove
diff&patch
# 对比两个目录和文件,产生补丁
diff -Naur old new > diff.txt
# 补丁应用
patch -pN < diff.txt
Webmin
- 控制台页面管理OS
- https://www.webmin.com/
用户和组管理
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
/etc/skel
-
/etc/spool/mail
每创建一个用户都会默认添加其邮箱目录 ```shell
添加用户
该命令的默认配置文件在/etc/default/useradd文件
useradd vi /etc/default/useradd
修改用户
usermod
新加用户默认登录的配置
vi /etc/login.defs
修改密码
passwd passwd -S user1 # 显示密码状态 passwd -l user1 # 锁定用户 passwd -u user1 # 解锁用户 cat ‘123’ | passwd —stdin user1 # 无交互更新密码 chage -d 0 user1 # 强制用户登录时更改密码
删除用户
userdel user1
用户组管理
groupadd groupmod groupdel
用户切换到其他附属组
newgrp
查看id
id
[Linux的用户和用户组管理.pptx](https://www.yuque.com/attachments/yuque/0/2022/pptx/1491874/1653956178629-0f4c6884-a6e6-4d94-88b3-a9eb154f55d1.pptx)
<a name="TkWaD"></a>
## 权限管理
- chmod/acl 管理的对象是文件或目录
- sudo管理的对象是系统命令,把本来只有root能执行的命令赋给普通用户
<a name="zeLSR"></a>
### ACL
- Access Control List 访问控制列表,权限访问控制非常灵活
- 用于解决用户对文件身份不足的问题(属主、属组、其他三种角色无法满足的情况)
- 就不再考虑属主、属组、其他三种角色的权限控制体系,直接通过ACL给临时用户权限即可
- XFS默认开启了ACL
```shell
# 获取
getfacl
# 设置
setfacl
# 给用户u或组g: NAME 设置 rwx权限 到 PATH目录
setfacl -m [ug]:NAME:[rwx] PATH
# set后 ll查看发现第一列最后一位变成了+,表示设置了acl
ll /test
drwxr-xr-x+ 2 root root 4096 Oct 19 2020 test
### 选项
-R 递归设置,针对已经存在的文件和目录生效
setfacl -m d:[ug]:NAME:[rwx] PATH # 通过d:即default是针对后续创建的文件和目录生效
setfacl -m m:MUSK_NUM PATH # 设置acl的umask
sudo
# 命令编辑配置
visudo
# 其实是编辑配置文件
### 授权的命令在普通用户执行时必须和命令一致(包含参数)
### 所以授权必须是白名单策略,仅仅授予必须的操作
/etc/sudoers
## 文件格式
用户名 IP地址=(可使用的身份) 授权命令必须是绝对路径
用户名 IP地址=(可使用的身份) 授权命令必须是绝对路径[, !排除的命令]
%组名 IP地址=(可使用的身份) 授权命令必须是绝对路径
# 命令
特殊权限和粘滞位StickyBit
- 以下特殊权限非不要不执行
- SetUID SUID 4 s标识
- SetGID SGID 2 s标识
- StickyBit SBIT 1 t标识
```shell
特殊权限位,就是umask显示的最前面的数字
umask 0022 # 特殊权限位就是第一个数字,一般都是0第一位可以设置上面的SUID、SGID、SBIT以及其对应的组合
[test@K8S-Deploy ~]$ ls -l /bin/passwd -rwsr-xr-x. 1 root root 27832 Jan 30 2014 /bin/passwd
这里的-rwsr-xr-x 中的s表示 SUID
group属性的x如果是 s则表示 SGID
other属性的x如果是 t则表示 SBIT,粘着位最具有代表性的就是/tmp
passwd其实是操作 /etc/shadow文件,但这个文件的权限很特殊,所以需要这里的特殊权限
这里的特殊权限表示普通用户在执行命令时临时升级为文件对应的user、group身份
切换身份也是只有在命令执行过程中生效,执行完毕后失效
一般命令只有x权限,设置了特殊权限后权限位会标记为s
如果没有x权限,直接设置特殊权限,则表示为S,再加上x权限后标识为s
[root@K8S-Deploy ~]# ls -dl /tmp/ drwxrwxrwt. 13 root root 4096 May 31 22:21 /tmp/
粘着位只针对目录有效
粘着位表示other对此目录下的文件有写的权限,但修改和删除时只能操作自己创建的文件
从安全来看,为了防止木马和后门,需要定期排查特殊权限的文件和命令,定期diff匹配
find / -perm -4000 -o -perm -2000 >> spetialperm.txt
<a name="w7utd"></a>
### lsattr/chattr
![image.png](https://cdn.nlark.com/yuque/0/2022/png/1491874/1654007648646-c394286d-a678-48ed-9534-a67ddebec761.png#clientId=u0299bad8-eed1-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=414&id=u2150c0c1&margin=%5Bobject%20Object%5D&name=image.png&originHeight=828&originWidth=1550&originalType=binary&ratio=1&rotation=0&showTitle=false&size=674519&status=done&style=none&taskId=u164c8293-526e-4154-8055-6273d34c10a&title=&width=775)<br />![image.png](https://cdn.nlark.com/yuque/0/2022/png/1491874/1654007701527-37a195b2-343e-4eea-ad14-a535a51555e7.png#clientId=u0299bad8-eed1-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=410&id=ufeba87d9&margin=%5Bobject%20Object%5D&name=image.png&originHeight=820&originWidth=1584&originalType=binary&ratio=1&rotation=0&showTitle=false&size=566098&status=done&style=none&taskId=u53c2aae4-c313-4eec-8355-3cce656e6f1&title=&width=792)<br />[Linux的权限管理.pptx](https://www.yuque.com/attachments/yuque/0/2022/pptx/1491874/1653956569581-ae339541-9836-474e-9a01-7b2fbf80a4bc.pptx)
<a name="f6ZUt"></a>
## 文件系统管理
<a name="aIeGF"></a>
### 常见FS
![image.png](https://cdn.nlark.com/yuque/0/2022/png/1491874/1654010003724-fa2c6c03-0e62-46ac-a929-25a9915071a1.png#clientId=u0299bad8-eed1-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=376&id=u542f8902&margin=%5Bobject%20Object%5D&name=image.png&originHeight=752&originWidth=1778&originalType=binary&ratio=1&rotation=0&showTitle=false&size=1263667&status=done&style=none&taskId=ud6adfca4-5bc9-46a0-ae64-38f195f1b11&title=&width=889)
<a name="dLCXE"></a>
### 分区
![image.png](https://cdn.nlark.com/yuque/0/2022/png/1491874/1654046682532-81e60b73-3f34-40da-af1c-417325d2d80e.png#clientId=u31868b43-6f87-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=175&id=u567e35cb&margin=%5Bobject%20Object%5D&name=image.png&originHeight=350&originWidth=1606&originalType=binary&ratio=1&rotation=0&showTitle=false&size=512068&status=done&style=none&taskId=u7fb83a69-37a4-4146-8f62-3b46279c57e&title=&width=803)
<a name="yanYt"></a>
#### MBR分区
- 主分区最多4个
- 扩展分区最多1个,扩展分区必须再划分成逻辑分区才能使用
- 逻辑分区是在扩展分区内划分
- IDE接口最多支持59个逻辑分区
- SCSI接口最多支持11个逻辑分区
- 主要使用fdisk命令进行处理
![image.png](https://cdn.nlark.com/yuque/0/2022/png/1491874/1654010309429-1dd7934f-1f1b-4b25-8f67-410b680c56af.png#clientId=u0299bad8-eed1-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=102&id=u3eb45852&margin=%5Bobject%20Object%5D&name=image.png&originHeight=204&originWidth=1220&originalType=binary&ratio=1&rotation=0&showTitle=false&size=62033&status=done&style=none&taskId=u57110938-b898-4d24-bad5-ebd5a2f7ced&title=&width=610)<br />![image.png](https://cdn.nlark.com/yuque/0/2022/png/1491874/1654010553537-33fbe539-4647-479f-9eea-6c2db1def81b.png#clientId=u0299bad8-eed1-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=312&id=u68a0e599&margin=%5Bobject%20Object%5D&name=image.png&originHeight=624&originWidth=1632&originalType=binary&ratio=1&rotation=0&showTitle=false&size=552101&status=done&style=none&taskId=uf41813d5-f386-4597-8f91-1b4ab1ce20f&title=&width=816)
<a name="apNxk"></a>
#### GPT分区
- 主要使用parted命令进行分区
- 交互命令见下面PPT
![image.png](https://cdn.nlark.com/yuque/0/2022/png/1491874/1654046870792-b0ad81bd-9042-423d-ab91-3445938d556b.png#clientId=u31868b43-6f87-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=218&id=u79559caa&margin=%5Bobject%20Object%5D&name=image.png&originHeight=436&originWidth=1046&originalType=binary&ratio=1&rotation=0&showTitle=false&size=276096&status=done&style=none&taskId=ua14040f8-7177-4325-8001-a41f070e95e&title=&width=523)
```shell
# 进入交互模式
parted /dev/sdb
help
mklabel gpt
mkpart
disk1 # 分区名称
ext2 # FS类型
1M # 起始点
5G # 结束点
print # 显示parted信息
help # 看下是否支持交互式格式化,如果支持就格式化,如果不支持就退出后再命令行格式化
quit # 退出后在进行格式化
# 查看分区信息
fdisk -l
# 进行格式化
mkfs -t ext4 /dev/sdb1
mkfs -t xfs /dev/sdb2
# 挂载
mkdir /disk1
mkdir /disk2
mount /dev/sdb1 /disk1
mount /dev/sdb2 /disk2
常用命令
[root@K8S-Deploy ~]# df -haT
Filesystem Type Size Used Avail Use% Mounted on
文件系统 类型 大小 已用 可用 已用占比 挂载点
# 显示目录占用总量
du -sh dir
# 文件系统检测和修复
fsck -y # 自动修复
# 文件和命令相关命令
file
stat
type
# 显示磁盘状态
dumpe2fs # ext4
xfs_info # xfs
fdisk
- 三大步
- 分区
- 格式化
- 挂载
# 添加新硬盘
# 查看新硬盘
fdisk -l
# 执行分区
fdisk /dev/sdb
m # 查看帮助
n # 新建分区
p|e # 新建主/扩展分区
w # 写入磁盘
# 查看分区情况
fdisk -l
# 格式化
mkfs.ext4 /dev/sdb5 # 格式化为ext4
mkfs.xfs /dev/sdb6 # 格式化为xfs
dumpe2fs /dev/sdb5 # 查看信息
xfs_info /dev/sdb6 # 查看信息
# 挂载
## 临时挂载
mkdir /d1 # 创建挂载点
mount /dev/sdb1 /d1 # 挂载
mount # 查看所有挂载的fs
df -haT # 查看所有挂载的fs
## 开机挂载见下图,配置好fstab后使用下面命令查看是否有错误
mount -a
制作swap
# 分区
fdisk /dev/sdb
m # 帮助
n # 新建
p # 主分区
1 # 分区号
2048 # 第一个扇区
+1G # 最后一个扇区
p # 显示分区信息,这里主要查看id字段
t # 更改ID,即FS类型
l # 查看所有ID
82 # 改为swap
p # 显示分区信息,这里再次查看id字段
w # 保存退出
# 格式化
mkswap /dev/sdb1
# 开启
free -h # 查看现有的swap
swapon /dev/sdb1 # 开启新建的swap
# 开机挂载
vi /etc/fstab
/dev/sdb1 swap swap defaults 0 0
磁盘配额
- 针对用户、组限制磁盘使用容量
- 级别
- 软限制
- 硬限制
# 查看内核是否支持配额
grep 'CONFIG_QUOTA' /boot/config-xxx
CONFIG_QUOTA=y #则是开启了支持
# 查看是否支持命令
rpm -qa | grep quota
lvm
- Logical Volume Manage 逻辑卷管理
- 动态调整分区大小 ```shell pvcreate pvs pvdisplay pvremove
vgcreate vgs vgdisplay vgremove vgextend vgreduce
lvcreate -L 3G -n name vg_name lvs lvdisplay lvremove lvextend lvresize -L 7G name # 调整大小,调整后lvdisplay能看到调整后的结果
# 需要调用resize2fs name 后才能在df -haT结果中看到最新大小
lv创建好后就可以格式化fs再挂载使用
mkfs.ext4 /dev/vg_name/lv_name mount /dev/vg_name/lv_name /mylv1 cd /mylv1 ``` Linux的文件系统管理.pptx