Linux
常用
管理语句
Shell命令(变量)
正则表达式
重定向
EXPECT
流程控制
函数
日志
SED
sed常用操作
sed组合命令
sed脚本
AWK
awk常用
awk流程控制
awk脚本
SSH
SSH密钥的批量分发与执行
SSH连接很慢
ACL文件访问控制
计划任务
常用语句
批量添加用户和密码
批量修改密码
临时和永久关闭Selinux
修改主机名
Linux内核参数
无人值守安装
ISO镜像(mondorescue)
软件管理
SYSTEM服务
YUM本地仓
存储管理
逻辑卷LVM
磁盘阵列RAID
备份恢复相关命令
fio磁盘性能测试
内存管理
IPTABLES防火墙
FIREWALLD防火墙
curl请求
Linux问题
漏洞修复
限制网卡带宽
CentosYUM源
rsyslog 占用内存过高
df -h 卡住解决
Linux故障问题
网络配置
升级内核
Openssl生成证书
CENTOS6升级7
本文档使用MrDoc发布
返回首页
-
+
管理语句
2020年5月2日 14:08
admin
#useradd >####创建新账号 useradd [选项] 用户名称 选项: -d #设置账号家目录,默认为/home/用户名 -e #设置账户的失效日期,格式为YYYY-MM-DD -g #设置账户的基本组 -G #设置账户的附加组,多个组中间用","隔开 -M #不创建账户家目录 -s #设置账户登陆shell -u #指定账户UID --- #usermod >####修改账号信息 usermod [选项] 用户名称 选项: -d #修改账号家目录 -e #修改账户的失效日期 -g #修改账户的基本组 -G #修改账户的附加组 -s #修改账户登陆shell -u #修改账户UID --- #userdel >####删除账户及相关文件 userdel [选项] 用户名称 选项: -r #删除账户及相关文件 userdel tom #删除账号tom,但该账户的文件不删除 userdel -r tom #删除账号tom,并删除相应的家目录 --- #groupadd >####创建组账户 groupadd [选项] 组名称 选项: -g #设置组ID号 --- #groupdel >####删除组账户 groupdel 组名称 --- #id >####查看账户及组信息 id 用户名称 >![](/media//202004/2020-04-29202913453390.png) --- #passwd >####更新账号认证信息 passwd [选项] 用户名称 选项: -l #锁定账户,仅root可使用此选项 -u #解锁账户 -d #清空账户密码,仅root可使用此选项 --stdin #从文件或管道读取密码 echo $pass | passwd --stdin $user --- #chmod >####改变文件或目录权限 chmod [选项] 权限 文件或目录 选项: -R #递归将权限应用于所以后的子目录与子文件 方式一: chmod -u=rwx,g=rw,o=rw install.log 方式二: chmod u+x,g-x,o-x install.log 方式三: chmod 755 install #r为4,w为2,x为1 --- #chown >####修改文件或目录的所有者与所属组 chown [选项] [所有者][:所属组] 文件或目录 选项: -R #递归将权限应用于所以后的子目录与子文件 chown -R mysql:mysql /usr/local/mysql --- #df >####生成系统磁盘空间的使用量信息 -h, --human-readable #使用人类可读的格式(预设值是不加这个选项的...) -i, --inodes #列出 inode 资讯,不列出已使用 block -T, --print-type #显示文件系统的形式 -l #只查看本地挂载的磁盘文件 --- #du >####统计大小 du -t 10M -sh /root/* -s 仅显示总容量 -h 人性化显示容量信息 -t 最小容量 --- #free >####监控内存及交换分区使用情况 free [-b|-k|-m] -b|-k|-m #指定输出容量的单位,分别为B、KB、MB --- #ps >####用于显示当前进程 (process) 的状态 ps [选项] -------------------------------------------------------- 选项: -au #显示较详细的资讯 -aux #显示所有包含其他使用者的行程 -ef #全格式显示进程信息 >####au(x) 输出格式 : >|参数|说明| |--|--| |USER|行程拥有者 |PID|pid |%CPU|占用的 CPU 使用率 |%MEM|占用的记忆体使用率 |VSZ|占用的虚拟记忆体大小 |RSS|占用的记忆体大小 |TTY|终端的次要装置号码 (minor device number of tty) |STAT|该行程的状态:(D:无法中断的休眠状态[通常 IO 的进程],R:正在运行的进程,S:正在睡眠的进程,T:停止或被追踪的进程,X:死掉的进程,Z:僵死进程,W:没有足够的记忆体分页可分配,<:高优先序的行程,N:低优先序的行程,L:有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)) |START|行程开始时间 |TIME|执行的时间 |COMMAND|所执行的指令 --- #top >####动态查看进程信息 top [选项] -------------------------------------------------------- 选项: -d #top刷新间隔,默认为3秒 -i #不显示任何闲置 (idle) 或无用 (zombie) 的行程 -n #更新的次数,完成后将会退出 top -b #批次档模式,搭配 "n" 参数一起使用,可以用来将 top 的结果输出到档案内 -p #查看指定PID的进程信息 -------------------------------------------------------- >![](/media//202005/2020-05-02140345432273.png) >![](/media//202005/2020-05-02140420655043.png) --- #vmstat >####通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数 vmstat 1 5 1表示每一秒采集一次服务器状态,5表示只采集五次。 >![](/media//202005/2020-05-14124729882251.png) >|参数|说明 |--|--| |r|表示运行队列(就是说多少个进程真的分配到CPU),我测试的服务器目前CPU比较空闲,没什么程序在跑,当这个值超过了CPU数目,就会出现CPU瓶颈了。这个也和top的负载有关系,一般负载超过了3就比较高,超过了5就高,超过了10就不正常了,服务器的状态很危险。top的负载类似每秒的运行队列。如果运行队列过大,表示你的CPU很繁忙,一般会造成CPU使用率很高。 |b|表示阻塞的进程,这个不多说,进程阻塞,大家懂的。 |swpd|虚拟内存已使用的大小,如果大于0,表示你的机器物理内存不足了,如果不是程序内存泄露的原因,那么你该升级内存了或者把耗内存的任务迁移到其他机器。 |free|空闲的物理内存的大小,我的机器内存总共8G,剩余3415M。 |buff|Linux/Unix系统是用来存储,目录里面有什么内容,权限等的缓存,我本机大概占用300多M |cache|cache直接用来记忆我们打开的文件,给文件做缓冲,我本机大概占用300多M(这里是Linux/Unix的聪明之处,把空闲的物理内存的一部分拿来做文件和目录的缓存,是为了提高程序执行的性能,当程序使用内存时,buffer/cached会很快地被使用。) |si|每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不够用或者内存泄露了,要查找耗内存进程解决掉。我的机器内存充裕,一切正常。 |so|每秒虚拟内存写入磁盘的大小,如果这个值大于0,同上。 |bi|块设备每秒接收的块数量,这里的块设备是指系统上所有的磁盘和其他块设备,默认块大小是1024byte,我本机上没什么IO操作,所以一直是0,但是我曾在处理拷贝大量数据(2-3T)的机器上看过可以达到140000/s,磁盘写入速度差不多140M每秒 |bo|块设备每秒发送的块数量,例如我们读取文件,bo就要大于0。bi和bo一般都要接近0,不然就是IO过于频繁,需要调整。 |in|每秒CPU的中断次数,包括时间中断 |cs|每秒上下文切换次数,例如我们调用系统函数,就要进行上下文切换,线程的切换,也要进程上下文切换,这个值要越小越好,太大了,要考虑调低线程或者进程的数目,例如在apache和nginx这种web服务器中,我们一般做性能测试时会进行几千并发甚至几万并发的测试,选择web服务器的进程可以由进程或者线程的峰值一直下调,压测,直到cs到一个比较小的值,这个进程和线程数就是比较合适的值了。系统调用也是,每次调用系统函数,我们的代码就会进入内核空间,导致上下文切换,这个是很耗资源,也要尽量避免频繁调用系统函数。上下文切换次数过多表示你的CPU大部分浪费在上下文切换,导致CPU干正经事的时间少了,CPU没有充分利用,是不可取的。 |us|用户CPU时间,我曾经在一个做加密解密很频繁的服务器上,可以看到us接近100,r运行队列达到80(机器在做压力测试,性能表现不佳)。 |sy|系统CPU时间,如果太高,表示系统调用时间长,例如是IO操作频繁。 |id|空闲CPU时间,一般来说,id+us+sy=100,一般我认为id是空闲CPU使用率,us是用户CPU使用率,sy是系统CPU使用率。 |wt|等待IO,CPU时间。 --- #sar >####格式: sar [options] [-A] [-o file] t [n] t为采样间隔,n为采样次数,默认值是1;-o file表示将命令结果以二进制格式存放在文件中,file是文件名;options为命令行选项 -------------------------------------------------------- >####sar常用的选项有以下: |参数|说明| |--|--| |-A|所有报告的总和 |-u|输出CPU使用情况的统计信息 |-v|输出inode、文件和其他内核表的统计信息 |-d|输出每一个块设备的活动信息 |-r|输出内存和交换空间的统计信息 |-b|显示I/O和传送速率的统计信息 |-a|文件读写情况 |-c|输出进程统计信息,每秒创建的进程数 |-R|输出内存页面的统计信息 |-y|终端设备活动情况 |-w|输出系统交换活动信息 --- >##例子: >####查看CPU使用情况 sar -u sar -u 1 5 >####将统计结果保存到文件 sar -o test 1 3 #保存 sar -f test #查看 >####注意:具体其它使用方法可用sar -h查看 >![](/media//202005/2020-05-14130921404899.png) --- #jobs -l #列出进程的PID和作业号 -p #只列出作业的PID -r #只列出运行的作业 --- #kill -l <信息编号> #若不加<信息编号>选项,则-l参数会列出全部的信息名称。 kill %作业号 kill 进程号 --- #netstat >####打印网络连接、路由表、网络接口统计等信息 netstat [选项] -------------------------------------------------------- 选项: -s #显示各种协议数据统计信息 -n #使用数字形式的IP、端口等名称信息 -p #显示进程名称及对应的进程ID -l #仅显示正在监听的sockets接口信息 -u #查看udp连接信息 -t #查看tcp连接信息 -a #显示所有连线中的Socket -i #显示网络界面信息表单 -r #显示路由表 -------------------------------------------------------- netstat -nutlp #显示正在监听的udp\tcp连接 netstat -i #显示网卡列表 netstat -r #显示路由表 >![](/media//202005/2020-05-02134403286564.png) --- #ifconfig >####显示或设置网络接口信息 ifconfig [网络设备] [选项] -------------------------------------------------------- 选项: up #启动指定的网络设备 down #关闭指定的网络设备 netmask<子网掩码> #设置网络设备的子网掩码。 <IP> #设置网络设备的IP地址 -------------------------------------------------------- ifconfig eth0 down #关闭eth0 ifconfig eth0 up #开启eth0 ifconfig eth0 #查看eth0信息 ifconfig eth0 192.168.0.31 netmask 255.255.255.0 #设置eth0网卡IP地址为192.168.0.31,子网掩码255.255.255.0 --- #route >####显示或设置静态IP路由表 route [选项] <网卡> -------------------------------------------------------- 选项: -n #使用数字地址替代主机名称 add 目标网络 gw 网关地址 #添加路由表记录 del 目标网络 #删除路由表记录 -------------------------------------------------------- route -n #查看路由表信息 route add -net 192.168.31.0/24 gw 192.168.31.1 route add -net 192.168.31.0 netmask 255.255.255.0 gw 192.168.31.1 #添加指定网段的网关记录 route del -net 192.168.31.0/24 #删除指定网段的网关记录 route add -net 192.168.31.0 netmask 255.255.255.0 gw 192.168.31.1 eth0 #指定网卡 --- #sysctl >####用于运行时配置内核参数,这些参数位于/proc/sys目录下 sysctl [选项] -------------------------------------------------------- 选项: -w 临时改变某个指定参数的值 -a 显示所有的系统参数 -p 从指定的文件加载系统参数,如不指定即从/etc/sysctl.conf中加载 -------------------------------------------------------- >####如果仅仅是想临时改变某个系统参数的值,可以用两种方法来实现,例如想启用IP路由转发功能: 1) #echo 1 > /proc/sys/net/ipv4/ip_forward 2) #sysctl -w net.ipv4.ip_forward=1 >以上两种方法都可能立即开启路由功能,但如果系统重启,或执行了 # service network restart >命令,所设置的值即会丢失. >####如果想永久保留配置,可以修改/etc/sysctl.conf文件将 net.ipv4.ip_forward=0改为net.ipv4.ip_forward=1
分享到: