linux常用命令
- 1、查看linux资源信息
- 2、CentOs7关闭防火墙的命令
- 3、远程文件拷贝scp命令
- 4、网络连接设置
- 5、通过进程名称关闭进程
- 6、查看端口是否被占用
- 7、时区修改
- 8、系统时间设置
- 9、linux安装依赖包方法
- 10、linux上打包和解压
- 11、用户和用户组设置为tomcat
- 12、linux查找命令
- 13、移动文件或重命名
- 14、查看日志命令
- 15、文件权限授权
- 16、系统设置外网代理
- 17、yum设置代理
- 18、yum源配置
- 19、yum安装命令
- 20、linux查找文件
- 21、linux文件夹打包命令
- 22、清空大文件方法
- 23、查看进程总数
- 24、grep命令
- 25、查询文件大小
- 26、rpm下载网站
- 27、查看端口连接数
- 28.查看java进程数
- 29、定时任务
1、查看linux资源信息
1)查看网卡信息(百兆、千兆、万兆)
ifconfig -a
查看网卡速度
ethtool eth1 这里的Speed即网卡速度
2)查看CPU信息
cat /proc/cpuinfo
processor是逻辑核,显示15则是16核
查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq
查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l
查看CPU信息(型号):model name
总核数 = 物理CPU个数(physical id) X 每颗物理CPU的核数(cpu cores)
总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数
直接获得CPU核心数(该命令即可全部算出多少核)
grep 'model name' /proc/cpuinfo | wc -l
3)查看内存
cat /proc/meminfo
4)查看硬盘
df -lh
检查是否是固态硬盘:cat /sys/block/sda/queue/rotational,返回 0, 就是 SSD。固态硬盘(Solid State Disk) ,容量小最大4T,所以大数据基本还是得使用非固态硬盘;返回 1, 就是 HDD,非固态硬盘
5)查看系统信息
查看系统版本:cat /etc/issue 或 cat /etc/redhat-release 或 cat /proc/version 或 more /etc/redhat-release
列出所有版本信息:lsb_release -a
查看Linux系统架构的命令:uname -a。通过该命令可以判断liunx系统是否是arm架构。
arm架构示例:
[root@arm-server93 ~]# uname -a
Linux arm-server93 4.14.0-115.el7a.0.1.aarch64 #1 SMP Sun Nov 25 20:54:21 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux
非arm架构示例:
[root@localhost ~]# uname -a
Linux localhost.localdomain 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
6)查看linux的IO情况
iostat -x -m -t 3
2、CentOs7关闭防火墙的命令
1)查看防火墙状态
systemctl status firewalld
service iptables status
2)暂时关闭防火墙
systemctl stop firewalld
service iptables stop
3)永久关闭防火墙
systemctl disable firewalld
chkconfig iptables off
4)重启防火墙
systemctl enable firewalld
service iptables restart
5)暂时开启防火墙,重启后失效
systemctl start firewalld
service iptables start
6)永久关闭后重启
chkconfig iptables on
3、远程文件拷贝scp命令
scp -r nmon root@IP:端口:/usr/bin
场景:
多台服务器同时上传文件
场景:
多台服务器下载文件
获取远程服务器上的目录
scp -P 22 -r root@192.168.7.126:/tomcat6_node_ftp(远程机子的目录)/ /tomcat/(本机目录,没有会自动创建)
例:在192.168.5.252服务器上拷贝服务器192.168.5.251的/opt/jiangmy/目录
获取远程服务器上的文件
scp -P 22 -r root@192.168.7.126:/tomcat6_node_ftp/tomcat.tar.gz /tomcat/tomcat.tar.gz
4、网络连接设置
/etc/sysconfig/network-scripts/ 改完,执行service network restart
5、通过进程名称关闭进程
xshell5同时执行命令,选择全部会话,在输入框输入命令即可
通过进程名关闭进程
kill -9 $(pidof 进程名关键字) 例:kill -9 $(pidof nmon)
6、查看端口是否被占用
查询端口是否被占用:ss -lntpd | grep :8080 或 lsof -i:8080 或 netstat -an | grep 8080
7、时区修改
输入tzselect回车,然后按选择输入数字如5回车
最后会提示
将红色圈圈的拷贝出来执行下
8、系统时间设置
1) 查看时间和日期
命令 : "date"
2)设置时间和日期
例如:将系统日期设定成2009年11月3日的命令
命令 : "date -s 11/03/2009"
例如:将系统时间设定成下午5点55分55秒的命令
命令 : "date -s 17:55:55"
同时修改日期和时间
date -s "2012-05-18 04:53:00"
3)将当前时间和日期写入BIOS,避免重启后失效
命令 : "hwclock -w"
9、linux安装依赖包方法
先将安装包镜像到/media,如下命令:
[root@localhost ~]# mkdir /media/
系统默认为CentOS,若系统为Redhat,则安装包使用redhat。
[root@localhost ~]# mount -o loop /usr/CentOS-6.3-x86_64-bin-DVD1.iso /media //-o 是mount命令的一个参数,Options的首字母, loop:用来把一个文件当成硬盘分区mount到目录
[root@localhost ~]# cd /media/Packages/
举例:检查系统iso安装包内是否存在名称包含compat-libcap1*的依赖包:
[root@localhost Packages]# ls compat-libcap1*
安装缺少的依赖包,例如提示缺少compat-libcap1 compat-libstdc++-33 libaio-devel unixODBC unixODBC-devel这5个包,则执行以下命令安装:
rpm -ivh compat-libcap1-1.10-1.x86_64.rpm
rpm -ivh compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm
rpm -ivh libaio-devel-0.3.107-10.el6.x86_64.rpm
rpm -ivh unixODBC-2.2.14-11.el6.x86_64.rpm
rpm -ivh unixODBC-devel-2.2.14-11.el6.x86_64.rpm
卸载依赖包的方法
rpm -e --nodeps libstdc++-4.4.7-4.el6.x86_64
查询已经安装了哪些包:rpm -qa
查询指定软件包是否已经安装rpm -q 软件包名
升级一个软件包:rpm -Uvh 软件包名
安装软件包并显示安装进度:rpm -ivh 软件包名
10、linux上打包和解压
tar打包命令:tar -cvf 打包后的文件名 打包目标,例:tar -cvf html.tar html
tar -zcvf 压缩包名称命名 文件夹路径
例:tar -zcvf apache-tomcat-8.5.31-qz-bksq-7030-bak-220803.tar apache-tomcat-8.5.31-qz-bksq-7030
解压war的文件:jar -xvf
jar -xvf ISS20.war.20160607 -C ./ISS20
解压tar文件:tar -zxvf
11、用户和用户组设置为tomcat
chown -R tomcat:tomcat u01
12、linux查找命令
find:
find <指定目录> <指定条件> <指定动作>
find . -name 'reportng'
13、移动文件或重命名
mv 文件夹 /文件路径/ 结尾有斜杠代表是移动,结尾没有斜杠就是重命名
删除文件:rm -rf
14、查看日志命令
tail -n200 -f /qishon/log/ISS/iss.log查看日志
tail -f /qishon/log/ISS20/iss.log
tail -f -n 1000 iss.log | grep -B 1 API_COME --color=auto
tail -f fbi.log | grep "2016-07-07 18:” --color=auto
cat /qishon/log/ISS20/iss.log
sed -n '/2016-04-12 9:17:20/,/2016-04-13 10:17:36/p' /qishon/log/ISS20/iss.log
grep '2016-04-12 16:17:20' /qishon/log/ISS20/iss.log 来确定日志中是否有该时间
head -n 1000 /qishon/log/ISS20/iss.log 查询日志文件中的头1000行日志
head -n -100000 /qishon/log/ISS20/iss.log 查询日志文件除了最后1000行的其他所有日志;
vim /qishon/log/ISS/iss.log 修改日志 输入 / 可用于查找 shift+G可以跳出最新的
15、文件权限授权
读、写、运行三项权限可以用数字表示,就是r=4,w=2,x=1。所以,上面的例子中的rw-r--r--用数字表示成644。
反过来说777就是rwxrwxrwx,意思是该登录用户(可以用命令id查看)、他所在的组和其他人都有最高权限。
chmod 777 授权所有
16、系统设置外网代理
编辑文件 vim /etc/profile
export http_proxy=http://192.168.150.200:3128/
export https_proxy=http://192.168.150.200:3128/
文件生效
source /etc/profile
取消代理:
unset http_proxy
unset https_proxy
17、yum设置代理
vi /etc/yum.conf
在后面添加以下内容(ip号+端口后无认证连接)
proxy=http://192.168.150.200:3128
测试yum源代理配置成功,输入命令"yum list",如正确获取yum数据即配置yum源成功。
18、yum源配置
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
19、yum安装命令
yum -y install compat-libstdc*
yum下载软件包命令:
yum install --downloaddir=/opt/ --downloadonly httpd-tools
20、linux查找文件
find / -name dm0B035685.key
21、linux文件夹打包命令
tar -czf small.tar.gz small(目录名) ;
22、清空大文件方法
echo "" > access.log
23、查看进程总数
ps -eLf|wc -l
查看服务进程号:ps -ef|grep bs-reaper(服务名)
查看服务当前线程数:ps -p bs-reaper的pid -Lf|wc -l
24、grep命令
1)grep的AND,多条件的与查询。
grep '2021-09-17 00:16' /opt/etl-dev/mist/etl/logs/catalina.out | grep 'ERROR'
2)grep的OR,多条件的或查询。
grep '2021-09-17 00:16|ERROR' /opt/etl-dev/mist/etl/logs/catalina.out
3)grep的NOT,非查询
grep 'ERROR' /opt/etl-dev/mist/etl/logs/catalina.out
25、查询文件大小
du -sh catalina.out
26、rpm下载网站
27、查看端口连接数
netstat -nat | grep -iw "9090" | wc -l
监控java线程数:
ps -eLf | grep java | wc -l
监控网络客户连接数:
netstat -n | grep tcp | grep 侦听端口 | wc -l
28.查看java进程数
查看Java进程数
ps -eLf | grep java | wc -l
查看系统允许的最大进程数,没有改默认一般都是32786
cat /proc/sys/kernel/pid_max
查看你的系统当前进程数(是否接近32768)
ps -eLf | wc -l
29、定时任务
at定时
at 11:08am
ctrl+d结束命令输入
atq 查询是否有任务
删除任务
at -d 3 #删除3号任务(上例)
atrm 任务ID
参考文档:https://www.cnblogs.com/outrun/p/17709161.html
crontab定时
vi /etc/crontab
第一个位置:分钟(0-59)
第二个位置:小时(0-23)
第三个位置:天(1-31)
第四个位置:月(1-12)
第五个位置:星期(0-6)
第六个位置:用户名
第七个位置:需要定时执行的脚本或者命令
16:11 执行shell脚本命令 必须写/bin/bash 直接写sh会识别不到命令
11 16 * * * root /bin/bash /home/jmy/Jtest.sh
在crontab中%是有特殊含义的,表示换行的意思。如果要用的话必须进行转义%,如经常用的date '+%Y%m%d'在crontab里是不会执行的,应该换成date '+%Y%m%d'。
参考文档:https://www.php.cn/faq/538556.html
30、tomcat部署更新
停止tomcat
systemctl stop tomcat
删除旧的部署包
rm -rf 文件夹名称和war包名称
上传新的部署包
rz 回车
上传成功后启动tomcat
systemctl start tomcat
tomcat重启命令
systemctl restart tomcat