OP-TOOL-PRIVATE

目录

1.Linux

1.1 Linux基础篇

1.1.1 用户类

1.1.2 主机磁盘

1.1.3 crontab定时任务

1.1.4 Ansible

1.1.5 打包压缩

1.1.7 网咯防火墙          

1.2 硬件设备

1.2.1 查看服务器硬件信息

1.2.2 查看CPU信息

1.2.3 查看内存信息

1.2.4 查看硬盘信息

1.2.5 查看网卡信息

2.中间件

2.1 Docker

2.2 Redis

2.3 Nginx

4.镜像源

5.问题资料

6.扩展

#Apache Bench(AB)


1.Linux

1.1 Linux基础篇

1.1.1 用户类

查看所有用户

​​​​​​​cat /etc/passwd

查看用户密码到期时间

chage -l username(用户名)

延期用户密码

chage -d  2022-05-14(时间)  username(用户名)

Liunx文本编辑器:Vim    Emacs   Pico   Nano   Joe
赋予权限

递增用户目录:chown username:usergroup  -R  /app/test                                   
增加读写执行权限:chmod 777 文件(文件644  目录755)

创建多个目录

mkdir -p dir33/{dir1,dir2,dir3}

更改用户组

usermod -g testgrp test
#-c comment 指定一段注释性描述。
#-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
#-g 用户组 指定用户所属的用户组。
#-G 用户组,用户组 指定用户所属的附加组。
#-s Shell文件 指定用户的登录Shell。
#-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
#-a 表示在原来所属组的基础上追加 例如:usermod -aG testgrp test

建工作组

groupadd 用户组名    

创建用户

useradd -g 用户组名 -d /home/monitor -s /bin/bash -m monitor

rpm安装

rpm -ivh 文件 --force --nodeps  (两个参数的意义就在于,安装时不再分析包之间的依赖关系而直接安装)

grep查找

grep 省份 access.log | tail 

zgrep查询压缩文件日志

#查询压缩文件日志 
zgrep XXX file.zip  
zgrep -A 100 a file.zip   // 查询压缩文件file.zip中包含a字符的内容的后面100行
zgrep -B 100 a file.zip   // 查询压缩文件file.zip中包含a字符的内容的前面100行
zgrep -C 100 a file.zip   // 查询压缩文件file.zip中包含a字符的内容的前后100行
zgrep -c a file.zip   // 查询压缩文件file.zip中包含a字符的行数。 
zgrep -i a file.zip   // 查询压缩文件file.zip中包含a或A字符的内容 

查看主机历史命令记录

history

​​​​​​​查找关键字、前几行、结尾几行

#查看日志 前 n行
cat 文件名 | head -n 数量
#查看日志尾 n行
cat 文件名 | tail -n 数量
#根据 关键词 查看日志 并返回关键词所在行
cat 路径/文件名 | grep 关键词
grep -i 关键词 路径/文件名

查看系统登录日志:last
查看系统登录失败日志:lastb
查看可疑登录

last -f /var/log/wtmp

1.1.2 主机磁盘

查看CPU,内存利用率

ps auxm --sort=%cpu

查询pid

ps aux|grep AIBizHall-record-0.0.1.jar

查看CPU使用情况:top -bn 1 -i -c 

查看文件大小:ls -lrt
查看磁盘空间:df -h

按照空间使用由大到小显示子目录的空间

du -ks * |sort -rn |more

查看当前目录下各个文件及目录占用空间大小 

du -sh *

查看内存

free -h/m/top

根据文件名全盘搜索

find / -name xxx.aaa

查看磁盘分区:fdisk -l 

挂载创建NFS日志mount

mount -t nfs hohhot-dfs11.cmcc.cn:/share-5dbde474-4fa3-40bf-b8ba-abe9c4d463bf  目录(挂载指定目录的路径)            

查看系统版本命令

cat /etc/redhat-release

SCP文件到本地

scp 文件名 @192.168.177.151:/home/zhangshuai(用户)
scp /home/zhangshuai/文件 @192.168.177.151:/文件名

赋权限

chmod 777 /home/zhangshuai/app.log(文件)
#递增赋权
chown -R 755(目录755,文件644) /log
chown -R upay:upay /opt/log

#chmod u+s /bin/*
u--拥有者
g--同组用户
o--其它用户
r--可读
w--可写
x--可执行
s--可执行(跟x差不多,我还不清楚两者的区别)

1.1.3 crontab定时任务

cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业。
service crond start    //启动服务
service crond stop     //关闭服务
service crond restart  //重启服务
service crond reload   //重新载入配置
service crond status   //查看服务状态 

crontab -l 查看定时任务

/var/spool/cron/ 这个目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名,比如tom建的crontab任务对应的文件就是/var/spool/cron/tom。一般一个用户最多只有一个crontab文件。

参考博客:Linux crontab命令:循环执行定时任务(详解版)

表1 crontab 命令常用选项及功能

选项功能
-u user用来设定某个用户的 crontab 服务,例如 "-u demo" 表示设备 demo,用户的 crontab 服务,此选项一般有 root 用户来运行。
-e编辑某个用户的 crontab 文件内容。如果不指定用户,则表示编辑当前用户的 crontab 文件。
-l显示某用户的 crontab 文件内容,如果不指定用户,则表示显示当前用户的 crontab 文件内容。
-r 从 /var/spool/cron 删除某用户的 crontab 文件,如果不指定用户,则默认删除当前用户的 crontab 文件。 
-i在删除用户的 crontab 文件时,给确认提示。

表2 crontab 时间表示

项目含义范围
第一个"*"一小时当中的第几分钟(minute)0~59
第二个"*"一天当中的第几小时(hour)0~23
第三个"*"一个月当中的第几天(day)1~31
第四个"*"一年当中的第几个月(month)1~12
第五个"*"一周当中的星期几(week)0~7(0和7都代表星期日)

表3 时间特殊符号

特殊符号含义
*(星号)代表任何时间。比如第一个"*"就代表一小时种每分钟都执行一次的意思。
,(逗号)代表不连续的时间。比如"0 8,12,16***命令"就代表在每天的 8 点 0 分、12 点 0 分、16 点 0 分都执行一次命令。
-(中杠)代表连续的时间范围。比如"0 5 ** 1-6命令",代表在周一到周六的凌晨 5 点 0 分执行命令。
/(正斜线)代表每隔多久执行一次。比如"*/10****命令",代表每隔 10 分钟就执行一次命令。

表4 crontab举例

时间含义
45 22 ***命令在 22 点 45 分执行命令
0 17 ** 1命令在每周一的 17 点 0 分执行命令
0 5 1,15**命令在每月 1 日和 15 日的凌晨 5 点 0 分执行命令
40 4 ** 1-5命令在每周一到周五的凌晨 4 点 40 分执行命令
*/10 4 ***命令在每天的凌晨 4 点,每隔 10 分钟执行一次命令
0 0 1,15 * 1命令在每月 1 日和 15 日,每周一个 0 点 0 分都会执行命令,注意:星期几和几日最好不要同时出现,因为它们定义的都是天,非常容易让管理员混淆

1.1.4 Ansible

    ansible是自动化运维工具,基于Python开发集合了众多运维工具(puppet、chef、func、fabric)的优点 实现批量系统配置、批量程序部署、批量运行命令等功能。

ansible 安装方式

使用 pip(python的包管理模块)安装

#需要安装一个python-pip包,安装完成以后,则直接使用pip命令来安装我们的包,具体操作过程如下:
yum install python-pip
pip install ansible

使用 yum 安装

#需要先安装一个epel-release包,然后再安装我们的 ansible 即可。
yum install epel-release -y
yum install ansible –y

ansible 程序结构

配置文件目录:/etc/ansible/
执行文件目录:/usr/bin/
Lib库依赖目录:/usr/lib/pythonX.X/site-packages/ansible/
Help文档目录:/usr/share/doc/ansible-X.X.X/
Man文档目录:/usr/share/man/man1/

ansible配置文件

inventory = /etc/ansible/hosts		#这个参数表示资源清单inventory文件的位置
library = /usr/share/ansible		#指向存放Ansible模块的目录,支持多个目录方式,只要用冒号(:)隔开就可以
forks = 5		#并发连接数,默认为5
sudo_user = root		#设置默认执行命令的用户
remote_port = 22		#指定连接被管节点的管理端口,默认为22端口,建议修改,能够更加安全
host_key_checking = False		#设置是否检查SSH主机的密钥,值为True/False。关闭后第一次连接不会提示配置实例
timeout = 60		#设置SSH连接的超时时间,单位为秒
log_path = /var/log/ansible.log		#指定一个存储ansible日志的文件(默认不记录日志)

ansible 配置公私钥

#1.生成私钥
[root@server ~]# ssh-keygen 
#2.向主机分发私钥
[root@server ~]# ssh-copy-id root@192.168.37.122
[root@server ~]# ssh-copy-id root@192.168.37.133

#如果出现了一下报错:
-bash: ssh-copy-id: command not found
#安装以下包即可
yum -y install openssh-clientsansible

常用语句:
ansible web(主机) -m shell(模块) -a 'df -h'

ansible主机连通性测试

ansible web -m ping

ansible常用模块:command,shell,copy,file,fetch,cron,yum,service,user,group,script,setup

ansible root提权

ansible -i more_hosts aa -m shell -a "chage -l topteact" -b

[aa:vars]
ansible_ssh_pass=passwd
ansible_ssh_user=user
ansible_become_method=sudo
ansible_become_pass=passwd

详细参考自动化运维工具——ansible详解(一) - 珂儿吖 - 博客园

1.1.5 打包压缩

1.1.5.1 tar

tar命令的常用参数

-z是否同时具有gz属性
-j是否同时具有bz2属性
-J是否同时具有xz属性
-x解压缩、提取打包的内容
-t查看压缩包内容
-c建立一个压缩,打包文档
-C切换到指定目录,表示指定解压缩包的内容和打包的内容存放的目录
-v显示压缩或者打包的内容
-f使用文件名,在f后面要接压缩后的文件的名字,只要用到tar命令,-f选项是必须要用的,-f参数在使用的时候一定排在其他参数的后面,在最右边
-p保留备份数据的原本权限与属性,常用于备份(-c)重要的配置文件
-P保留绝对路径

tar打包命令

tar -cvf a.tar(打包后的文件名) a.txt b.txt...(要打包的文件)
#查看打包后文件内容
tar -tf a.tar
#移动打包文件
tar -xf a.tar -C /opt/
#打包整个目录
tar zcvf 文件名.tar.gz ./html/(需要压缩的文件) # linux中一般都是以tar.gz结尾
#压缩当前文件夹下非隐藏文件的文件
tar czvf test.tar.gz *         
#压缩当前文件夹下隐藏文件排除两个隐藏文件夹"."和“..”
tar czvf test.tar.gz  .[!.]*   

压缩/解压

linux主要有三种压缩方式:
1.gzip:是公认的压缩这速度最快,压缩大文件的时候与其他的压缩方式相比更加明显,历史最久,应用最广泛的压缩方式
2.bzip:压缩形成的文件小,但是可用性不如gzip
3.xz:是最新的压缩方式,可以自动提供最佳的压缩率

参数作用命名方式
-z用于gzip压缩方式文件名.tar.gz
-j用于bzip2压缩方式文件名.tar.bz2
-J用于xz压缩方式文件名.tar.xz

压缩/解压命令

#压缩速度:gz > bz2 > xz
#压缩率:xz > bz2 > gz
tar -zcvf a.tar.gz(压缩后的文件名) a.log
#解压命令
tar -xf a.tar
#解压到指定目录
tar zxvf test.tar.gz -C /home/upay

1.1.5.2 zip

zip命令用法

zip [参数] [压缩包名] [压缩的目录或者文件的路径]

zip命令的常用参数

-m将文件压缩后,删除原文件
-o将压缩文件内的所有文件的最新变动时间设为压缩的时间
-q安静模式,在压缩的时候不显示指令执行的过程
-r递归压缩,将自定目录下的所有子文件以及文件一起处理
-x”文件列表“,压缩时排除文件列表中的文件

zip压缩实例

1.压缩目录,将harry目录压缩为名为harry.zip压缩包

zip -r harry.zip harry

2.安静模式输出,不显示压缩过程(-q)

zip -q -r harry.zip harry

3.压缩多个文件,将a.txt文件和b.cfg文件和c.apk文件压缩为名为test.zip的压缩包

#因为压缩的全是文件,所以可以不用加上-r选项
zip -q test.zip a.txt b.cfg c.apk

4.压缩多个文件,以及目录

zip -q -r test.zip a.txt b.cfg c.apk harry

5.将harry目录压缩为harry.zip压缩包,排除harry目录下的ha.txt文件:

zip -q -r harry​​​​​​​.zip harry -x "./harry/ha.txt"

6.压缩指定目录文件

gzip /目录路径/* &

1.1.5.3 unzip

unzip用法

unzip [参数] [压缩文件]  (-d [目录])  //如果不是用括号里面的内容,则解压文件在当前工作目录

unzip命令的常用参数

-c将解压缩的结果显示到屏幕上(显示每一个目录下的每一个文件的内容),同时对字符做适当的转换,但是并没有解压压缩包
-l显示压缩文件内所包含的文件
-t检查压缩文件是否正确
-v执行时显示压缩文件的详细信息
-q安静模式,执行时不显示任何信息
-d指定文件解压后存储的目录
-x指定不要处理压缩文件中的那些文件

实例:

1.harry.zip压缩包解压结果显示

unzip -c harry.zip

2.显示jihe.zip压缩包里面所包含的文件

unzip -l harry.zip


1.1.6 查找

恢复正常编辑

export TERM=xterm

置空压缩清理日志

echo " "  >  catalina.out->文件名   将文件 catalina.out变成一个空格
true > 文件名

查找find命令及删除7天前的文件

#find 对应目录 -mtime +天数 -name “文件名” -exec rm -rf {} ;
find ./ -mtime +5 |xargs rm -rf

将/usr/local/data目录下所有10天前带".“的文件删除
find:Linux的查找命令,用户查找指定条件的文件
/usr/local/data:想要进行清理的任意目录
-mtime:标准语句写法
+10:查找10天前的文件,这里用数字代表天数,+30表示查找30天前的文件
“.”:希望查找的数据类型,”.jpg"表示查找扩展名为jpg的所有文件,""表示查找所有文件,这个可以灵活运用,举一反三
-exec:固定写法
rm -rf:强制删除文件,包括目录
{} ; :固定写法,一对大括号+空格++;

压缩备份命令

tar zcvf 文件名.tar.gz ./html/(需要压缩的文件) #linux中一般都是以tar.gz结尾

杀死进程

kill -9 +服务ID

#根据进程名批量杀进程
ps -ef |grep /app/aibizhall_success.py |grep -v grep |awk '{print $2}'|xargs kill -9 

启动Java包

nohup java –jar /opt/aibizhall-account/AIBizHall-account-0.0.12.jar(jar包版本地址) > console.log(跑的数据) &

查看文件

tail -10f console.log(文件名) 

查询归集打印出对应时间日志文件

sed -n '/2021-09-23 19:00:00/,/2021-09-23 21:30:50/p' 呼池日志文件 > hc.log
sed -n '/2021-09-23 19:00:00/,/2021-09-23 21:30:50/p' 东莞日志文件 > dg.log

执行编译命令:make

rpm安装

rpm -ivh 文件 --force --nodeps  (两个参数的意义就在于,安装时不再分析包之间的依赖关系而直接安装)

1.1.7 网咯防火墙          

netstat (参数详解)

-a(all)显示所有选项,默认不显示LISTEN相关
-t(tcp)仅显示tcp相关选项
-u(udp)仅显示udp相关选项
-n拒绝显示别名,能显示数字的全部转化成数字。
-l仅列出有在 Listen (监听) 的服务状态
-p显示建立相关链接的程序名
-r显示路由信息,路由表
-e显示扩展信息,例如uid等
-s按各个协议进行统计
-c每隔一个固定时间,执行该netstat命令。

PS:LISTEN和LISTENING的状态只有用-a或者-l才能看到

yum install firewalld
systemctl start firewalld.service   //开启防火墙
systemctl stop firewalld.service   //关闭防火墙
systemctl enable firewalld.service  //设置开机自动启动
systemctl disable firewalld.service   //禁止开机启动防火墙
firewall-cmd --reload  //在不改变状态的条件下重新加载防火墙    

查看防火墙状态

firewall-cmd --state
查看防火墙状态 systemctl status firewalld

查看防火墙所有开放的端口

firewall-cmd --zone=public --list-ports
#开放端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
#重新载入
firewall-cmd --reload
#查看是否生效
firewall-cmd --zone=public --query-port=80/tcp

删除端口

#删除端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent
#重新载入
firewall-cmd --reload

查看监听的端口

netstat -lnpt

拼端口

telnet+端口号

npd协议ping测试

nc -vu +ip+端口/nc +ip +端口/nc -vuz +ip+端口     

查看端口主机服务是否开

netstat -tuln | grep 31050 (端口号)  /netstat -nltp | grep 端口号

 查看路由表

route -n

重启生效防火墙并查看是否生效

firewall-cmd --reload        #重启firewall
firewall-cmd --list-ports    #查看已经开放的端口

配置VIP

ifconfig eth0:0 10.209.26.182 netmask 255.255.255.0 up

1.2 硬件设备

1.2.1 查看服务器硬件信息

查看服务器型号、序列号 

dmidecode|grep "System Information" -A9|egrep "Manufacturer|Product|Serial"

查看主板型号 

dmidecode |grep -A16 "System Information$"

查看BIOS信息​​​​​​​

dmidecode -t bios

查看内存槽及内存条

dmidecode -t memory | head -45 | tail -23

查看网卡信息

dmesg | grep -i Ethernet

1.2.2 查看CPU信息

查看CPU型号

cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

查看系统中实际物理CPU的数量

grep 'physical id' /proc/cpuinfo | sort | uniq | wc -l

系统中逻辑CPU的数量(核数)

cat /proc/cpuinfo |grep 'processor'|wc -l

查看单颗物理CPU核数

cat /proc/cpuinfo |grep "cores"|uniq

查看CPU的主频

cat /proc/cpuinfo |grep MHz|uniq

查看CPU的详细信息

cat /proc/cpuinfo | head -20

查看CPU的相关信息

lscpu

查看cpu运行模式

getconf LONG_BIT

查看cpu是否支持64bit

#结果大于0, 说明支持64bit计算. lm指long mode, 支持lm则是64bit
cat /proc/cpuinfo | grep flags | grep ' lm ' | wc -l

1.2.3 查看内存信息

查看内存硬件信息

dmidecode -t memory | head -45 | tail -24

查看最大支持多少内存

dmidecode|grep -P 'Maximum\s+Capacity'

Linux 查看内存的频率

dmidecode|grep -A16 "Memory Device"|grep 'Speed'

Linux 查看内存的详细信息

cat /proc/meminfo |head -20

Linux 查看内存的使用情况

free -m  //-b,-k,-m,-g show output in bytes,KB,MB,or GB

1.2.4 查看硬盘信息

查看挂接的分区状态

fdisk -l |grep Disk

查看硬盘和分区分布

lsblk

查看硬盘和分区的详细信息

fdisk -l

查看挂接的分区状态

mount | column -t

查看交换分区状态

swapon -s

1.2.5 查看网卡信息

查看网卡的链路状态

#Link detected: yes代表链路连接正常
ethtool 网卡名|egrep -i 'eth|link'

2.中间件

2.1 Docker

进容器

docker exec -it 容器ID /bin/bash

4.镜像源

MySql:http://mirrors.sohu.com/mysql/MySQL-8.0/

CentOS:Index of /7.4.1708/isos/x86_64

中科大镜像:Index of /centos/7/isos/x86_64/

5.问题资料

Linux解决CVE-2015-2808、CVE-2016-8610漏洞

参考:https://blog.csdn.net/lixinfu1980/article/details/80414250

openssl 版本_OpenSSL升级版本到最新(1.1.1)

参考:https://blog.csdn.net/weixin_39624071/article/details/111673725

ORA-03113:通信通道的文件结尾-完美解决方案

参考:ORA-03113:通信通道的文件结尾-完美解决方案 - linbo.yang - 博客园

扩容磁盘空间

参考:Centos7扩展磁盘空间(LVM管理) - 老董 - 博客园

ip addr 详解

参考:ip addr详解 - wqbin - 博客园

6.扩展

#Apache Bench(AB)

AB是 Apache 服务器自带的一个web压力测试工具简称ab
ab又是一个命令行工具,对发起负载的本机要求很低,根据ab命令可以创建很多的并发访问线程,模拟多个访问者同时对某一URL地址进行访问,因此可以用来测试目标服务器的负载压力

修改配置文件

修改Apache Bench(AB)的配置文件,该配置文件在软件安装目录下的conf/httpd.conf

#修改为安装的地址
Define SRVROOT "F:/Dev/httpd-2.4.34/Apache24"

修改Apache Bench(AB)的监听端口号,将其端口号由默认的80端口改成8088,如下:

Listen 8088

修改ServerName

ServerName www.studylaravel.com:80

注册成系统服务

#管理员身份运行cmd控制台,将控制台的光标切换成软件的安装目录,在该安装目录中,切换到bin目录,在其中运行如下指令:
#successfully installed信息时,此时就说明我们的软件已经成功的注册成系统服务
httpd -k install

ApacheBench用法详解

在Linux系统,一般安装好Apache后可以直接执行;

# ab -n 4000 -c 1000 http://www.ha97.com/

如果是Win系统下,打开cmd命令行窗口,cd到apache安装目录的bin目录下;

-n后面的4000代表总共发出4000个请求;-c后面的1000表示采用1000个并发(模拟1000个人同时访问),后面的网址表示测试的目标URL

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值