一、搭建测试环境的时候,我会用到  tar-zcvf去压缩、tar-zxvf去解压、rpm,yum等相关命令来安装mysql和 jar包;

二、同样的,我们可以使用java-jar命令来启动项目;

三、在整个测试过程中,可以使用 tail命令来查看 log日志

一、安装和压缩命令

1、tar命令

linux gpu 压测工具_linux gpu 压测工具

压缩(-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