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
    // Make sure to add code blocks to your code group

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

      # 允许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
      // Make sure to add code blocks to your code group

      # 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