一、搭建测试环境的时候,我会用到 tar-zcvf去压缩、tar-zxvf去解压、rpm,yum等相关命令来安装mysql和 jar包;
二、同样的,我们可以使用java-jar命令来启动项目;
三、在整个测试过程中,可以使用 tail命令来查看 log日志
一、安装和压缩命令
1、tar命令
压缩(-c):
tar -cvf start.tar a.java b.java //将当前目录下a.java、b.java打包
tar -cvf start.tar ./* //将当前目录下的所欲文件打包压缩成haha.tar文件
tar -zcvf start.tar.gz a.java b.java //将当前目录下a.java、b.java打包
tar -zcvf start.tar.gz ./* //将当前目录下的所欲文件打包压缩成start.tar.gz文件
解压缩 (-x):
tar -xvf start.tar //解压start.tar压缩包,到当前文件夹下;
tar -xvf start.tar -C usr/local //(C为大写,中间无空格)
//解压start.tar压缩包,到/usr/local目录下;
tar -zxvf start.tar.gz //解压start.tar.gz压缩包,到当前文件夹下;
tar -zxvf start.tar.gz -C usr/local //(C为大写,中间无空格)
//解压start.tar.gz压缩包,到/usr/local目录下;
解压缩 tar.xz 文件
tar xf node-v12.18.1-linux-x64.tar.xz
2、rpm命令
查询软件包:rpm -qa | grep 包名
卸载软件包:rpm -e --nodeps 该软件包
3、yum常用命令
yum install iptables-services 下载并安装iptables
yum list 列出当前系统中安装的所有包
yum search package_name 在rpm仓库中搜寻软件包
yum update package_name.rpm 更新当前系统中所有安装的rpm包
yum update package_name 更新一个rpm包
yum remove package_name 删除一个rpm包
yum clean all 删除所有缓存的包和头文件
4、如果你们在搭建测试环境的时候,这个端口被占用了,你们会怎么解决?
我们先用 netstat -tunlp|grep 端口号 查看指定端口号的进程情况,如果说占用端口的进程是我们需要的程序,那我们用另外的端口号;如果占用端口的进程我们不需要,那么用 kill -9 杀掉这个进程。
二、Linux 运行jar包的几种方式
- 方式一: java -jar xxx.jar
最常用的启动jar包命令,特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出。
- 方式二: java -jar xxx.jar &
&代表在后台运行 ,ctrl+c 后程序也会继续运行。
- 方式三: nohup java -jar xxx.jar &
nohup 即 no hang up 不挂断 ,关闭SSH客户端连接,程序不会中止运行。
缺省情况下该作业的所有输出被重定向到nohup.out的文件中,如何让输出的内容重定向到指定的文件呢?
- 方式四:nohup java -jar xxx.jar >aaa.log &
command >out.file 是将commandd 输出重定向到out.flie文件,即输出内容不打印到屏幕上,而是输出到out.file文件中
- 方式五:nohup java -jar spring-boot-demo.jar > springboot.log 2>&1 &
三、查看日志
1、tail -f 文件名 或 tailf 文件名
这个是实时查看,我们可以通过自己在系统中的操作,然后去观察它每一步会打印出什么信息;
进一步判断它有什么隐藏的BUG
2、less 文件名
我们可以通过less 文件名进入到文件之后,输入/关键字,搜索出这个关键字在我们日志中出现的地方,它是可以高亮显示的
3、grep -i 关键字 文件名 -color
第三种是通过grep查看,我们输入grep + 关键字 + 文件名。如果我们想高亮显示匹配结果,可以加上 color参数,这里还有个 -i 参数是忽略关键字的大小写
四、系统日志位置
cat /etc/redhat-release 查看操作系统版本
/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
/var/log/secure 与安全相关的日志信息
/var/log/maillog 与邮件相关的日志信息
/var/log/cron 与定时任务相关的日志信息
/var/log/spooler 与UUCP和news设备相关的日志信息
/var/log/boot.log 守护进程启动和停止相关的日志消息
查看某文件下的用户操作日志
到达操作的目录下,执行下面的程序:
cat .bash_history
五、查看进程
1、ps -ef
管道命令查看当前运行的程序中,名称为java的程序
ps -ef|grep java
查看PID进程信息
ps -aux |grep 28990
过滤得到当前系统中的 ssh 进程信息
ps aux | grep 'ssh'
2、top 实时查看进程
top [-] [d] [p] [q] [c] [C] [S] [n]
参数:
d:指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。
p:通过指定监控进程ID来仅仅监控某个进程的状态。
q:该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。
S:指定累计模式。
s:使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。
i:使top不显示任何闲置或者僵死进程。
c:显示整个命令行而不只是显示命令名。
H:显示线程。
3、netstat 命令netstat 命令用于显示各种网络相关信息,如网络连接, 路由表, 接口状态等等;
列出所有处于监听状态的tcp端口:
netstat -lt
查看所有的端口信息, 包括 PID 和进程名称
netstat -tulpn
指定端口号的进程情况
netstat -tunlp|grep 8080
六、动态资源调度
查看服务器是否可用
ping 49.32.587.164
七、配置文件
vi
八、性能监控
Nmon:链接
iostat:链接
netstat:链接
top:
八、常用的docker容器的命令:
1、下载镜像
Linux服务器下载安装包镜像命令
wget https://mirrors.huaweicloud.com/elasticsearch/7.8.0/elasticsearch-7.8.0-windows-x86_64.zip
华为开源镜像站
https://mirrors.huaweicloud.com/
2、常用命令
#1、查看docker中下载好的镜像:
docker images
#2、查询需要的容器名称:
docker search mysql
#3、将需要的docker容器下载运行到本地(名称、端口号、msyql密码、ID):
docker run -di --name=first -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root 26d26dsfsd31a
#4、查看运行的docker容器:
docker ps
#5、查看所有的docker容器(包括未运行的):
docker ps -a
#6、停止当前运行的docker容器:
docker stop first
#7、启动docker容器:
docker start first
#8、重启docker容器:
docker restart first
#9、删除docker容器:
docker rm first
十、目录和文件操作
相对来说,用得比上面的命令要少
搜索命令
find / -name 'b' 查询根目录下(包括子目录),名以b的目录和文件;
find / -name 'b*' 查询根目录下(包括子目录),名以b开头的目录和文件;
find . -name 'b' 查询当前目录下(包括子目录),名以b的目录和文件;
创建目录
mkdir aaa 在当前目录下创建aaa目录,相对路径;
mkdir ./bbb 在当前目录下创建bbb目录,相对路径;
mkdir /ccc 在根目录下创建ccc目录,绝对路径;
递归创建目录(会创建里面没有的目录文件夹)
mkdir -p temp/nginx
重命名
mv 原先目录 文件的名称 mv tomcat001 tomcat
复制目录
cp -r /aaa /bbb 将/目录下的aaa目录复制到/bbb目录下,在/bbb目录下的名称为aaa
cp -r /aaa /bbb/aaa 将/目录下的aa目录复制到/bbb目录下,且修改名为aaa;
剪切命令(有目录剪切到制定目录下,没有的话剪切为指定目录)
mv /aaa /bbb 将根目录下的aaa目录,移动到bbb目录下(假如没有bbb目录,则重命名为bbb);
mv bbbb usr/bbb 将当前目录下的bbbb目录,移动到usr目录下,并且修改名称为bbb;
mv bbb usr/aaa 将当前目录下的bbbb目录,移动到usr目录下,并且修改名称为aaa;
查看树状目录结构
tree test01/
批量操作
需要采用 { } 进行参数的传入了。
mkdir {dirA,dirB} # 批量创建测试目录
touch dirA/{A1,A2,A3} # dirA创建三个文件dirA/A1,dirA/A2,dirA/A3
创建文件
touch testFile
grep(检索文件内容)
grep [options] pattern file