Linux命令全解( 七 )


  • 在CentOS7.0之后,不再使用service,而是systemctl,被service管理的服务主要是/etc/init.d下的服务
    service network stop--停止网络服务service networkstart--启动网络服务
  • 查看防火墙情况:
    • service iptables status
    • systemctl status firewalld(7.0之后的版本)
  • 测试某个端口是否在监听:telnet
  • 查看服务名:
    • 方式1:使用setup->系统服务就可以看到
      前面带*的为自启动的 , 光标停在上面按空格可以取消自启动按tab退出
    • 方式2:/etc/init.d/服务名称ls-l /etc/init.d--查看init.d下的服务名称
  • 服务的运行级别(runlevel):
    Linux命令全解

    文章插图
    • 查看或修改默认级别:systemctl get-default --查看当前服务级别systemctl set-default multi-user. target
      vim /etc/inittab
    • 每个服务对应的每个运行级别都可以设置
  • 如果不小心将默认的运行级别设置成0或者6 , 怎么处理?
    • 进入单用户模式,修改成正常的即可 。
  • chkconfig:可以给每个服务的各个运行级别设置自启动/关闭 ---不适用于Ubuntu系统可用 sudo apt-get install sysv-rc-conf
    • 查看xxx服务:chkconfig –list | grep xxx
    • 查看服务的状态:chkconfig 服务名 --list
    • 给服务的运行级别设置自启动:chkconfig –level 5 服务名 on/off
    • 要所有运行级别关闭或开启:chkconfig 服务名 on/off
  • 应用实例查看防火墙状况,关闭和重启防火墙
    • systemctl status firewalldubuntu下 ufw status
    wsl2里面没有 systemd 命令,我们需要用 sudo /etc/init.d/docker start 代替 sudo systemctl start docker
    • systemctl stop firewalldsystemctl start firewalld临时生效
    • systemctl is-enabled firewalld--判断是否是自启动systemcal disable firewalld--设置为开机不自启动
      注:上面两个命令对于Centos 7 以后的系统的3和5运行级别同时生效
  • firewall指令
    • firewall-cmd --permanent --add-port=111/tcp--在防火墙中开放端口111打开后需 firewall-cmd --reload
    • firewall-cmd --permanent --remove-port=111/tcp --在防火墙中关闭端口111reload
    • firewall-cmd --permanent --query-port=111/tcp ---查询端口是否开放
  • 动态监控进程
    • top [选项]
    • top和ps命令很相似 。它们都用来显示正在执行的进程 。top和ps最大的不同之处在于top在执行一段时间可以更新正在运行的进程 。
    • -d 秒数:指定top命令每隔几秒更新 。默认是3秒 。
    • -i:使top不显示任何闲置或者僵死进程 。
    • -p:通过指定监控进程ID来仅仅监控某个进程的状态 。
    • 案例1:监控特定用户:top查看进程;u输入用户名 。
      top ;u ; 输入用户: Tom
    • 案例2:终止指定的进程:top查看进程;k输入要结束的进程 。
    • 案例3:指定系统状态更新的时间(每隔10秒自动更新,默认是3秒):top -d 10
    • 交互操作说明:
      • P:以CPU使用率排序,默认就是此项
      • M:以内存的使用率排序
      • N:以PID排序
      • q:退出top
  • 监控网络状态
    • netstat [选项]
    • -an:按一定顺序排列输出
    • -p:显示哪个进程在调用
  • RPM
    • RPM:RedHat Package Manager,红帽软件包管理工具 。
    • RPM查询已安装的rpm列表:rpm -qa | grep xx
      示例:查看当前系统是否安装Firefox:rpm -qa | grep firefox
    • rpm包的其它查询指令:
      • rpm -qa:查询所安装的所有rpm软件包
      • rpm -qa | more
      • rpm -qa | grep xx
      • rpm -q xx:查询xx软件包是否安装
      • rpm -qi xx:查询软件包信息
      • rpm -ql xx:查询软件包中的文件
      • rpm -qf 文件全路径名:查询文件所属的软件包
    • 卸载rpm包:rpm -e 软件包名称强制删除 rpm -e --nodepsfoo
    • 删除时可能会发生依赖错误,忽视依赖强制删除的方法:rpm -e --nodeps 软件包名称
    • 安装rpm包:rpm -ivh 软件包全路径名称
      • i=install:安装
      • v=verbose:提示
      • h=hash:进度条
    YUM