linux常用命令

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下载网站

http://rpm.pbone.net/

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

posted on 2021-12-06 14:05  seamy  阅读(125)  评论(0编辑  收藏  举报