全栈技术分享,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
命令套娃:$()、xargs、``,将上一个命令结果作为下一个命令的参数
xxx $(xxx $(COMMAND))
COMMAND | xargs xxx | xargs xxx
xxx `xxx `COMMAND``
api文档
系统操作类指令
<font size="5">cp</font> | ||
---|---|---|
作用 | 拷贝 | |
格式 | cp [option]... SOURCE... DIRECTORY | |
示例 | cp -a /xx/xx /xxx/xx | |
option | -r|-R | 递归拷贝 |
-a | 相当于-dpr,保留所有(属性权限链接)且递归拷贝 | |
-d | 保留链接 | |
-p | 保留属性权限 | |
-f | 覆盖 | |
-i | 覆盖前询问 | |
-l | 只生成链接文件 | |
<font size="5">mkdir</font> | ||
作用 | 新建文件夹 | |
格式 | mkdir [option]... DIRECTORY... | |
示例 | rm -rf /xx/xx | |
option | -p | 递归创建 |
-m | 设置目录访问权限mode,如777 | |
<font size="5">rm</font> | ||
作用 | 删除 | |
格式 | rm [option]... FILE... | |
示例 | rm -rf /xx/xx | |
option | -f | 强制删除 |
-r | 递归删除 | |
-i|-l | 删除前确认|删除超过3个文件以下或递归删除需要确认 | |
-d | 删除空目录 | |
-v | 列出详细信息 | |
<font size="5">head</font> | ||
作用 | 标准输出文本头部内容 | |
格式 | head [option]... FILE... | |
示例 | head -n 1 | |
option | -n N | 输出前N行,默认是前10 |
-c N | 输出前N字节 | |
<font size="5">sed</font> | ||
作用 | 流编辑器,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\<xxx> |
在第N行新增下一行内容,不写N默认为每一行 | |
ls | sed 3a\hello | 在第3行新增下一行打印hello | |
ls | sed a\hello | 在每一行都新增下一行打印hello | |
替换 [N]c\<xxx> |
替换第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\<xxx> |
在第N行往上插入一行内容,不写N默认为每一行 | |
ls | sed 3i\hello | 在第3行前插入一行hello | |
ls | sed i\hello | 每一行前插入一行hello | |
打印 [N]p N,Np /pattern/p '\%<xxx>%p' |
选择性打印内容 | |
ls -n | sed 1p | 打印第一行 | |
ls -n | sed 1,2p | 打印第1~2行 | |
ls -n | sed /^h.*o$/p | 打印包含h开头o结尾内容的行 | |
ls -n | sed '\%hello%p' | 打印包含hello的行 | |
查找替换拼接 [N]|[N,N]s/regexp/replacement/[flags] [N]|[N,N]s:regexp:replacement: |
查找第N行|从第N~N行匹配regexp的部分替换为replacement | |
ls | sed 3s/hello/world/ | 查找第3行hello部分替换为world | |
ls | sed 1,3s/hello/world/ | 查找第1~3行hello部分替换为world | |
ls | sed -n 1,3s:^:pwd /: | 查找第1~3行拼接当前目录到文件名前面 即列出当前目录下1-3行文件的绝对路径 | |
ls | sed -n 1,3s:hello:world: | 查找第1~3行hello部分替换为world | |
ls | sed -n 1,3s:^h.*o$:world: | 查找第1~3行匹配h开头o结尾部分替换为world | |
标记 :<label> |
为b,t,T分支做位置标记,记为label 如 :a 即是label a代表当前:指向的位置 | |
换行 N |
追加一行到pattern能操作的范围 如 N;s/x/y/ 就是把1,2行当一行,3,4当一行 | |
循环跳转 t<label> |
跳到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行 | |
<font size="5">ls</font> | ||
作用 | 展示目录文件信息 | |
格式 | 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 | 输出文件大小 | |
<font size="5">ln</font> | ||
作用 | 链接指令 软链接:路径快捷方式 硬链接:备份 | |
格式 | 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 | 硬链接重定向到软链接(默认指令) | |
<font size="5">chmod</font> | ||
作用 | 权限赋予 | |
格式 | 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 | |
<font size="5">groupadd</font> | ||
作用 | 新增用户组 | |
格式 | groupadd [option] | |
示例 | groupadd -g 8888 gadmin | |
option | -g | 指定组id |
-p | 使用加密过的密码 | |
-r | 建立系统工作组,id必须小于500 | |
<font size="5">-exec</font> | ||
作用 | 执行命令 | |
格式 | exec [-cl] [-a name] [command [argument ...]] [redirection ...] | |
示例 | find / -name "t*" -exec ls -l {} \; | |
option | -c | 在空环境中执行指定的命令 |
-l | 在传递给command的第零个arg的开头放置一个破折号 | |
-a | Shell将name作为第零个参数传递给command | |
<font size="5">useradd</font> | ||
作用 | 新增用户 | |
格式 | useradd [option] | |
示例 | useradd admin -g gadmin -G root | |
option | -g | 指定用户所属组 |
-G | 附加群组 | |
-d | 指定用户登入的起始目录 | |
-u | 指定用户id | |
-r | 建立系统账号 | |
-s | 指定用户登入后使用的shell | |
-p | 设置密码 | |
<font size="5">chown</font> | ||
作用 | 设置文件用户和用户组 | |
格式 | chown [option]... OWNER] FILE... | |
示例 | chown -R admin:gadmin /xxx/xx | |
option | -R | 递归修改 |
-c | 显示更改部分信息 | |
-f | 忽略错误信息 | |
-h | 修复符号链接 | |
-v | 显示详细处理信息 | |
-H | 命令行参数是指向目录的符号链接,则遍历它 | |
-L | 遍历遇到的每个指向目录的符号链接 | |
-P | 不遍历任何符号链接(默认) | |
<font size="5">export</font> | ||
作用 | 设置环境变量 | |
格式 | export [option] [name[=value] ...] | |
示例 | export M2_HOME=/xx/xx | |
option | -f | 指向函数 |
-n | 删除变量 | |
-p | 显示所有变量 |
文件文本相关指令
<font size="5">stat</font> | ||
---|---|---|
作用 | 查看文件状态 | |
格式 | 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自行翻译 | |
<font size="5">cat</font> | ||
作用 | 查看文件内容 | |
格式 | cat [option] /xx/xx | |
示例 | cat /xx/xx | |
option | -A | 展示所有 |
-b | 对非空输出行编号 | |
-n | 对所有输出行编号 | |
-s | 连续空行转换为一个空行 | |
-e | 等价与 -vE | |
-v | 除了LFD和TAB之外不可打印的字符用^和M-标记方式显示 | |
-E | 每行结束地方显示$ | |
-t|-T | TAB显示为^| | |
<font size="5">tail</font> | ||
作用 | 查看文件末尾内容 | |
格式 | tail [option] /xx/xx | |
示例 | tail -f /xx/xx | |
option | -f | 循环读取 |
-q | 不显示处理信息 | |
-v | 显示详细处理信息 | |
-c<num> | 显示的字节数 | |
-n<num> | 显示行数 | |
-q | 从不输出文件的头部 | |
-s | -f下每次休眠间隔s秒 | |
--pid=PID | -f下在pid进程死掉后结束 | |
<font size="5">vi | vim</font> | ||
作用 | 编辑文件 | |
格式 | vi /xx/xx | |
示例 | vi /xx/xx | |
内部操作 | 移动光标 | 0: 文章开头 G: 文章末尾 $: 行尾 ^: 行首 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往后 | |
查找替换 [%.$数字]s/source/target/g</td><td>range:<br>%: 全部行<br>.: 当前行<br>$: 最后一行 数字: 具体行 .,$: 当前行到最后一行 source:源字符串 target:目标字符串 /g:匹配就全替换 斜杠需要转义: / | ||
w | 保存 | |
q[!] | [放弃修改]退出 | |
wq | 保存后退出 | |
<font size="5">sort</font> | ||
作用 | 排序显示文本(默认升序) | |
格式 | sort [option] [目录或文件] | |
示例 | sort -u /xxx/xxx | |
option | -u | 去重 |
-r | 降序 | |
-o | 输出结果到文件 | |
-n | 数值排序 | |
-h | 以人类可读的数值排序 | |
-t : | 按:分列 | |
-k N | 按第几列排序 | |
-f | 忽略大小写 | |
-c | 检查文件排序,输出第一个乱序行的信息,最后返回1 | |
-C | 与-c一样,只是不输出内容只返回1 | |
-M | 月份排序 | |
-b | 忽略空白部分,从第一个可见字符排序 | |
<font size="5">awk</font> | ||
作用 | 抽取文件或字符串中的信息 | |
格式 | awk [option] '[condition]COMMAND' FILE | |
示例 | awk -F 'print $1,$3' /etc/passwd
打印以空格分隔的第1、3个字段 | |
option | -F '<分隔符>'|fs='<分隔符>' | 指定分隔符,如:,默认是空格或tab |
-f FILE | 指定文件中读取awk脚本指令 | |
-v var=val | 执行处理之前设置变量var初始值val | |
<font size="5">echo</font> | ||
作用 | 输出内容到标准输出 | |
格式 | 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 一到八位 |
查找匹配指令
<font size="5">find</font> | ||
---|---|---|
作用 | 目录中搜索文件 | |
格式 | 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操作,每次执行命令前都会提示用户是否执行 | |
<font size="5">grep</font> | ||
作用 | 文本搜索工具 | |
格式 | grep [option] [pattern] /xx/xx | |
示例 | grep -i -n "^x" xx.txt | |
option | -i | 不区分大小写 |
-n | 显示匹配行号 | |
-v | 排除匹配结果 | |
-c<num> | 只统计匹配行数 | |
-E<num> | 使用egrep命令 | |
-w | 只匹配过滤的单词 | |
-o | 只显示匹配的内容,不显示整行 | |
--color=auto | 过滤结果添加颜色 | |
<font size="5">whereis</font> | ||
作用 | 定位某个命令使用的二进制文件、源文件、手册文件 | |
格式 | whereis [option] <name> | |
示例 | whereis docker | |
option | -b | 找二进制文件 |
-m | 找手册文件 | |
-s | 找源文件 | |
-f<num> | 不显示文件的目录名 | |
-u<num> | 找不包含指定类型的文件 | |
-B <dir> | 指定目录下找二进制文件 | |
-M <dir> | 指定目录下找手册文件 | |
-S <dir> | 指定目录下找源文件 | |
<font size="5">which</font> | ||
作用 | 查找某个命令的位置 | |
格式 | which command [args] <name> | |
示例 | which docker | |
option | -n <num> | 文件名长度大于num |
-p <num> | 绝对路径长度大于num | |
-w | 指定输出栏位宽度 |
进程网络相关指令
<font size="5">nohup</font> | ||
---|---|---|
作用 | 不挂起运行命令(加&则是挂起) | |
格式 | nohup [COMMAND] [ARG] [&] | |
示例 | nohuo java -jar xx.jar & | |
<font size="5">ps</font> | ||
作用 | 展示当前进程信息 | |
格式 | 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<num> | 显示除了会话主持进程之外所有进程 | |
-u<num> | 有效的用户id或名字 | |
-x | 显示没有控制终端的进程 | |
<font size="5">netstat</font> | ||
作用 | 显示网络连接、路由表和网络接口信息 | |
格式 | 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<num> | 显示路由表 | |
-i<num> | 显示网络接口表 | |
-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>|--networktype | 列出网络类型连线中的相关地址 | |
<font size="5">ip</font> | ||
作用 | 显示ip信息 | |
格式 | ip [options] OBJECT {COMMAND | help} | |
示例 | ip address help 各对象文档照这个命令查看 | OBJECT | address | 设备上的协议(IP/IPv6)地址 |
maddress | 多播地址 | |
link | 网络设备 | |
route | 路由表 | |
rule | 路由规则 | option | -d | 详细信息 |
-s | 输出更详细信息 | |
-r | 显示域名而不是ip | |
-h<num> | 人类可读 | |
-j<num> | json | |
-p | 格式化显示 | |
-f {inet|inet6|mpls|bridge|link} | 强制指定使用协议族 对应命令简写 -4|-6|-M|-B|-0 | |
-l <num> | 指定在放弃之前“ 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) |
工具类指令
<font size="5">tar</font> | ||
---|---|---|
作用 | 解压缩 | |
格式 | 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解压缩 | |
<font size="5">zip|unzip</font> | ||
作用 | 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 | 显示文件 | |
<font size="5">scp</font> | ||
作用 | 基于ssh协议的远程拷贝 | |
格式 | scp [option] /xxx user@ip:/xx/xx | |
示例 | scp -r /xx/xx root@x.x.x.x:/xx/xx | |
option | -r | 递归拷贝 |
-C | 复制过程中压缩文件或目录 | |
-P | 指定ssh端口 | |
-p | 保留文件访问和修改时间 | |
<font size="5">date</font> | ||
作用 | 时间操作 | |
格式 | date [option] [参数] | |
示例 | date -s '2022-10-21 00:00:00' | |
option | 没参数显示系统时间 | |
+%F | 显示日期 | |
+%Y|m|d | 显示系统年|月|日 | |
+%w | 显示星期几 | |
+%z|Z | 显示时区 | |
-s|--set [日期] | 设置系统时间 | |
<font size="5">hwclock</font> | ||
作用 | 操作硬件时钟 | |
格式 | hwclock [functions] [option] | |
示例 | hwclock --show | |
functions | -r|--show | 显示系统硬件时间 |
--set --date ['08/02/2012 12:00:00'] | 设置硬件时间为date指定的时间 | |
-s|--hctosys | 同步到系统时间 | |
<font size="5">tzselect</font> | ||
作用 | 修改时区 | |
格式 | tzselect | |
示例 | tzselect, 界面中选择时区 再链接ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 再修改时间配置文件:/etc/sysconfig/clock | |
磁盘相关指令
<font size="5">df</font> | ||
---|---|---|
作用 | 显示整个磁盘分区的使用情况 | |
格式 | df [option] [目录或文件] | |
示例 | df -h /xxx/xxx | |
option | -h | 显示空间大小 |
<font size="5">du</font> | ||
作用 | 递归查看当前目录的大小(默认kb单位) | |
格式 | du [option] [目录或文件] | |
示例 | du -h /xxx/xxx | |
option | -h | 递归显示当前目录空间大小(MB为单位) |
-sh [*] | 只查看当前目录大小[及包含目录] | |
--time | 递归查看当前目录的大小和时间 | |
<font size="5">mount</font> | ||
作用 | 挂载系统 | |
格式 | mount [option] <source> <directory> | |
示例 | mount /dev/sdb /xxx/xx | |
option | -f | 模拟挂载过程,用于检错,和-v一起用 |
-t <vfstype> | 指定文件系统的类型,一般不用设置会自动选择
光盘或光盘镜像: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=<label> |
-U | 挂载指定uuid的系统 -U|-L前提是/proc/partition存在 | |
<font size="5">umount</font> | ||
作用 | 卸载系统 | |
格式 | umount [option] <source> | <directory> | |
示例 | umount /dev/sdb | |
option | -f | 强制卸载 比如无法访问NFS系统的情况下 |
-v | 显示执行信息 | |
-a | 卸载所有系统(/etc/mtab中记录的系统) | |
-n | 不在/etc/mtab写入卸载资料 | |
-l | 分离文件系统,稍后清除 | |
-r | 无法卸载情况下以只读方式重新挂载 | |
<font size="5">lvdisplay | pvdisplay</font> | ||
作用 | 显示[逻辑|物理]卷信息 | |
格式 | [lvdisplay|pvdisplay] [option] [逻辑卷|物理卷路径] | |
示例 | [lvdisplay|pvdisplay] -m /xxx | |
option | -m | 显示映射关系 |
<font size="5">lvremove | pvremove</font> | ||
作用 | 删除逻辑卷|物理卷信息 | |
格式 | lvremove|pvremove [option] [逻辑卷路径] | |
示例 | lvremove|pvdisplay -f /xxx | |
option | -f | 强制删除 |
--noudevsync(lvremove) | 禁用udev同步 | |
-y(pvremove) | 所有问题都回yes | |
<font size="5">lvextend</font> | ||
作用 | 扩容 | |
格式 | lvextend [option] [逻辑卷路径] | |
示例 | lvextend -L +100G /xxx | |
option | -L +N[MGTP] | 扩容逻辑卷大小N,单位(MGTP) |
-l +num | 扩容逻辑盘区数 | |
--noudevsync | 禁用udev同步 | |
-f | 扩容不提示 | |
-r | 使用fsadm调整与逻辑卷相关的文件系统 | |
-n | 扩展前不要执行fsck | |
<font size="5">xfs_growfs</font> | ||
作用 | 扩展xfs文件系统 | |
格式 | xfs_growfs [option] [挂载点] | |
示例 | xfs_growfs /xxx/xx | |
option | -L [size] | 指定日志区域大小 |
-D [size] | 指定扩展文件系统数据部分的大小 | |
-d | 将文件系统数据部分扩展到底层设备最大的大小 | |
-m | 指定文件系统中可分配为inode的最大空间百分比新值 |
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。