1、查看后台运行日志:
1. 查看jar包运行日志
$ tail -f *.log
2. 查看war包运行日志
$ tail -f catalina.out
2、杀掉进程
1. 查看进程PID
1.1 查看java进程,并查看进程的父进程ID和完整的COMMAND命令
$ ps -ef | grep java
1.2 查看Java进程,并查看进程的CPU占用率和内存占用率
$ ps aux | grep java
#ps命令将某个进程显示出来
#grep命令是查找
#中间的|是管道命令 是指ps命令与grep同时执行
#PS是LINUX下最常用的也是非常强大的进程查看命令
#grep命令是查找,是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
#grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
2. 杀死进程
$ kill -9 PID
3、文件上传下载与传输
1. 安装lrzsz工具包
$ yum install lrzsz
2. 上传文件
$ rz
3. 下载文件
$ sz path/filename
#rz、sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具
4. 将某台服务器文件传输到另一台服务器上
4.1 复制文件
4.1.1 将本地文件拷贝到远程
# scp 文件名 用户名@计算机IP或者计算机名称:远程路径
$ scp /usr/local/redis/redis.conf root@127.0.0.1:/usr/loacl/redis/redis.conf
4.2.1 从远程将文件拷回本地
# scp 用户名@计算机IP或者计算机名称:文件名 本地路径
$ scp /usr/local/redis/redis.conf root@127.0.0.1:/usr/loacl/redis/redis.conf
4.2 复制文件夹
4.2.1 将本地文件夹拷贝到远程
#scp -r 目录名 用户名@计算机IP或者计算机名称:远程路径
$ scp -r /usr/local/test root@127.0.0.1:/usr/loacl/test2
4.2.2 从远程将文件夹拷回本地
#scp -r 用户名@计算机IP或者计算机名称:目录名 本地路径
$ scp -r root@127.0.0.1:/usr/loacl/test2 /usr/local/test
5. 同台服务器下的文件/文件夹移动
5.1 将文件复制到另一个文件夹下
$ cp -r /home/test/* /usr/local/test //将home/test文件夹下的所有内容复制过去
$ cp -r /home/test/. /usr/local/test //将home/test文件夹下的所有内容复制过去
5.2 将一个文件夹复制到另一文件夹下
$ cp -r /home/test /usr/local/test
6. 同台服务器下的文件移动
6.1 移动文件
$ mv /home/test/test.txt /usr/local/test/
6.2 移动文件夹
$ mv /home/test /usr/local/test
7. 创建文件夹与文件
$ mkdir /usr/local/test
$ mkdir -p /usr/local/test1/test2 //递归创建目录,即使上级目录不存在,会按目录层级自动创建目录
$ vim /usr/local/test.sh //创建并编辑文件
8. 删除文件
$ rm -rf /home/test.txt
#-r表示向下递归,不管有多少级目录,一并删除
#-f表示直接强行删除,不作任何提示的意思
4、linux下配置JDK环境变量
1、下载jdk压缩包
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
2、创建文件夹存放jdk压缩包
[root@localhost local]#: mkdir java
3、上传压缩包
[root@localhost local]#: rz
4、解压压缩包
[root@localhost local]#: tar -xzvf jdk-8u201-linux-x64.tar.gz
5、修改环境变量配置
[root@localhost local]#: vi /etc/profile
添加配置:
export JAVA_HOME=/usr/local/jdk1.8.0_211
export JRE_HOME=/usr/local/jdk1.8.0_211/jre
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
6、使配置文件生效
[root@localhost local]#: source /etc/profile
5、运行jar包
1、运行jar包
1.1 前台运行
[root@localhost local]# java -jar xxl-job-admin.jar
这个命令会锁定命令窗口,只能看到当前运行的输出信息。而无法发送其他指令。
1.2 后台运行
[root@localhost local]# nohup java -jar xxl-job-admin.jar >log.txt &
用"&"符号结尾表示,让程序在后台运行,
>logs.txt 表示输出文件。
这样的话,命令窗口就不会被锁定,而可以发送其他指令,但是当窗口关闭时,后台运行的程序依然会被停止。
nohup命令:nohup 命令运行由 Command参数和任何相关的 Arg参数指定的命令,忽略所有挂断信号。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。
简单地说就是,nohup命令可以阻止窗口关闭是的挂断信号,使程序继续运行。这样,命令就修改为了
2、查看运行日志
[root@localhost local]# less log.file
6、防火墙设置和端口开放
1、防火墙设置
1.1如果没有开放端口,可直接关闭防火墙
查看防火墙开启状态:firewall-cmd --state
关闭防火墙命令:systemctl stop firewalld
开启防火墙:systemctl start firewalld
关闭开机自启动:systemctl disable firewalld
开启开机启动:systemctl enable firewalld
重启防火墙:firewall-cmd --reload
2开放端口
2.1开启防火墙
systemctl start firewalld
2.2开放指定端口
firewall-cmd --zone=public --add-port=1935/tcp --permanent
命令含义:
--zone #作用域
--add-port=1935/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
2.3 查询制定端口是否已开放
firewall-cmd --query-port=666/tcp
2.4查看端口号
netstat -ntlp //查看当前所有tcp端口·
netstat -ntulp |grep 1935 //查看所有1935端口使用情况·
7、启动redis
1、普通安装的redis
1.1 进入启动目录
$ cd /usr/local/redis/redis-5.0.4/src/
1.2 启动redis
$ ./redis-server ../redis.conf
2、docker中的redis
1.1 查看redis容器是否启动
$ docker ps
1.2 没有则启动容器
$ docker start [docekr name/ docekr Id]
1.3 进入容器
$ docker exec -it [docekr name/ docekr Id] /bin/bash
1.4 进入启动目录
$ cd ../usr/local/bin
1.5 启动redis
$ ./redis-service ../../../data/redis.conf
8、nginx上传文件大小限制修改
1. 找到nginx.conf文件位置
$ find / -name nginx.conf
2. 查看nginx.conf文件配置
$ cat [path]/nginx.conf
3.1 编辑文件
$ vim [path]/nginx.conf
3.2 添加上自定义最大上传文件大小(client_max_body_size 50M 必须要放在server下的server_name下,而不是放在localhost /web的大括号里)
$ client_max_body_size 50M;
4.1 平滑重启nginx
$ [/usr/local/nginx/sbin]# ./nginx -s reload
4.2 非平滑重启
$ [/usr/local/nginx/sbin]# ./nginx -s stop && ./nginx
9、挖矿病毒查杀(治标不治本)
1. 查看运行进程排查是否存在病毒进程
$ top
2. 编写查杀脚本
2.1 创建脚本文件
$ vim /tmp/kill_kdevtmpfsi.sh
2.2 编辑脚本
#!/bin/bash
source /etc/profile
source ~/.bash_profile
echo 'start delete'
rm -f /tmp/kdevtmpfsi
rm -f /var/tmp/kinsing
rm -f /tmp/kinsing
ps -aux | grep kinsing |cut -c 9-15 | xargs kill -9
ps -aux | grep kdevtmpfsi |cut -c 9-15 | xargs kill -9
#grep firefox的输出结果是,所有含有关键字“firefox”的进程。
#grep -v keyword是在列出的进程中去除含有关键字“grep”的进程。
#cut -c 9-15是截取输入行的第9个字符到第15个字符,而这正好是进程号PID。
#xargs kill -s 9中的xargs命令是用来把前面命令的输出结果(PID)作为“kill -s 9”命令的参数,并执行该命令。“kill -s 9”会强行杀掉指定进程。
2.4 运行脚本
$ sh /tmp/kill_kdevtmpfsi.sh
3. 创建定时任务
3.1 查看是否安装定时任务
$ crontab -l
3.2 安装定时任务
传送门:https://www.cnblogs.com/shaohuixia/p/5577738.html
3.3 第一次运行crontab手动生成‘crontab’文件
$ crontab -e
#保存空白文件
#liunx服务器第一次使用crontab,还没有生成对应的文件,执行了编辑(crontab -e)后就生成了对应文件
3.4 编辑‘crontab’文件,添加定时任务
$ crontab -e
#添加 */1 * * * * cd /tmp;/bin/bash kill_kdevtmpfsi.sh >> /tmp/kill.log>&1
10、端口冲突排查
1. 查看端口是否被使用
$ netstat -lnt | grep port
2. 根据端口查看进程信息
$ lsof -i :port
3.杀死进程
$ kill -9 PID
4. 查看服务器对外ip
$ curl http://httpbin.org/ip
11、修改jvm参数
1. 查看jvm参数
$ jps
$ jinfo -flags PID
2. 添加jvm参数
$ vim /etc/profile
$ export JAVA_OPTIONS=-XX:+PrintGCDetails -Xloggc:/usr/local/logs/gc.log
3. 使修改的配置生效
$ source /etc/profile
12、Linux服务器查看配置(CPU、内存、硬盘)
1. 查看逻辑CPU个数
$ cat /proc/cpuinfo | grep "processor"
$ cat /proc/cpuinfo |grep "processor" |wc -l //直接显示cpu个数
2. 查看服务器内存大小
$ cat /proc/meminfo |grep MemTotal
2.1 查看内存剩余大小
$ free -m
3.1 查看服务器硬盘大小
$ df -hl
3.2 查看服务器个文件夹具体占用大小
$ du -h --max-depth=1 /
4. 查看文件大小
4.1查看一个文件夹中所有文件的大小(不含子目录中的文件)
$ du -Sh 或 du -Ssh
4.2. 查看一个文件夹中所有文件的大小(包含子目录中的文件)
$ du -h或者du -sh
4.3. 查看文件夹下每一个文件夹的大小
$ du -sh *
4.3 查看文件夹中每一个文件的大小:
$ du -ah 或者ls -lRh
#S:表示不统计子目录
#s:表示不要显示其下子目录和文件占用的磁盘空间大小信息,只显示总的占用空间大小
#h:以适合阅读的单位显示
5. 查看占用内存最高的10个进程
$ ps aux | sort -k4nr | head -n 10
5. 查看占用CPU最高的10个进程
$ ps aux | sort -k3nr | head -n 10
13、查看服务磁盘占用情况
Linux df(英文全拼:disk free) 命令用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计
1、df -h 展示磁盘使用情况
2、df -h /path 展示路径所属分区与分区挂载点,空间使用情况
3、fdisk -l 显示磁盘分区信息
4、lsblk 列出所有可用块设备的信息
14、liunx下cpu占用率高如何定位代码
1、通过top命令查看高cpu进程
$ top
2、显示该进程下的线程列表,并按照CPU占用排序
$ ps -mp PID-o THREAD,tid,time | sort -rn
3、将需要的线程ID转换为16进制格式
$ printf "%x\n" tid
$ e18
4、最后打印线程的堆栈信息
$ jstack PID | grep e18 -A 30
15、软件安装升级
1、安装
rpm -ivh *.rpm --force --nodeps
2、升级
#-Uvh 后面接的软件没有安装过,系统会予以直接安装;后面接的软件有安装的旧版,系统自动更新至新版
#-Fvh 后面接的软件并未安装,系统不会安装该软件;后面接的软件有安装,软件会被升级
rpm -Uvh *.rpm --force --nodeps
或
rpm -Fvh *.rpm --force --nodeps