前言shell是一种脚本语言, 须要有编译器执行即:应用程序->shell->操作系统->硬件bash是linux下默认的shellsh是unix下默认的shell多命令执行:xx && xx: 后面执行胜利才会执行前面的命令xx || xx: 后面执行失败才会执行前面的命令xx ; xx : 前后无关联,按程序执行与操作:xx | xx: 对后面执行后果持续前面命令操作重定向输出/输入:< , >stdin: 规范输出,代码:0stdout: 规范输入,代码:1stderr:规范谬误输入,代码:2> file: 笼罩输入正确信息>> file: 追加输入正确信息2> file: 笼罩输入错误信息> file 2>&1: 合并笼罩输入谬误和正确信息到一个文件api文档零碎操作类指令<font size="5">mkdir</font>作用新建文件夹格局mkdir [option]... DIRECTORY...示例rm -rf /xx/xxoption-p递归创立-m设置目录拜访权限mode,如777<font size="5">rm</font>作用删除格局rm [option]... FILE...示例rm -rf /xx/xxoption-f强制删除-r递归删除-i|-l删除前确认|删除超过3个文件以下或递归删除须要确认-d删除空目录-v列出详细信息<font size="5">chmod</font>作用权限赋予格局chmod [option] [权限] [目录或文件]示例chmod -R 777 /xxx/xxxoption-R给目录下所有文件(递归)授予权限权限777所有权限<font size="5">groupadd</font>作用新增用户组格局groupadd [option]示例groupadd -g 8888 gadminoption-g指定组id-p应用加密过的明码-r建设零碎工作组,id必须小于500<font size="5">useradd</font>作用新增用户格局useradd [option]示例useradd admin -g gadmin -G rootoption-g指定用户所属组-G附加群组-d指定用户登入的起始目录-u指定用户id-r建设零碎账号-s指定用户登入后应用的shell-p设置明码<font size="5">chown</font>作用设置文件用户和用户组格局chown [option]... OWNER] FILE...示例chown -R admin:gadmin /xxx/xxoption-R递归批改-c显示更改局部信息-f疏忽错误信息-h修复符号链接-v显示具体解决信息-H命令行参数是指向目录的符号链接,则遍历它-L遍历遇到的每个指向目录的符号链接-P不遍历任何符号链接(默认)文件文本相干指令<font size="5">stat</font>作用查看文件状态格局stat [option] /xx/xx示例stat /xx/xxoption-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/xxoption-A展现所有-b对非空输入行编号-n对所有输入行编号-s间断空行转换为一个空行-e等价与 -vE-v除了LFD和TAB之外不可打印的字符用^和M-标记形式显示-E每行完结中央显示$-t|-TTAB显示为^|<font size="5">tail</font>作用查看文件开端内容格局tail [option] /xx/xx示例tail -f /xx/xxoption-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/xxxoption-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/passwdoption-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,expr2options-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 bytesw: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.txtoption-i不辨别大小写-n显示匹配行号-v排除匹配后果-c<num>只统计匹配行数-E<num>应用egrep命令-w只匹配过滤的单词-o只显示匹配的内容,不显示整行--color=auto过滤后果增加色彩<font size="5">whereis</font>作用定位某个命令应用的二进制文件、源文件、手册文件格局whereis [option] <name>示例whereis dockeroption-b找二进制文件-m找手册文件-s找源文件-f<num>不显示文件的目录名-u<num>找不蕴含指定类型的文件-B <dir>指定目录下找二进制文件-M <dir>指定目录下找手册文件-S <dir>指定目录下找源文件<font size="5">which</font>作用查找某个命令的地位格局which command [args] <name>示例which dockeroption-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 COMMANDSTATD:无奈中断的休眠状态(通常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打印格局ProtoRecv-QSend-QLocal AddressForeign AddressStatePID/Program name协定网络接管队列网络发送队列内网IP地址外网IP地址状态过程ID和应用程序名StateLISTEN:侦听近程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 /xxxfunction(-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/xxoption-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/xxoption-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 --showfunctions-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/xxxoption-h显示空间大小<font size="5">du</font>作用递归查看当前目录的大小(默认kb单位)格局du [option] [目录或文件]示例du -h /xxx/xxxoption-h递归显示当前目录空间大小(MB为单位)-sh [*]只查看当前目录大小[及蕴含目录]--time递归查看当前目录的大小和工夫<font size="5">mount</font>作用挂载零碎格局mount [option] <source> <directory>示例mount /dev/sdb /xxx/xxoption-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/sdboption-f强制卸载比方无法访问NFS零碎的状况下-v显示执行信息-a卸载所有零碎(/etc/mtab中记录的零碎)-n不在/etc/mtab写入卸载材料-l拆散文件系统,稍后革除-r无奈卸载状况下以只读形式从新挂载<font size="5">lvdisplay | pvdisplay</font>作用显示[逻辑|物理]卷信息格局[lvdisplay|pvdisplay] [option] [逻辑卷|物理卷门路]示例[lvdisplay|pvdisplay] -m /xxxoption-m显示映射关系<font size="5">lvremove | pvremove</font>作用删除逻辑卷|物理卷信息格局lvremove|pvremove [option] [逻辑卷门路]示例lvremove|pvdisplay -f /xxxoption-f强制删除--noudevsync(lvremove)禁用udev同步-y(pvremove)所有问题都回yes<font size="5">lvextend</font>作用扩容格局lvextend [option] [逻辑卷门路]示例lvextend -L +100G /xxxoption-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/xxoption-L [size]指定日志区域大小-D [size]指定扩大文件系统数据局部的大小-d将文件系统数据局部扩大到底层设施最大的大小-m指定文件系统中可调配为inode的最大空间百分比新值