全栈技术分享,API文档动态更新,技术点简明易懂,快速入门
有帮助的话点个赞吧,感兴趣的关注加书签获得更多文档,方便随时查阅,有问题欢迎留言讨论
前言
shell是一种脚本语言, 需要有编译器执行
即:应用程序->shell->操作系统->硬件
bash是linux下默认的shell
sh是unix下默认的shell
多命令执行:
xx && xx: 前面执行成功才会执行后面的命令
xx || xx: 前面执行失败才会执行后面的命令
xx ; xx : 前后无关联,按顺序执行
与操作:
xx | xx: 对前面执行结果继续后面命令操作
重定向输入/输出:< , >
stdin: 标准输入,代码:0
stdout: 标准输出,代码:1
stderr:标准错误输出,代码:2
file: 覆盖输出正确信息
file: 追加输出正确信息
2> file: 覆盖输出错误信息
file 2>&1: 合并覆盖输出错误和正确信息到一个文件
环境变量:(source xxx使当前设置在命令中生效,但在sh脚本中需要重启才能用)
/etc/profile 作用于所有用户,第一次登录时执行,后读取/etc/profile.d目录下所有配置
/etc/profile.d/*.sh
~/.bash_profile 作用于当前用户,登录时执行一次,并读取~/.bashrc
~/.bashrc 作用于当前用户,登录时以及每次打开新shell时读取
/etc/bashrc 作用于所有用户,不用重启,打开新shell时读取
当前用户目录:~
cd ~ && pwd
命令套娃:(xxx $(COMMAND))
COMMAND | xargs xxx | xargs xxx
xxx xxx
COMMAND``
api文档
系统操作类指令
cp
作用 拷贝
格式 cp [option]... SOURCE... DIRECTORY
示例 cp -a /xx/xx /xxx/xx
option -r|-R 递归拷贝
-a 相当于-dpr,保留所有(属性权限链接)且递归拷贝
-d 保留链接
-p 保留属性权限
-f 覆盖
-i 覆盖前询问
-l 只生成链接文件
mkdir
作用 新建文件夹
格式 mkdir [option]... DIRECTORY...
示例 rm -rf /xx/xx
option -p 递归创建
-m 设置目录访问权限mode,如777
rm
作用 删除
格式 rm [option]... FILE...
示例 rm -rf /xx/xx
option -f 强制删除
-r 递归删除
-i|-l 删除前确认|删除超过3个文件以下或递归删除需要确认
-d 删除空目录
-v 列出详细信息
head
作用 标准输出文本头部内容
格式 head [option]... FILE...
示例 head -n 1
option -n N 输出前N行,默认是前10
-c N 输出前N字节
sed
作用 流编辑器,stream edit,用于处理文本文件
格式 sed [option]... 'COMMAND' [input file]...
多个COMMAND用;分隔,如1p;2p;3p
示例 sed "s:^:pwd
/:"
option -n 不打印默认输出的内容,
打印ls和sed的内容: ls | sed -n 1p
只打印sed输出的内容: ls |sed 1p
-e script 添加脚本到程序运行列表,可以多个
-e s/x/y/ -e s/y/x/
-e 's/x/y/;s/y/x/'
-f script-file 添加脚本文件到程序运行列表
--follow-symlinks 直接修改文件时跟随软链接
-i[SUFFIX]|--in-place[=SUFFIX] 直接修改文件(指定扩展名就备份文件)
备份passwd为passwd.bak后删除passwd第一行:sed -i.bak 1d passwd
-l N 每行长度为N,超出换行
-r 在脚本中使用扩展正则表达式
-s 将输入文件视为各个独立的文件而不是一个长的连续输入
-u 从输入文件读取最少的数据,更频繁的刷新输出
script COMMAND
追加
[N]a\ 在第N行新增下一行内容,不写N默认为每一行
ls | sed 3a\hello 在第3行新增下一行打印hello
ls | sed a\hello 在每一行都新增下一行打印hello
替换
[N]c\ 替换第N行内容,不写N默认为每一行
ls | sed 3c\hello 替换3行为hello
ls | sed c\hello 替换每一行为hello
删除
[N]d 删除第N行,不写N默认为每一行
ls | sed 3d 删除第3行
ls | sed d 删除每一行
插入
[N]i\ 在第N行往上插入一行内容,不写N默认为每一行
ls | sed 3i\hello 在第3行前插入一行hello
ls | sed i\hello 每一行前插入一行hello
打印
[N]p
N,Np
/pattern/p
'%%p' 选择性打印内容
ls -n | sed 1p 打印第一行
ls -n | sed 1,2p 打印第1~2行
ls -n | sed /^h.*o:world: 查找第1~3行匹配h开头o结尾部分替换为world
标记
: 为b,t,T分支做位置标记,记为label
如 :a 即是label a代表当前:指向的位置
换行
N 追加一行到pattern能操作的范围
如 N;s/x/y/ 就是把1,2行当一行,3,4当一行
循环跳转
t 跳到label位置继续执行s命令,直到最后一行
多行循环执行
:a;N;s/x/y/;ta 开始位置标记为a
N;s/x/y/:每2行作为一行执行s命令置换x为y
t跳转到a位置执行N;s/x/y/
循环直到最后一行
ls | sed -n :a;N;s/\n//;ta 多行合并为1行
ls
作用 展示目录文件信息
格式 ls [option]... [FILE]...
示例 ls -l /xx/xx
option -l 长格式显示
列表说明: drwxr-xr-x 36 root root 4096 Oct 14 17:15 repository
第一个字符是文件类型:-普通文件,d目录,p管理文件,l链接文件,b块设备文件,c字符设备文件,s嵌套字文件
rwxr-xr-x: 用户权限用户组权限其他用户权限
36:对文件是链接数,对目录是子目录数
root root:所属用户 所属用户组
-1 每行只输出文件名
ls | sed "s:^:pwd
/:" 每行只输出文件名的绝对路径
-a 展示所有,包括.开头文件
-A 展示所有,包括.开头文件,忽略.和..
-d 展示目录且不展开,默认是当前目录.
-r 倒序
-i 显示目录索引序号
-R 递归展开目录
-F 目录以/结尾
-h 显示文件大小
-b 不可输出的字符用反斜杠+编号显示
-c 输出文件节点修改时间,并以此排序
-s 输出文件大小
-t 时间排序
-u 访问时间排序
-S 文件大小排序
-B 不输出~结尾文件
-s 输出文件大小
ln
作用 链接指令
软链接:路径快捷方式
硬链接:备份
格式 ln [option]... TARGET... DIRECTORY
示例 ln -s /xx/xx /xxx/xx
option -s 创建软链接
-r 与-s结合,创建相对路径软链接
-b 删除覆盖目标文件之前的备份
-d|-F 建立目录的硬链接
-f 强制建立,不管文件或目录是否存在
-i 强制建立前询问
-n 链接目录视为一般文件
-S|--suffix=SUFFIX 修改字尾备份字符串,预设是~
-v 显示每个链接文件名
-V METHOD 指定备份的方式
-P|--physical 硬链接重定向到软链接(默认指令)
chmod
作用 权限赋予
格式 chmod [option]... [MODE,...] FILE...
示例 chmod -R a+rwx,u+rwx,g+rwx,o+rwx /xxx/xxx
option -R 给目录下所有文件(递归)授予权限
-c 权限有改动才显示更改动作
-f 不显示错误信息
-v 显示执行信息
权限mode
[ugoa...][[+-=][rwxX]...][,...] 777 所有权限,即 rwxrwxrwx
前3个是用户权限,中间3个是用户组权限,后3个是其他用户权限
u 为文件所属用户设置权限
g 为文件所属用户组设置权限
o 为文件所属用户其他以外的人设置权限
a 包含上面三者
- 增加权限
- 取消权限
= 唯一设定权限
r 可读,二进制:100
w 可写,二进制:010
x 可执行,二进制:001
--- 二进制:000,十进制:0
--x 二进制:001,十进制:1
-w- 二进制:010,十进制:2
-wx 二进制:011,十进制:3
r-- 二进制:100,十进制:4
r-x 二进制:101,十进制:5
rw- 二进制:110,十进制:6
rwx 二进制:111,十进制:7
groupadd
作用 新增用户组
格式 groupadd [option]
示例 groupadd -g 8888 gadmin
option -g 指定组id
-p 使用加密过的密码
-r 建立系统工作组,id必须小于500
-exec
作用 执行命令
格式 exec [-cl] [-a name] [command [argument ...]] [redirection ...]
示例 find / -name "t*" -exec ls -l {} ;
option -c 在空环境中执行指定的命令
-l 在传递给command的第零个arg的开头放置一个破折号
-a Shell将name作为第零个参数传递给command
useradd
作用 新增用户
格式 useradd [option]
示例 useradd admin -g gadmin -G root
option -g 指定用户所属组
-G 附加群组
-d 指定用户登入的起始目录
-u 指定用户id
-r 建立系统账号
-s 指定用户登入后使用的shell
-p 设置密码
chown
作用 设置文件用户和用户组
格式 chown [option]... [OWNER][:[GROUP]] FILE...
示例 chown -R admin:gadmin /xxx/xx
option -R 递归修改
-c 显示更改部分信息
-f 忽略错误信息
-h 修复符号链接
-v 显示详细处理信息
-H 命令行参数是指向目录的符号链接,则遍历它
-L 遍历遇到的每个指向目录的符号链接
-P 不遍历任何符号链接(默认)
export
作用 设置环境变量
格式 export [option] [name[=value] ...]
示例 export M2_HOME=/xx/xx
option -f 指向函数
-n 删除变量
-p 显示所有变量
文件文本相关指令
stat
作用 查看文件状态
格式 stat [option] /xx/xx
示例 stat /xx/xx
option -L 跟踪软连接文件原始文件状态信息
-f 查看文件的文件系统状态信息
-t 简洁打印文件状态信息
-c 指定格式打印文件状态信息
-c %i: inode
%u: 用户ID
%U: 用户
%g: 用户组ID
%G: 用户组
%m: 磁盘挂载点
%x|y|z: 文件访问|修改|更改时间
%A|a: 文件权限
其余查看stat --help自行翻译
cat
作用 查看文件内容
格式 cat [option] /xx/xx
示例 cat /xx/xx
option -A 展示所有
-b 对非空输出行编号
-n 对所有输出行编号
-s 连续空行转换为一个空行
-e 等价与 -vE
-v 除了LFD和TAB之外不可打印的字符用^和M-标记方式显示
-E 每行结束地方显示: 行尾
^: 行首
w: 下个字开头
e: 下个字结尾
b: 上个字开头
|: 该行第#个位置
删除 [#]dd: 从光标开始删除[#]行
[#]x|X: 删除光标后面|前面的[#]个字符
复制 [#]yy: 从光标往下数复制[#]行
[#]yw: 复制光标到字尾[#]个字
p: 粘贴
替换 r: 替换光标所在处字符
R: 替换光标所到之处字符,按esc结束
撤回 u: 撤回到上一个操作
更改 c[#]w: 更改[#]个字
跳转 ctrl+g: 列出光标所在行号
G: 移动光标到第#行行首
翻页 ctrl+f: 向后翻页
ctrl+b: 向前翻页
last line mode
按esc键后输入
格式:[xxx] set nu 展示行号
set ff[?|=unix|=dos] [查看|修改]文件格式[为unix|dos]
跳到#行
/关键字 查找关键字,n往后,N往前
?关键字 查找关键字,n往前,N往后
查找替换
[%.: 最后一行
数字: 具体行
.,1,$3' /etc/passwd
打印以空格分隔的第1、3个字段
option -F '<分隔符>'|fs='<分隔符>' 指定分隔符,如:,默认是空格或tab
-f FILE 指定文件中读取awk脚本指令
-v var=val 执行处理之前设置变量var初始值val
echo
作用 输出内容到标准输出
格式 echo [option] [ARG...]
示例 echo hello
option -n 不加换行符
-e 启用对后续反斜杠转义
-E 明确禁止反斜杠转义
转义字符 \a 响铃
\b 退格
\c 取消后续输出
\e 向右删除一个字符
\E 向右删除一个字符
\f 换页
\n 换行
\r 回车
\t 水平制表
\v 垂直制表
\ 反斜杠
\0nnn 八进制数 nnn 所代表的 ASCII 码字符
\xHH 十六进制 HH 对应的8位字符。HH 可以是一到两位
\uHHHH 十六进制 HHHH 对应的 Unicode 字符。HHHH 一到四位
\UHHHHHHHH 十六进制 HHHHHHHH 对应的 Unicode 字符。HHHHHHHH 一到八位
查找匹配指令
find
作用 目录中搜索文件
格式 find [path...] [expression]
expression=[operators|options|tests|actions]
示例 find / -xdev -size 100M -exec ls -l {} ;
operators (!|-not)expr; expr1 (-a|-and) expr2; expr1 (-o|-or) expr2; expr1,expr2
options -xdev 不会进入到挂载点目录执行但仍然会列出,如/dev,/sys
就是把其他文件系统目录当成整体搜索,而不会搜索到目录里面
-maxdepth 最多搜索几层
-depth 查看目录之前先搜索目录的内容
-follow 遇到符号链接文件,跟踪链接指向文件搜索
tests -amin/-atime N 查找最后N分钟/天访问的文件
-cmin/-ctime N 查找最后N分钟/天被需修改文件状态的文件
-mmin/-mtime N 查找最后N分钟/天被修改文件数据的文件
-name pattern 按文件名查找
-path pattern 指定目录查找
-perm xx 按文件权限查找
-user name 按文件归属用户查找
-group name 按文件归属组查找
-nouser|-nogroup 按没有归属[用户|组]查找
-newer file 按比file修改时间新查找
-type [bcdpflsD] 查找某类型文件
b:块设备文件
c:字符设备文件
d:目录
p:管道文件
f:普通文件
l:符号链接文件
s:socket套接字
-size N[bcwkMG] 按文件大小为N个单位查找
b:512位元组的区块
c:字元数
k:kilo bytes
w:2个位元组
actions -prune 在指定目录之外查找
-print|-print0 查找到的文件标准打印(末尾加换行符)|末尾加null字符
-exec command {} ; 对所有查找结果(这里{}指的是当前一个查找结果)执行shell指令
;是列表操作符,需要转义(;)
-ok command {} ; 更安全的exec操作,每次执行命令前都会提示用户是否执行
grep
作用 文本搜索工具
格式 grep [option] [pattern] /xx/xx
示例 grep -i -n "^x" xx.txt
option -i 不区分大小写
-n 显示匹配行号
-v 排除匹配结果
-c 只统计匹配行数
-E 使用egrep命令
-w 只匹配过滤的单词
-o 只显示匹配的内容,不显示整行
--color=auto 过滤结果添加颜色
whereis
作用 定位某个命令使用的二进制文件、源文件、手册文件
格式 whereis [option]
示例 whereis docker
option -b 找二进制文件
-m 找手册文件
-s 找源文件
-f 不显示文件的目录名
-u 找不包含指定类型的文件
-B
指定目录下找二进制文件
-M
指定目录下找手册文件
-S
指定目录下找源文件
which
作用 查找某个命令的位置
格式 which command [args]
示例 which docker
option -n 文件名长度大于num
-p 绝对路径长度大于num
-w 指定输出栏位宽度
进程网络相关指令
nohup
作用 不挂起运行命令(加&则是挂起)
格式 nohup [COMMAND] [ARG] [&]
示例 nohuo java -jar xx.jar &
ps
作用 展示当前进程信息
格式 ps [option]
示例 ps -ef|grep 9090
打印格式 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
STAT D:无法中断的休眠状态(通常IO的进程)
R:正在执行中
S:静止
T:暂停
Z:不存在但暂时无法消除
W:没有足够的记忆体分页可分配
<:高优先序的行程
N:低优先序的行程
option -e|-A 所有进程
-f 全格式显示
-a 除了会话主持进程外的所有进程显示tty
-d 显示除了会话主持进程之外所有进程
-u 有效的用户id或名字
-x 显示没有控制终端的进程
netstat
作用 显示网络连接、路由表和网络接口信息
格式 netstat [option]
示例 netstat -anp|grep docker
打印格式 Proto
Recv-Q
Send-Q
Local Address
Foreign Address
State
PID/Program name 协议
网络接收队列
网络发送队列
内网IP地址
外网IP地址
状态
进程ID和应用程序名
State LISTEN:侦听远程tcp端口连接请求
SYN_SENT:tcp第一次握手等待服务器确认的状态
SYN_RECV:tcp第二次握手服务端等待客户端确认的状态
ESTABLISHED:tcp三次握手成功状态
FIN-WAIT-1:主动关闭端关闭应用端程序,tcp发出FIN请求主动关闭连接后进入的状态
FIN-WAIT-2:主动关闭端接到ACK后进入的状态
CLOSE-WAIT:被动关闭端接到FIN后,发出ACK回应FIN请求后进入的状态
CLOSING:等待远程TCP对连接中断请求的确认
LAST-ACK:被动关闭端一段时间后接收到文件结束符的应用程序调用CLOSE,也发送FIN等待对方的ACK后进入的状态
TIME-WAIT:主动关闭端接收到FIN后,TCP发送ACK包后进入的状态
CLOSED:被动关闭端接收到ACK后进入的状态
option -a 所有连接
-n 显示ip地址而不是域名
-p 显示PID和应用程序名
-r 显示路由表
-i 显示网络接口表
-g 显示多重广播功能群组组员名单
-s 显示网络工作信息统计表
-M 显示伪装的网络连线
-v 显示指令执行过程
-W 显示ip地址且不截断
-N 显示网络硬件外围设备的符号连接名称
-e 显示网络其他相关信息
-o 显示计时器
-c 持续列出网络状态(每隔一秒)
-l 显示所有监控中服务器的socket(一般关注端口)
-F 显示FIB
-C 显示路由器配置的快取信息而不是FIB
-t 显示tcp协议的连线状况
-u 显示udp协议的连线状况
-x 显示unix类型的连线状况,相当于-A unix
--ip 显示inet类型的连线状况,相当于-A inet
-A |--networktype 列出网络类型连线中的相关地址
ip
作用 显示ip信息
格式 ip [options] OBJECT {COMMAND | help}
示例 ip address help
各对象文档照这个命令查看
OBJECT address 设备上的协议(IP/IPv6)地址
maddress 多播地址
link 网络设备
route 路由表
rule 路由规则
option -d 详细信息
-s 输出更详细信息
-r 显示域名而不是ip
-h 人类可读
-j json
-p 格式化显示
-f {inet|inet6|mpls|bridge|link} 强制指定使用协议族
对应命令简写 -4|-6|-M|-B|-0
-l 指定在放弃之前“ ip地址刷新”逻辑将尝试的最大循环数
默认值10,0指的是循环删除到结束
-o 每条记录显示一行
-n[etns] NETNS 将ip切换到指定的网络命名空间NETNS
ip -n NETNS = ip netns exec NETNS ip
-a 对所有对象执行指定指令
-t|-ts [较短格式]显示当前时间
-rc [size] 接收缓冲区大小
-iec 以IEC单位打印人类可读率(例如1Ki = 1024)
工具类指令
tar
作用 解压缩
格式 tar [function] [option] /xxx/xx
示例 压缩:tar -zcvf /xx/xx.tar.gz /xxx
解压缩: tar -zxvpf /xx/xx.tar.gz /xxx
function (-c|--create)|--delete|(-u|--update)|(-t|--list) 增删改查tar文件
删除功能不能用于已保存在磁带上的文件
-x|--extract|--get 解开tar文件
-r|--append 附加新文件到tar文件
-A|--catenate|--concatenate 追加tar文件作为一个整体到另一个tar文件
-d|--diff|--compare 将文件系统里的文件和tar文件里的文件比较
option -v|--verbose 列出每一步处理的文件信息
v: 仅文件名
vv: 权限、文件名等·详细信息
-k|--keep-old-files 不覆盖已有文件
-f|--file 指定要处理的文件名
-P|--absolute-names 绝对路径
-j|--bzip2 使用bizp2解压缩
-J|--xz|--lzma 调用XZ Utils解压缩
-z|--gzip|--gunzip|--unzip 调用gzip解压缩
-Z|--compress|--uncompress 调用compress解压缩
zip|unzip
作用 zip解压缩
格式 zip [option] /xx/xx.zip /xx/xx.txt
示例 压缩: zip -r /xx/xx.zip /xx/xx
解压缩: unzip /xx/xx.zip /xx/xx
option -r 递归处理,即目录下所有目录和文件
-b 指定存放文件的目录
-d 删除压缩内指定文件
-f 更新压缩包文件
-m 压缩并加入压缩文件,后删除原始文件
-q 不显示执行过程
-v 显示执行过程或版本信息
-sf 显示文件
scp
作用 基于ssh协议的远程拷贝
格式 scp [option] /xxx user@ip:/xx/xx
示例 scp -r /xx/xx [email protected]:/xx/xx
option -r 递归拷贝
-C 复制过程中压缩文件或目录
-P 指定ssh端口
-p 保留文件访问和修改时间
date
作用 时间操作
格式 date [option] [参数]
示例 date -s '2022-10-21 00:00:00'
option 没参数显示系统时间
+%F 显示日期
+%Y|m|d 显示系统年|月|日
+%w 显示星期几
+%z|Z 显示时区
-s|--set [日期] 设置系统时间
hwclock
作用 操作硬件时钟
格式 hwclock [functions] [option]
示例 hwclock --show
functions -r|--show 显示系统硬件时间
--set --date ['08/02/2012 12:00:00'] 设置硬件时间为date指定的时间
-s|--hctosys 同步到系统时间
tzselect
作用 修改时区
格式 tzselect
示例 tzselect, 界面中选择时区
再链接ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
再修改时间配置文件:/etc/sysconfig/clock
磁盘相关指令
df
作用 显示整个磁盘分区的使用情况
格式 df [option] [目录或文件]
示例 df -h /xxx/xxx
option -h 显示空间大小
du
作用 递归查看当前目录的大小(默认kb单位)
格式 du [option] [目录或文件]
示例 du -h /xxx/xxx
option -h 递归显示当前目录空间大小(MB为单位)
-sh [*] 只查看当前目录大小[及包含目录]
--time 递归查看当前目录的大小和时间
mount
作用 挂载系统
格式 mount [option]
示例 mount /dev/sdb /xxx/xx
option -f 模拟挂载过程,用于检错,和-v一起用
-t 指定文件系统的类型,一般不用设置会自动选择
光盘或光盘镜像:iso9660
DOS fat16文件系统:msdos
Windows 9x fat32文件系统:vfat
Windows NT ntfs文件系统:ntfs
Mount Windows文件网络共享:smbfs
UNIX(LINUX) 文件网络共享:nfs
-v 显示执行信息
-a 将/etc/fstab定义的所有档案系统挂上
实现开机自动挂载,也可单独编辑/etc/fstab实现
UUID=xxxxx /d /nfts(这里来自第二步) defaults 0 0
-F 为每个挂载设备分叉执行,与-a一起用
用于挂载大量NFS系统时加速
-n 不在/etc/mtab写入挂载资料,因此mount或df无法查看挂载信息
-r|-w 只读|只写
source -L 挂载指定标签的硬盘,相当于LABEL=
-U 挂载指定uuid的系统
-U|-L前提是/proc/partition存在
umount
作用 卸载系统
格式 umount [option] |
示例 umount /dev/sdb
option -f 强制卸载
比如无法访问NFS系统的情况下
-v 显示执行信息
-a 卸载所有系统(/etc/mtab中记录的系统)
-n 不在/etc/mtab写入卸载资料
-l 分离文件系统,稍后清除
-r 无法卸载情况下以只读方式重新挂载
lvdisplay | pvdisplay
作用 显示[逻辑|物理]卷信息
格式 [lvdisplay|pvdisplay] [option] [逻辑卷|物理卷路径]
示例 [lvdisplay|pvdisplay] -m /xxx
option -m 显示映射关系
lvremove | pvremove
作用 删除逻辑卷|物理卷信息
格式 lvremove|pvremove [option] [逻辑卷路径]
示例 lvremove|pvdisplay -f /xxx
option -f 强制删除
--noudevsync(lvremove) 禁用udev同步
-y(pvremove) 所有问题都回yes
lvextend
作用 扩容
格式 lvextend [option] [逻辑卷路径]
示例 lvextend -L +100G /xxx
option -L +N[MGTP] 扩容逻辑卷大小N,单位(MGTP)
-l +num 扩容逻辑盘区数
--noudevsync 禁用udev同步
-f 扩容不提示
-r 使用fsadm调整与逻辑卷相关的文件系统
-n 扩展前不要执行fsck
xfs_growfs
作用 扩展xfs文件系统
格式 xfs_growfs [option] [挂载点]
示例 xfs_growfs /xxx/xx
option -L [size] 指定日志区域大小
-D [size] 指定扩展文件系统数据部分的大小
-d 将文件系统数据部分扩展到底层设备最大的大小
-m 指定文件系统中可分配为inode的最大空间百分比新值