性能测试_LINUX命令篇

目录

 

一、性能测试相关命令

1、top查看系统统计信息

2、free查看内存信息

3、df命令

4、查看网络情况

二、系统管理命令

三、日常文档操作命令

1、查看或切换路径命令

2、vi 编辑器

3、echo  输出文字

4、wc     统计文件行数

5、find       找文件  

6、ln    链接

四、用户管理及权限管理命令

1、文件属性

2、添加权限

3、创建用户

五,压缩解压以及安装卸载等命令

1、压缩解压

 2、安装卸载 

六、环境部署命令

1、安装JDK


一、性能测试相关命令

 

1、top查看系统统计信息

top             --查看系统统计信息(默认2秒刷新一次)

top -d 5        --查看系统统计信息,刷新时间为5秒

top -n 2        --查看系统统计信息,刷新2次后退出

top -u apps     --查看apps用户的进程的系统统计信息

top -H -p pid   --查看pid进程的线程信息

cat /proc/cpuinfo | grep "physical id" | uniq |wc -l  查看cpu的个数

cat /proc/cpuinfo | grep "cpu cores"| uniq           查看cpu的核数

2、free查看内存信息

  free  -m     --查看内存使用情况                  权限目录的缓存  文件内容的缓存

             total       used       free     shared    buffers     cached

Mem:         64557      56612       7944         10        566      43292

-/+ buffers/cache:      12753      51803           

Swap:         4095          4       4091

3、df命令

  df -a           --查看文件系统下的磁盘详细使用信息

  df -h           --查看文件系统下的磁盘使用信息

  fdisk -l     

  iostat -x -k 10    查看磁盘IO的性能

                                   读次数  写次数  读KB      写KB                      等待         繁忙度

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util

sda               0.00     1.20    0.10    3.60     0.80    19.20    10.81     0.00    1.00   0.27   0.10

sdb               0.00     0.30    0.00    0.70     0.00     4.00    11.43     0.00    1.43   0.86   0.06

dm-0              0.00     0.00    0.00    4.80     0.00    19.20     8.00     0.00    0.88   0.08   0.04

dm-1              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00

dm-2              0.00     0.00    0.00    1.00     0.00     4.00     8.00     0.00    1.30   0.60   0.06

 

du              --查看磁盘或文件的使用情况

  du -k           --查看磁盘或文件的使用情况

  du -m           --查看磁盘或文件的使用情况

 

4、查看网络情况

ifconfig            --查询网卡和ip

ethtool  eth0       --查看网卡的速率

nmon监控

./nmon -fT -s 3 -c 100

ps netstat             --查找进程id、查找端口等

ps -ef|grep mysql      --根据进程名称查找pid

ps -aux|grep mysql     --根据进程名称查找pid

netstat -anp|grep pid  --根据pid查找监听的端口

   netstat -anp|grep 3306 --根据端口找进程

   ps -ef|grep pid        --根据pid找进程信息

   netstat -tunlp |grep 端口号,用于查看指定的端口号的进程情况

   netstat -ntl | grep 端口号  --查询监听的端口号

   ps –e | grep java

   ps –o nlwp 27989      --查看该进程内部有73个线程

   ps -eLo pid ,stat | grep 27989 | grep running | wc -l  ps -eLo pid ,stat  可以找出所有线程,并打印其所在的进程号和线程当前的状态;两个grep命令分别筛选进程号和线程状态

   ulimit -a      查看linux的最大连接数   open files  (-n) 655360

   netstat -nat|grep ESTABLISHED|wc -l     查询当前并发的连接数

   netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'  netstat命令查看并发连接数

 返回结果示例:

LAST_ACK 5   (正在等待处理的请求数)

SYN_RECV 30

ESTABLISHED 1597 (正常数据传输状态)

FIN_WAIT1 51

FIN_WAIT2 504

TIME_WAIT 1057 (处理完毕,等待超时结束的请求数)

状态:描述

CLOSED:无连接是活动的或正在进行

LISTEN:服务器在等待进入呼叫

SYN_RECV:一个连接请求已经到达,等待确认

SYN_SENT:应用已经开始,打开一个连接

ESTABLISHED:正常数据传输状态

FIN_WAIT1:应用说它已经完成

FIN_WAIT2:另一边已同意释放

ITMED_WAIT:等待所有分组死掉

CLOSING:两边同时尝试关闭

TIME_WAIT:另一边已初始化一个释放

LAST_ACK:等待所有分组死掉  

   jsp -ml          ---查看有Tomcat进程是多少

   jstack pid       ---查看进程的线程状态,比如锁lock、等待waiting等,可以具体到类。

tail -f 日志文件名   ---实时查看日志。

kill                  --杀进程

   yum install psmisc     --安装Killall命令

   killall java           --杀所有的java进程

   kill -9 pid            --杀指定进程id

tomcat启动

  ./startup.sh   --直接启动

  sh startup.sh  --sh

  nohup sh startup.sh & >/dev/null

ps -ef|grep tomcat   --按进程名称查进程

kill -9 pid          --杀进程

sudo sh startup.sh apps  --使用apps执行tomcat启动命令 

配置/etc/hosts

   127.0.0.1  www.publiccms.com   --配置hosts

安装:yum install httpd

查看:rpm -qa|grep mariadb

卸载:yum remove -y mariadb

配置代理

vi /etc/profile

export http_proxy=10.18.104.227:80

export https_proxy=10.18.104.227:80

export no_proxy=*.meicloud.com

 

export http_proxy=10.18.104.227:80

export https_proxy=10.18.104.227:80

export no_proxy="svn.midea.com,sonar.midea.com,signinuat.midea.com,ldapdatanh.midea.com"

修改文件属主

chown -R ba3.ba3 /apps/ba3/ba3_tomcat8_60081/logs/

 

二、系统管理命令

which  找某个命令所在位置

which ll

whoami   --显示我是谁   

who      --显示有哪些人链接着当前Linux服务器

su      --切换用户

 su - newdream --切换到newdream用户

 要返回到原用户,则使用exit命令

uname

uname -a   --查看内核版本号

uname -r   --查看内核版本号

        getconf LONG_BIT  --查看系统多少位

cat /etc/redhat-release  --查询系统版本

关机、重启

  poweroff        --关机

  shutdown -r now --立即关机

  reboot          --重启

  halt            --待机 

ifconfig   网络设置命令

   ifconfig -a  查看网络配置

重启网络服务

   service network restart

查看防火墙状态/etc/init.d/iptables status

停止防火墙/etc/init.d/iptables stop

service firewalld stop

systemctl stop firewalld.service

三、日常文档操作命令

1、查看或切换路径命令

pwd--查看当前路径

cd

cd /         --切换到根目录

cd ..        --切换到上一级目录

cd -         --相当于windows的后退

cd /home/    --使用绝对路径切换

cd ../a/     --切换到上一级目录下的a目录

cd ./a/      --切换到当前目录的a目录

ls/ll

ls           --显示当前的目录下的文件

ls -a        --显示所有文件,包括隐藏文件

  ls -l        --列表显示当前目录下的文件

  ls ./bin/    --显示当前bin目录下的文件

  ll ./bin/    --显示当前bin目录下的文件

通配符

*   --通配0个、1个、多个字符

?  --通配1个字符

touch

  touch  a.txt    --创建文件a.txt  

cp

  cp 1 2          --在当前目录下复制文件

  cp 1 /root/     --把1复制到/root/目录下

  cp *.txt /root/ --把当前目录下的txt文件复制到root下

  cp -r /root/ ./ --把root目录复制到当前目录

mv

  mv 1 2          --重命名

  mv 1 /root/1    --剪切

  mv * /root/     --剪切  

cat

cat a.txt       --显示当前文件的内容

cat ?.txt       --显示多个文件的内容

more

more a.txt      --显示a.txt文件的一屏,按空格键

                  则显示下一屏

more ?.txt      --显示多个文本文件的一屏,一个

                    显示完,则再显示下一个

more  

   more +10 LICENSE      --从第十行开始

   more LICENSE          --从第一行开始

   more +/责任 LICENSE   --

nl

    nl --help

    nl -ba LICENSE       --给所有的行编号

    nl -bt LICENSE       --给可打印行编号

    nl -bn LICENSE       --不编号

    nl -v 10 LICENSE     --文本行编号从10开始  

wc    

   ls -l|wc -l           --统计当前目录下有多少个文件

   cat LICENSE |wc -l    --统计LICENSE中有多少行文字

   cat LICENSE |wc -c    --统计LICENSE中有多少个字符  

   cat LICENSE |wc -w    --统计LICENSE中出现了多少个字

less

  less a.txt      --显示文件内容,可以使用上下

                    方向键上翻、下翻文件内容

head

  head -c 20 a.txt --显示a.txt文件前20个字符

  head -c 20 *.txt --显示所有txt文件前20个字符

  head -n 5 a.txt  --显示a.txt前5行

  head -n 5 *.txt  --显示所有txt文件的前5行

tail

  tail -c 20 a.txt --显示a.txt文件末尾20个字符

  tail -c 20 *.txt --显示各txt文件末尾20个字符

  tail -n 5 a.txt  --显示a.txt文件末尾5行

  tail -f a.txt    --显示a.txt文件,文件若一直

                     在写内容,则不停刷屏

rm

  rm 1         --删除1 这个文件,会弹出确认删除的提示文字

  rm -i 1      --同上

  rm -d aa     --删除空文件夹

  rm -r aa     --删除文件夹及内容

  rm -f 1      --删除文件不要显示提示

  rm -df aa    --删除空间夹不提示

  rm -rf aa    --删除文件夹不提示

mkdir          --创建文件夹

  mkdir aa     --创建一个空文件夹

  mkdir aa bb  --同时创建多个文件夹

  mkdir -p ./a/b --在当前目录下创建/a/b文件夹

rmdir

  rm aa bb    --删除文件夹

yum install -y lrzsz  //rz命令

上传文件:rz

2、vi 编辑器

  vi:  方向键 上下左右

  插入状态:esc键   i

  保存:esc键 :wq!

  不保存、退出vi编辑器:esc键  :q!

  不保存:  esc键 :q

  删除某行:esc键 连续敲2次字母d

  删除单词:esc键 dw

  删除部分字符:esc键 再敲击字母x

  撤销修改:esc键  u

  进入行有编号的模式:esc键  :set nu

  在该模式下,可以 esc键 :数字,快速切换到某行

  在vi编辑器模式中,使用ctrl+f键 可以往文档前翻

     使用使用ctrl+b键 可以往文档后翻

  替换:esc键 :%s/oldstring/newstring/g

  查找:esc键 /targetstring  按n找下一个

  查找:esc键 ?targetstring  按n找下一个

3、echo  输出文字

  echo hello    --打印hello文字

 > 、>>

  echo hello > a.txt    --把文字重定向到文件中

  echo hello2 >> a.txt  --在文件后追加文字

4、wc     统计文件行数

   wc -l a.txt     --统计文件有多少行

 |    管道

   ls -l|wc -l     --统计当前目录下有多少文件    

 grep    过滤,在文件中找某关键字

    grep hello *   --在当前目录下所有文件中找hello

5、find       找文件  

   find / -name a.txt   --找文件

   find / -size +50M    --找50m以上大小的文件

   find 查找

   find / -name *java*   --查找包含java的文件、文件夹

   find / -size +10M     --查找大于10M的文件

   find / -atime 2       --查找2天前访问过的文件

   find / -ctime 10      --查找10天前修改过的文件

6、ln    链接

   ln -s /lib64/libacl.so.1 libacl.so.1 --给文件创建一个软链接

   rm -f libacl.so.1  --删除软连接

   ln -s mysql5.7 mysql   --创建文件夹的软连接

   rm -rf mysql           --删除该软连接

 

四、用户管理及权限管理命令

1、文件属性

-rw-r--r--. 1 root     root      195 Jan 18 06:16 test.txt

1.

   -:为减号,则表示是文件;

   d:为字母d,则表示是文件夹;

   l:为字母l,则表示是动态链接库文件;

2.owner、属主 u

 rw- :r:读权限,表示此处有读权限;

       w:写权限,表示此处有写权限;

       -:执行权限,表示此处无执行权限;

 r--:组权限 g

      r:读权限,表示此处有读权限;

      -:写权限,表示此处无写权限;

      -:执行权限,表示此处无执行权限;

 r--:其他组的权限 o

      r:读权限,表示此处有读权限;

      -:写权限,表示此处无写权限;

      -:执行权限,表示此处无执行权限;

3.第一个root:表示属主

4.第二个root:表示组名

2、添加权限

   chmod u+x test.txt   --给文件属主加执行权限

   chmod u-x test.txt   --去掉文件属主的执行权限

 chmod g+x test.txt   --给同组用户加执行权限

 chmod o+x test.txt   --给其他组用户加执行权限        

 chmod g+rwx test.txt --给同组用户加读写执行权限

 chmod +x  test.txt   --给文件加执行权限  

 chmod 700 test.txt   --给文件属主加全部权限

 chmod 777 test.txt   --文件属主、同组、不同组用户拥有全部权限

 chmod 111 test.txt   --给文件加执行权限  

 chmod o-r cc         --收回其他组的用户读权限                     

 chmod -r 700 cc      --给cc文件夹及其子文件、文件夹授予700权限

chown 更改文件属主

   chown newdream a.txt  --更改文件a.txt的属主,改成newdream  

   chown newdream:newdream a.txt

   chown -R newdream:newdream cc --

chgrp 更改文件的组

   chgrp root c.txt    --更改c.txt文件的组为root

   chgrp -r root cc    --更改cc文件夹及其内部文件、文件夹的组改成root

3、创建用户

8.useradd 创建用户

  useradd test   --创建用户test

  passwd test    --修改test用户的密码

 

五,压缩解压以及安装卸载等命令

1、压缩解压

   zip  a.txt

   unzip  a.zip

15.tar   打包、解包

   tar -cvf a.tar a.txt b.txt  --对文件打包

   tar -cvf c.tar c            --对文件夹打包

   tar -cvf c.tar c a.txt b.txt --对文件文件夹打包

   tar -xvf a.tar    --解包

   tar -zcvf T82.tar.Z T82  --压缩打包

   tar -zxvf T82.tar.Z      --解压解包

16 gzip 压缩、解压

   gzip -cvf T82.tar > T82.tar.gz  --包的压缩

   gzip -d T82.tar.gz              --解压 

17.bzip2              压缩   

   bzip2 T82.tar       --对包进行压缩

   bzip2 -d T82.tar.bz2 --解压缩   

18.rpm   

 rpm -ivh libaio-0.3.107-10.el6.x86_64.rpm  --安装

   rpm -e libaio-0.3.107-10.el6.x86_64.rpm    --卸载

 2、安装卸载 

20.rpm安装mysql:

  rpm -ivh mysql-community-common-5.7.21-1.el7.x86_64.rpm

  rpm -ivh mysql-community-common-5.7.21-1.el7.x86_64.rpm --nodeps   忽略依赖强制安装  

21.编译安装mysql

https://www.cnblogs.com/ityunv/p/5909485.html

https://www.cnblogs.com/sqbk/p/5922921.html

https://www.cnblogs.com/chunguang/p/5553301.html

https://yq.aliyun.com/articles/45742

yum install -y gcc

yum install -y gcc-c++

yum install make

yum install boost

yum install ncurses-devel

yum install bison

   time cmake . -DCMAKE_INSTALL_PREFIX=/apps/software/mysql5.7.20 -DMYSQL_DATADIR=/apps/software/mysql5.7.20/data -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR==/apps/software/mysql5.7.20/mysql.sock -DMYSQL_USER=mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost

make & make install

启动mysql服务 service mysqld start

第二种方法:systemctl start mysql.service

第三种方法:systemctl enable mysql.service

   ./mysqld --initialize --explicit_defaults_for_timestamp --user=apps --basedir=/apps/software/mysql5.7.20/ --datadir=/apps/software/mysql5.7.20/data

   2018-01-19T13:18:15.256856Z 1 [Note] A temporary password is generated for root@localhost: aflr1hE.RJ4D

   重启网络服务

   service network restart

1.rpm卸载

  a.先查看安装了哪些rpm包,如:rpm -qa |grep -i mysql

  b.rpm -e xxxxx

  c.yum remove xxx

2.rpm安装mysql

  rpm -ivh mysql-community-common-5.7.21-1.el7.x86_64.rpm

  rpm -ivh mysql-community-libs-5.7.21-1.el7.x86_64.rpm

  rpm -ivh mysql-community-client-5.7.21-1.el7.x86_64.rpm

  rpm -ivh mysql-community-server-5.7.21-1.el7.x86_64.rpm

  启动mysql:service mysqld start

  set global validate_password_policy=0;--关闭密码复杂度检查策略

  set global validate_password_length=1;--降低密码长度限制

  select version(), @@sql_mode;

SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

3.安装apache httpd

1、下载: wget http://archive.apache.org/dist/httpd/httpd-2.4.39.tar.gz

2、安装apr: yum install apr apr-util

3、安装apr-devel: yum install apr-devel apr-util-devel -y

4、解压tar:tar xzf httpd-2.4.39.tar.gz

5、预编译:./configure --prefix=/usr/local/apache2

6、编译:make

7、编译安装:make install

8、启动:./bin/apachectl start

4.安装PHP:

   yum install -y gcc glibc   --安装gcc等;

   yum install libxml2

   yum install libxml2-devel -y

   ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --enable-mbstring --enable-xml

5.mount命令

   mount /dev/cdrom /mnt/cdrom --挂载cdrom

   umount /mnt/cdrom  --卸载cdrom

六、环境部署命令

1、安装JDK

1、官网下载地址:

http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html

  1. 上传jdk:直接输入rz命令,选择jkd上传
  2. 解压:tar -zxvf  jdk-8u66-linux-x64.tar.gz
  3. 环境变量配置

修改/etc/profile文件,执行命令:vi/etc/profile

export JAVA_HOME=/usr/local/software/jdk1.8.0_66

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$JAVA_HOME/bin:$PATH

执行命令:source /etc/profile     刷新环境变量

执行java -version 在Red Hat中执行时报错:/lib64/libc.so.6: version `GLIBC_2.14' not found

解决方法:

  1. 查看系统glibc支持的版本:strings /lib64/libc.so.6 | grep GLIBC
  2. 查看系统已安装的glibc :rpm -qa | grep glibc

下载glibc-2.14.tar.gz来解决这个问题
wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.xz  

tar -Jxvf glibc-2.14.tar.xz  

cd glibc-2.14  

mkdir build  

cd build/  

../configure --prefix=/opt/glibc-2.14  

make -j4  

make install  

export LD_LIBRARY_PATH=/opt/glibc-2.14/lib:$LD_LIBRARY_PATH 

 

清除变量unset  LD_LIBRARY_PATH

猜你喜欢

转载自blog.csdn.net/weixin_46285621/article/details/113104817
今日推荐