Linux杂项常用命令

# 系统服务

# systemctl

systemctl (参数) (服务名)

## 启动http服务
systemctl start httpd.service

## 设置开机自启动
systemctl enable httpd.service

## 停止http服务
systemctl stop httpd.service

## 查看服务当前状态
systemctl status httpd.service

##列出所有运行的服务单位,即状态是active的
systemctl list-units --all --state=active --type=service
1
2
3
4
5
6
7
8
9
10
11
12
13
14

# service

service (服务名) (参数)

  • 服务名:自动要控制的服务名,即/etc/init.d目录下的脚本文件名;

  • 控制命令:系统服务脚本支持的控制命令。

## 启动network服务
service network start

## 停止network服务
service network stop

## 重启network服务
service network restart

## 查看服务当前状态
service network status
1
2
3
4
5
6
7
8
9
10
11

# 防火墙

# 启动、禁用、重置命令,查看状态

# 启动
sudo ufw enable
# 禁用
sudo ufw disable 
# 重置
sudo ufw reset
# 状态
sudo ufw status
# 按编号显示
sudo ufw status numbered
1
2
3
4
5
6
7
8
9
10
# 启动
systemctl start firewalld
# 状态
systemctl status firewalld
# firewall-cmd #state
# 停止
systemctl disable firewalld
# 禁用
systemctl stop firewalld
# 更新防火墙
firewall-cmd --reload
# 查看所有打开的端口/服务
firewall-cmd --list-ports
firewall-cmd --list-services
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 启动
#/etc/init.d/iptables start 
service iptables start
# 停止
# /etc/init.d/iptables stop
service iptables stop
# 重启
# /etc/init.d/iptables restart
service iptables restart
# 保存设置
#/etc/init.d/iptables save
service iptables save
# 查看iptables的配置信息
iptables -L -n
1
2
3
4
5
6
7
8
9
10
11
12
13
14

# 允许、禁止、删除配置命令

# 允许80端口
sudo ufw allow 80
sudo ufw allow http
# 允许范围端口
sudo ufw allow 1000:2000/tcp
# 允许特定IP特定端口的连接
sudo ufw allow from 111.111.111.111 to any port 22
# 拒绝http连接
sudo ufw deny http
# 拒绝特定IP连接
sudo ufw deny from 111.111.111.111
# 按编号显示
sudo ufw status numbered
# 按规则编号删除防火墙规则
sudo ufw delete [numbered]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 开启80端口
firewall-cmd--zone=public--add-port=80/tcp --permanent 
# 删除80端口
firewall-cmd--zone=public--remove-port=80/tcp --permanent
# 允许SSH服务通过
firewall-cmd --new-service=ssh
# 禁止SSH服务通过
firewall-cmd --delete-service=ssh
# # 将80端口的流量转发至8080
firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080 
1
2
3
4
5
6
7
8
9
10
# 开启80端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# 屏蔽单个IP的命令
iptables -I INPUT -s 123.45.6.7 -j DROP    
# 把访问本机 8091 端口的请求转发到8090端口
$ iptables -t nat -A PREROUTING -p tcp --dport 8091 -j REDIRECT --to-ports 8090 
# 允许所有本机向外的访问
iptables -A OUTPUT -j ACCEPT    
# 禁止其他未允许的规则访问
iptables -A INPUT -j reject  
# 只允许192.168.0.3的机器进行SSH连接
iptables -A INPUT -s 192.168.0.3 -p tcp --dport 22 -j ACCEPT
# 显示规则编号
iptables -L -n --line-number
# 删除规则
iptables -D INPUT [numbered]
# 清空 filter表INPUT所有规则  
iptables -F INPUT
# 清空所有规则  
iptables -F
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

# crontab命令

# 检查、安装命令

# 检查Cronta工具是否安装:
crontab -l
# 执行命令手动安装(ubuntu):
apt-get install cron
# 执行命令手动安装(Centos):
yum install -y crontabs
1
2
3
4
5
6

# 查看、编辑、删除当前用户的定时任务

# 查看:
crontab -l
# 编辑:
crontab -e
# 编辑完之后需要重启cron来激活之前的修改:
service cron restart
# 或者重启命令
systemctl restart crond
# 删除:
crontab -r
1
2
3
4
5
6
7
8
9
10

# 配置说明

crontab在线工具 (opens new window)

# .---------------- 分钟,取值范围为 0-59
# |  .------------- 小时,取值范围为 0-23
# |  |  .---------- 日,取值范围为 1-31
# |  |  |  .------- 月,取值范围为 1-12
# |  |  |  |  .---- 星期,取值范围为 0-7,0 和 7 都表示星期日
# |  |  |  |  |      .-- 要执行的命令
# |  |  |  |  |      |
  0  19 *  *  * bash /root/test.sh
1
2
3
4
5
6
7
8