<————————————————————————————————————————————————————————————————————————————————————————————————————————————>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
<————————————————————————————————————————————————————————————————————————————————————————————————————————————>
<————————————————————————————————————————————————————————————————————————————————————————————————————————————>
''
#———————————————————————————
查看是什么系统
uname
#———————————————————————————
机器名:
hostname
#———————————————————————————
序列号:
prtconf | head
#———————————————————————————
型号序列号:
uname -uM
#———————————————————————————
版本号
oslevel
#———————————————————————————
重启AIX系统:
shutdown -Fr
#———————————————————————————
查看centos版本
cat /etc/centos-release
#———————————————————————————
查大小
du -sm * | sort -nr
#———————————————————————————
查看执行文件(路径)
which xx
#———————————————————————————
查看ogg位置
ps -ef|grep rpt
#———————————————————————————
aix批量杀进程
ps -ef | grep xxxx | grep -v grep | awk '{print $2}' | xargs kill -9
(grep -v grep,去除本身grep的条目)
#———————————————————————————
打印xxxx换行
printf "xxxx\n"
#———————————————————————————
将ls的内容设置为i
然后将i mv 改为 i.bak
for i in `ls`;do mv $i $i.bak; done
#———————————————————————————
使用命令# --没懂
lsdev -Cc memory
#———————————————————————————
再使用命令# --没懂
lsattr -El xxxx
#———————————————————————————
<————————————————————————————————————————————————————————————————————————————————————————————————————————————>
CPU
top:
us 用户空间占用CPU百分比
sy 内核空间占用CPU百分比
ni 用户进程空间内改变过优先级的进程占用CPU百分比
id 空闲CPU百分比
wa 等待输入输出的CPU时间百分比
hi 硬件中断
si 软件中断
#———————————————————————————
逻辑数:(最常用)
cat /proc/cpuinfo| grep "processor"| wc -l
物理数:
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
核数:
cat /proc/cpuinfo| grep "cpu cores"| uniq
#———————————————————————————
逻辑/物理=核
cpu逻辑个数:AIX
pmcycles -m
#———————————————————————————
cpu物理个数 AIX
prtconf|grep Processors
#———————————————————————————
单个cpu信息:AIX
lsattr -E -l proc0
#———————————————————————————
cpu频率:AIX
lsattr -El proc0
prtconf -s
<————————————————————————————————————————————————————————————————————————————————————————————————————————————>
内存
free -g
cat /proc/meminfo
#———————————————————————————
sawp:
lvdisplay (不会用)
swapon -s
#———————————————————————————
看内存 AIX
svmon -G
<————————————————————————————————————————————————————————————————————————————————————————————————————————————>
IO
1秒查看一次io状态
iostat 1
#———————————————————————————
查看io
iostat -d -x -m 1 100 linux
#———————————————————————————
<————————————————————————————————————————————————————————————————————————————————————————————————————————————>
服务器用户
#———————————————————————————
--创建用户名为aaa的用户
sudo useradd -m aaa
#———————————————————————————
输入用户aaa的密码
sudo passwd aaa
#———————————————————————————
给新用户添加crontab权限
vim /etc/cron.allow
/etc/cron.deny
#———————————————————————————
查看系统用户:
cat /etc/passwd
查看某个用户进程
ps aux| grep 用户
#———————————————————————————
修改服务器名字
hostnamectl set-hostname xxxx
刷新主机名
exec bash
<————————————————————————————————————————————————————————————————————————————————————————————————————————————>
查看是虚拟机还是物理机
https://mp.weixin.qq.com/s/u0BaLY_MObmGB-qcxrxRVQ
1、显示全信息
dmidecode -t 1
2、显示服务器
dmidecode -s system-manufacturer
3、虚拟机的话会返回信息
virt-what
<————————————————————————————————————————————————————————————————————————————————————————————————————————————>
网络
DEVICE:网卡名称(一定是写eth0)
ONBOOT=yes(相当于启动这个网卡的开关,你要用eth0这个一定要yes,表示开)
BOOTPROTO=none
(
这个是表示你使用什么样的路由协议,有三种不同写法,
如果是none和static表示你用的是静态路由,那么你在接下来的项目里就必须填写IPADDR、NETMASK、GATEWAY这三个选项。
如果是dhcp表示你使用动态路由协议,那IPADDR、NETMASK、GATEWAY这些选项就可以不必填写。如果填写了,就以你填写的值为准
)
HWADDR:你网卡的物理地址(可以不用写,系统自动会生成)
IPADDR:ip地址
NETMASK:子网掩码
GATEWAY:网关
#———————————————————————————
重启网络服务
service network restart
#———————————————————————————
当前ip
ip addr
ifconfig
#———————————————————————————
网卡路径
/etc/sysconfig/network-scripts/
#———————————————————————————
查看uuid
cat /proc/sys/kernel/random/uuid
#———————————————————————————
生成新网卡的uuid
uuidgen ensxx
#———————————————————————————
查看ssh端口
netstat -ntlp
#———————————————————————————
查看某某端口被谁使用
lsof -i:5432
<————————————————————————————————————————————————————————————————————————————————————————————————————————————>
卷组
查询卷组可用空间:
vgdisplay
#———————————————————————————
查看:free -h
取消sawp空间挂载:
swapoff /dev/mapper/centos-swap
查看:free -h
#———————————————————————————
扩容:
lvextend -L 4G /dev/mapper/centos-swap
(扩展多少需要不超过内存本身)
<————————————————————————————————————————————————————————————————————————————————————————————————————————————>
AIX系统监控相关:
AIX实际ip地址
lsattr -El en0 | grep -w "netaddr" | awk '{print $2}'
#逻辑cpu个数
pmcycles -m | wc -l | awk '{print $1}'
#物理cpu个数
prtconf|grep Processors | awk '{print $4}'
#用户空间占用CPU百分比
vmstat -w | awk 'NR==7{print}' | awk '{print $14}'
#系统占用CPU百分比
vmstat -w | awk 'NR==7{print}' | awk '{print $15}'
#CPU空闲时间比
vmstat -w | awk 'NR==7{print}' | awk '{print $16}'
#CPU因为等待I/O而空闲的时间比
vmstat -w | awk 'NR==7{print}' | awk '{print $17}'
#CPU15分钟前到现在的负载平均值
uptime | awk '{print $13}' | cut -f 1 -d ','
#CPU5分钟前到现在的负载平均值
uptime | awk '{print $12}' | cut -f 1 -d ','
#CPU1分钟前到现在的负载平均值
uptime | awk '{print $11}' | cut -f 1 -d ','
#物理内存总量
svmon -G | grep memory | awk '{print $2}'
#操作系统已使用内存总量
svmon -G | grep memory | awk '{print $3}'
#操作系统未使用内存总量
svmon -G | grep memory | awk '{print $4}'
#磁盘I/O统计信息
iostat -d
<————————————————————————————————————————————————————————————————————————————————————————————————————————————>
正常挂载
mount -o loop /挂载文件位置/xx.iso /挂载位置
永久挂载
编辑挂载文件:
vi /etc/fstab
+内容
/CentOS-7-x86_64-Everything-2009.iso /mnt iso9660 loop 0 0
#———————————————————————————
系统路径
if [ "`uname`" = "Linux" ]; then
. ~/.bash_profile
else
. ~/.profile
fi
--
.profile
添加:
export PGHOME=/usr/local/postgresql
source .profile
cd $PGHOME就到/usr/local/postgresql/下了
(修改失败后↓执行,在vim改回原文件)
export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin
<————————————————————————————————————————————————————————————————————————————————————————————————————————————>
配置yum:
/etc/yum.repos.d/路径下
首先参数意义:
(
[CentOS7] //yum的ID,本地唯一,用于区分不同yum源
name=CentOS-server //描述信息
baseurl=file:///mnt //前面的file://是协议,后面的/mnt是光盘挂载点
enabled=1 //1启用yum源,0禁用yum源
gpgcheck=0 //1使用公钥验证rpm包的正确性,0不验证
)
#———————————————————————————
关闭所有的源
/etc/yum.repos.d/CentOS-Base.repo和其他yum配置文件中,都添加上enabled=0
#———————————————————————————
再vi /etc/yum.repos.d/CentOS-Media.repo中,改为:
[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#———————————————————————————
配置网络yum
mv CentOS-Base.repo CentOS-Base.repo.bak
本机在rpm文件夹中有Centos-7.repo,上传到服务器,代替原来的repo
mv Centos-7.repo /etc/yum.repos.d/CentOS-Base.repo
#———————————————————————————
清理yum和chache文件
yum clean all
rm -rf /var/cache/yum/
重新生成yum cache
yum makecache
成功会返回Metadata Cache Created。(元数据缓存已建立)
enabled=0
#———————————————————————————
安装命令:
yum search xx
例如:ifconfig
根据最下面一行下载安装
yum install xx
例如:yum install net-tools.x86_64
#———————————————————————————
rpm -i 安装
rpm -ivh 安装显示备注
<————————————————————————————————————————————————————————————————————————————————————————————————————————————>
装机必关1、2、3
1、永久关闭防火墙
systemctl disable firewalld.service
停止firewalld服务运行
systemctl stop firewalld
禁用firewalld服务自启动
systemctl disable firewalld
#———————————————————————————
2、永久关闭网络管理服务
systemctl disable NetworkManager
禁止开机启动
chkconfig NetworkManager off
关闭
service NetworkManager stop
#———————————————————————————
3、关闭selinux
进入到/etc/selinux/config文件# vim /etc/selinux/config
SELINUX=enforcing改为SELINUX=disabled,重启生效
禁用selinux自启动
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
立即停止selinux
setenforce 0
#———————————————————————————
停止avahi-daemon服务
systemctl stop avahi-daemon
禁用avahi-daemon服务的自启动
systemctl disable avahi-daemon
配置NOZEROCONF参数
echo 'NOZEROCONF=yes' >> /etc/sysconfig/network
(avahi-daemon服务可能会在网卡流量大的时候,造成网络请求障碍,因此禁用它。)
#———————————————————————————
配置启动禁用透明大页和NUMA
sed -i 's/quiet/quiet transparent_hugepage=never numa=off/' /etc/default/grub
生成启动规则
grub2-mkconfig -o /boot/grub2/grub.cfg
然后重启
reboot
(Oracle官方文档中指出透明大页可能会导致在RAC中造成性能影响,因此关闭透明大页。)
#———————————————————————————
停止NTP服务
systemctl stop ntpd
禁用NTP服务自启动
systemctl disable ntpd
(Oracle会在安装时检测是否有NTP服务,如果有,
则会认为你的服务器是使用NTP来同步节点时间的,
会将自身的CTSS服务配置成观察状态;
如果检测到没有NTP服务,则会使用CTSS服务来同步时间。
CTSS服务会将安装Grid软件的那台来作为主节点,
然后让集群的其他节点时间与主节点的时间进行同步。
禁用NTP服务,使用Oracle的CTSS服务来同步节点的时间。)
<————————————————————————————————————————————————————————————————————————————————————————————————————————————>
LSVG
看有哪些卷组
lsvg
(linux:vgdisplay)
查看具体某个卷组信息
lsvg xx
#———————————————————————————
--看看有哪些物理磁盘
lspv
hdisk0 00c3ee9e3439bc67 rootvg active
hdisk1 00c3ee9e5033384d rootvg active
hdisk2 00c3ee9eae48cc48 rootvg active
hdisk3 00c3ee9eae48df75 rootvg active
--看hdiskx上挂载了那些逻辑卷
lspv -l hdiskx
#———————————————————————————
solaris
format
#———————————————————————————
查看盘日志
cat /var/adm/messages
查看掉盘记录
cat /var/adm/messages |grep loghost
<————————————————————————————————————————————————————————————————————————————————————————————————————————————>
FIND
#———————————————————————————
find . -name xx
#———————————————————————————
查找ZIP文件 在xx-xx时间内生成的
find . -name *.zip -newermt '2022-06-01 00:00:00' ! -newermt '2022-06-02 12:00:00'
#———————————————————————————
删除2天前的东西:
find /jdlj -mtime +2 -name "*.*" -exec rm -f {} \;
#———————————————————————————
删除3天前的trc文件:(如果是solars+3就是4天前的)
find . -name \*.trm -mtime +3 -exec rm {} \;
#———————————————————————————
# 查找存在时间超过3天的属于jacklee的文件
find / -ctime +3 -user jacklee
-atime [+|-]#
-mtime [+|-]#
-ctime [+|-]#
#———————————————————————————
AIX机器查询
find ~ -name "scnmonitor.sql" -print
#———————————————————————————
# 解读:
-# 表示[0,#)
# 表示[#,#+1)
+# 表示[#+1,∞]
#———————————————————————————
# 实例:比如 #=3的含义如下
-3 表示 3个24h之内 (系统称之为三天内)
3 表示 第4个24h期间内 (系统称之为是第三天)
+3 表示 超过4个24h (系统称之为是超过三天)
#———————————————————————————
# 默认格式是小时,指定分钟格式:
-amin
-mmin
-cmin
<————————————————————————————————————————————————————————————————————————————————————————————————————————————>
CAT
+行数看
cat xx |grep -n xx > xx.log
cat -n xx.log
#———————————————————————————
显示文件前面10行
cat filename | head -n 10
#———————————————————————————
从10行开始显示
cat filename | tail -n +10
#———————————————————————————
cat截取日志 $0是第几列,时间自己选
cat xx.log | awk '$0 >="2023-03-17 08:55:00" && $0 <="2023-03-17 09:02:02"' > zcj01.log
<————————————————————————————————————————————————————————————————————————————————————————————————————————————>
压
zip xx.zip xxxxx
#———————————————————————————
解压tar包gz
gunzip -c zjff_20220526.dmp.gz | tar -xvf -
linux
tar -xzvf 压缩包文件名.tar.gz
<————————————————————————————————————————————————————————————————————————————————————————————————————————————>
unlimit
ulimit -a 列出所有的参数选项
#———————————————————————————
ulimit -H 设置硬件资源限制
#———————————————————————————
ulimit -S 设置软件资源限制
#———————————————————————————
ulimit -n 设置应许打开文件数
#———————————————————————————
修改ulimit参数,配置文件是:/etc/security/limits.conf
格式:
domain:可以是用户或者用户组 *代表所有
type:可以有两个值,soft 和 hard
item:表示要限定的资源 可以有很多候选值,如 stack(最大堆栈大小),cpu(占用cpu的时间),nofile(最大打开文件数) 等等
例:* hard nofile 100 该行配置语句限定了任意用户所能创建的最大文件数是 100。
<————————————————————————————————————————————————————————————————————————————————————————————————————————————>
scp
scp xx deployer@10.162.67.189:/路径
反向拽
scp username@remote.com:/from/path/\{a,b,c\} ./
sftp
sftp vsftpd@10.245.1.33
(输密码)
(
sftp> help
可用命令:
cd 路径 更改远程目录到“路径”
lcd 路径 更改本地目录到“路径”
chgrp group path 将文件“path”的组更改为“group”
chmod mode path 将文件“path”的权限更改为“mode”
chown owner path 将文件“path”的属主更改为“owner”
exit 退出 sftp
help 显示这个帮助文本
get 远程路径 下载文件
ln existingpath linkpath 符号链接远程文件
ls [选项] [路径] 显示远程目录列表
lls [选项] [路径] 显示本地目录列表
mkdir 路径 创建远程目录
lmkdir 路径 创建本地目录
mv oldpath newpath 移动远程文件
open [用户@]主机[:端口] 连接到远程主机
put 本地路径 上传文件
pwd 显示远程工作目录
lpwd 打印本地工作目录
quit 退出 sftp
rmdir 路径 移除远程目录
lrmdir 路径 移除本地目录
rm 路径 删除远程文件
lrm 路径 删除本地文件
symlink existingpath linkpath 符号链接远程文件
version 显示协议版本
)
<————————————————————————————————————————————————————————————————————————————————————————————————————————————>
脚本
%H 小时,24小时制(00~23)
%I 小时,12小时制(01~12)
%k 小时,24小时制(0~23)
%l 小时,12小时制(1~12)
%M 分钟(00~59)
%p 显示出AM或PM
%r 显示时间,12小时制(hh:mm:ss %p)
%s 从1970年1月1日00:00:00到目前经历的秒数
%S 显示秒(00~59)
%T 显示时间,24小时制(hh:mm:ss)
%X 显示时间的格式(%H:%M:%S)
%Z 显示时区,日期域(CST)
%a 星期的简称(Sun~Sat)
%A 星期的全称(Sunday~Saturday)
%h,%b 月的简称(Jan~Dec)
%B 月的全称(January~December)
%c 日期和时间(Tue Nov 20 14:12:58 2012)
%d 一个月的第几天(01~31)
%x,%D 日期(mm/dd/yy)
%j 一年的第几天(001~366)
%m 月份(01~12)
%w 一个星期的第几天(0代表星期天)
%W 一年的第几个星期(00~53,星期一为第一天)
%y 年的最后两个数字(1999则是99)
#———————————————————————————
输出昨天日期
date -d "1 day ago" +"%Y-%m-%d"
2016-11-29
#———————————————————————————
2秒后输出
date -d "2 second" +"%Y-%m-%d %H:%M.%S"
2016-11-30 10:46.04
#———————————————————————————
时间戳类型的 输出对应的1234567890秒
date -d "1970-01-01 1234567890 seconds" +"%Y-%m-%d %H:%m:%S"
2009-02-13 23:02:30
#———————————————————————————
普通格式
date -d "2016-11-30" +"%Y/%m/%d %H:%M.%S"
2016/11/30 00:00.00
#———————————————————————————
apache格式转换:
date -d "Nov 30, 2016 12:00:37" +"%Y-%m-%d %H:%M.%S"
2016-11-30 12:00.37
#———————————————————————————
格式转换后时间游走:
date -d "Nov 30, 2016 12:00:37 AM 2 year ago" +"%Y-%m-%d %H:%M.%S"
2014-11-30 00:00.37
#———————————————————————————
加减操作
date +%Y%m%d //显示前天年月日
date -d "-1 day" +%Y%m%d //显示前一天的日期
date -d "+1 day" +%Y%m%d //显示后一天的日期
date -d "-1 month" +%Y%m%d //显示上一月的日期
date -d "+1 month" +%Y%m%d //显示下一月的日期
date -d "-1 year" +%Y%m%d //显示前一年的日期
date -d "+1 year" +%Y%m%d //显示下一年的日期
#———————————————————————————
如果需要计算一组命令花费多少时间
start=$(date +"%d")//以时间戳类型保存当前时间
// 执行需要计算的命令
end=$(date +"%d")//以时间戳类型保存当前时间
difference=$(( end - start )) // 相减的结果就是命令执行完需要的时间
<————————————————————————————————————————————————————————————————————————————————————————————————————————————>
shell 判断
-gt是大于的意思。
-eq是等于的意思。
-ne是不等于的意思。
-ge是大于等于的意思。
-lt是小于的意思。
-le是小于等于的意思
<————————————————————————————————————————————————————————————————————————————————————————————————————————————>
互信:
想要服务器A访问服务器B不输入密码,则需要配置互信,先执行:
ssh-keygen -t rsa
(一直回车即可)
如果已存在,就可以直接输入:
ssh-copy-id hostname或者ip
<————————————————————————————————————————————————————————————————————————————————————————————————————————————>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Solaris
<————————————————————————————————————————————————————————————————————————————————————————————————————————————>
查看交换内存
swap -s
total: 130079280k bytes allocated + 46876976k reserved = 176956256k used, 51073656k available
used / total = %
#———————————————————————————
cpu
prstat -a
#———————————————————————————
vi
echo $TERM linux
TERM=vt100
export TERM
EDITOR=vi
export EDITOR
echo EDITOR
<————————————————————————————————————————————————————————————————————————————————————————————————————————————>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>