目录
一、性能测试相关命令
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
- 上传jdk:直接输入rz命令,选择jkd上传
- 解压:tar -zxvf jdk-8u66-linux-x64.tar.gz
- 环境变量配置
修改/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
解决方法:
- 查看系统glibc支持的版本:strings /lib64/libc.so.6 | grep GLIBC
- 查看系统已安装的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