乐趣区

关于linux:linux常用shell指令

前言

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:合并笼罩输入谬误和正确信息到一个文件

api 文档

零碎操作类指令

<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″>chmod</font>
作用 权限赋予
格局 chmod [option] [权限] [目录或文件]
示例 chmod -R 777 /xxx/xxx
option -R 给目录下所有文件 (递归) 授予权限
权限 777 所有权限
<font size=”5″>groupadd</font>
作用 新增用户组
格局 groupadd [option]
示例 groupadd -g 8888 gadmin
option -g 指定组 id
-p 应用加密过的明码
-r 建设零碎工作组,id 必须小于 500
<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″>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: 挪动光标到第 #行行首
last line mode
按 esc 键后输出
格局:[xxx]
set nu 展现行号
set ff[?|=unix|=dos] [查看 | 批改]文件格式[为 unix|dos]
# 跳到 #行
/ 关键字 查找关键字,n 往后,N 往前
? 关键字 查找关键字,n 往前,N 往后
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
option -F ‘< 分隔符 >’|fs='< 分隔符 >’ 指定分隔符,如:,默认是空格或 tab
-f FILE 指定文件中读取 awk 脚本指令
-v var=val 执行解决之前设置变量 var 初始值 val

查找匹配指令

<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″>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 [email protected]:/xx/xx
示例 scp -r /xx/xx [email protected]:/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 一起用
-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 的最大空间百分比新值
退出移动版