简述
部署服务与维护相关功能的时候,经常使用的命令。
 本文主要针对CentOS 7.6版本
文件操作
# 显示文件系统的磁盘空间使用情况
df -h
 
全局查找文件
find / -type f -iname "java"
find / -name 'libncurses*'
 
拷贝整个文件夹
cp -r /home/a/ /home/b/ 
 
解压,撤销解压
撤销zip解压
zipinfo -1 path/xx.zip | xargs rm -rf
撤销tar解压
tar -tf xx.tar | xargs rm -rf
 
 
创建软连接(快捷方式)
创建一个软连接
 将/data/logs文件夹,创建一个快捷方式到/logs中,从此存放在/logs的文件,真实的存储地址是/data/logs
ln -s /data/logs /
 
查看软连接
 因为logs在/目录下进行的软连接,故这样查看
ls -l /
 
删除软连接
rm /logs
 
查看实时日志
tail -f log_info.log
 
查找日志文件
cat log_info.log | grep -C 10 '名称'
 
系统
查看系统内核
less /proc/version
uname -a
# 只查看发行版信息
lsb_release -a
 
查看系统版本
# 检查当前 CentOS 系统版本
cat /etc/redhat-release
# 检查当前 CentOS 系统内核版本
uname -sr
 
配置相关
# 查看硬盘文件系统
df -h
# cpu信息
cat /proc/cpuinfo
# cpu型号
cat /proc/cpuinfo | grep name | sort | uniq
# CPU 的配置
lscpu
得到如下结果:
  Architecture:          x86_64
  CPU op-mode(s):        32-bit, 64-bit
  Byte Order:            Little Endian
  CPU(s):                4
  On-line CPU(s) list:   0-3
  Thread(s) per core:    2
  Core(s) per socket:    2
  Socket(s):   					 2
  
  2个cpu(Core(s) per socket)
  4个CPU核心(CPU(s):)
  支持超线程(Thread(s) per core)
# 直接查看总核心数
nproc --all
# 内存总数
grep MemTotal /proc/meminfo
# 可用内存
grep MemFree /proc/meminfo
# 查看磁盘分区
sudo fdisk -l
# chakan
# 查看内核
uname -r
 
网络配置
# 查看所有的端口
netstat -aptn
# 查看端口是否被占用
lsof -i:3306
 
防火墙
1、开启防火墙 
systemctl start firewalld
2、开放指定端口
firewall-cmd --zone=public --add-port=9000/tcp --permanent
 命令含义:
--zone #作用域
--add-port=1935/tcp  #添加端口,格式为:端口/通讯协议
--permanent  #永久生效,没有此参数重启后失效
3、重启防火墙
firewall-cmd --reload
4、查看端口号
netstat -ntlp   //查看当前所有tcp端口·
netstat -ntulp |grep 1935   //查看所有1935端口使用情况·
 
永久关闭防火墙
查看防火墙状态
systemctl status firewalld.service
 
关闭防火墙
systemctl stop firewalld.service
 
开机禁用防火墙自启命令
 systemctl stop firewalld.service
 
rpm
查看rpm包的版本
yum list|grep glibc-common
rpm -qa|grep
 
开关机
# 重启机器
reboot
1、halt 立刻关机(不管用,最好不要使用)
2、poweroff 立刻关机
3、shutdown -h now 立刻关机(root用户使用)
4、shutdown -h 10 10分钟后自动关机 如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启
 
端口
查看端口
lsof -i:9808
netstat -anl | grep "18083"
yum install lsof -y
 
查看所有端口占用情况
netstat -ntlp
 
sudo yum install net-tools
 
请求
curl "http://127.0.0.1:9000"
 
带有请求头的
curl -X POST "http://127.0.0.1:9800/auth/login?password=111&username=111" -H "accept: */*" -H "Authorization: 123"
 
硬盘挂载
查看磁盘分区
sudo fdisk -l
 
挂载硬盘
 这里”/dev/sdb1″是要挂载的设备,”/mnt/data”是挂载点。
mount /dev/sdb1 /mnt/data
 
卸载硬盘
umount /mnt/data
 
查看文件夹中存储大小
du -h --max-depth=1 /logs | sort -hr | head
 
自动挂载
/dev/sdb1  /data/one  NTFS  defaults  0  0
/dev/sdb2  /data/two  NTFS  defaults  0  0
 
开机启动
rc.local
vi /etc/rc.d/rc.local
 
查看执行权限
ls -l /etc/rc.d/rc.local
 
添加执行权限
chmod +x /etc/rc.d/rc.local
 
systemctl
在/usr/lib/systemd/system 下创建nacos.service文件并输入一下内容,保存退出
普通的脚本内容
[Unit]
Description=fir-home
After=network.target
[Service]
WorkingDirectory=/fir/home/
Type=forking
ExecStart=/bin/bash ./start.sh
PrivateTmp=true
[Install]
WantedBy=multi-user.target
 
添加执行权限
chmod +x 
cd /lib/systemd/system
检查服务的状态
systemctl status fir-home.service
查看服务的日志
sudo journalctl -u fir-home.service
# 重新加载所有service服务
systemctl daemon-reload
# 开机启动nacos.service
systemctl enable fir-home.service
# 查看该service是否开机启用
systemctl is-enabled fir-home.service
# 启动该服务
systemctl start fir-home.service
# 查看该服务状态
systemctl status fir-home.service
 
自动重启
[Unit]
Description=fir-home
After=network.target
[Service]
WorkingDirectory=/fir/home/
Type=forking
Restart=always
RestartSec=5
StartLimitInterval=0
StartLimitIntervalSec=0
StartLimitBurst=5
ExecStart=/bin/bash ./start.sh
PrivateTmp=true
[Install]
WantedBy=multi-user.target
 
Restart=always:
 只要不是通过systemctl stop来停止服务,任何情况下都必须要重启服务,默认值为no
 RestartSec=5:
 重启间隔,比如某次异常后,等待5(s)再进行启动,默认值0.1(s)
 StartLimitInterval:
 无限次重启,默认是10秒内如果重启超过5次则不再重启,设置为0表示不限次数重启
默认情况下,一个服务在10秒内最多允许启动5次。当超过5次后,会报如下错误
Job for xx.service failed because start of the service was attempted too often. See "systemctl status xxx.service" and "journalctl -xe" for details.
To force a start use "systemctl reset-failed xxx.service" followed by "systemctl start xxx.service" again.
 
StartLimitIntervalSec:
 设置单元的启动频率限制。用于设置时长, 默认为10秒,设为 0 表示不作限制。
 StartLimitBurst:
 用于设置在一段给定的时长内(StartLimitBurst),最多允许启动多少次, 默认为5次。 虽然此选项通常与 Restart一起使用, 但实际上,此选项作用于任何方式的启动(包括手动启动), 而不仅仅是由 Restart 触发的启动。