系统状态管理

系统状态一些命令,算是复习一次,以后遇到问题可以直接查看linux命令文档或者man

查看系统信息

日期时间

  1. 查看日期
    date
  2. 查看日历
    cal
  3. 查看系统启动的时间
    uptime
  4. 查看用户登陆情况,负载等信息
    w

系统版本

  1. 查看红帽系列的版本
    cat /etc/redhat-release
  2. 查看内核版本
    uname -a
  3. 查看内核版本和系统版本
    cat /proc/version

进程管理

区分程序,进程,服务

  1. 程序是静态的
  2. 程序启动后就是一个进程
  3. 程序注册到系统中就会成为一个服务

案例

  1. 查看所有的进程
    systemctl list-unit-files

运行程序

  1. 前台运行,程序需要又可执行权限
    ./scripts
  2. 后台执行,默认输出到nohup.out文件里
    nohup ./scripts &
  3. 这里后台运行还可以配合重定向输出到别的文件
    nohup ./xxx > right.txt 2>error &

查看进程

  1. top top命令是实时更新的,会输出一些信息
  2. ps ps也可以查看进程信息,不过它不是实时更新的. 经常使用的有两个参数组合
    • ps -aux
    • ps -ef
  3. pstree 进程树,可以查看进程间的依赖关系.
    显示进程PID

    pstree -p

服务管理

  1. systemctl
    用于服务的管理,常见格式如下

    systemctl 动作 服务名称

    常见的动作

    •  status 显示服务状态
    • start 启动服务
    • restart 重启服务
    • stop 停止服务
    • enable 开启开机自启动
    • disable 关闭开机自启动
  2. service
    旧版本的服务管理,不过新版本也兼容,常见格式如下

    service 服务名 动作

    动作有start,stop,restart

  3. 停止程序
    一般使用kill命令来停止进程
    案例
    强制停止进程

    kill -9 进程PID

内存使用情况

一般使用free命令

案例

  1. 查看内存信息
    free
  2. 以合适容量的单位查看内存信息
    free -h
  3. 指定M为单位查看内存信息
    free -m

磁盘使用情况

使用du命令来查看磁盘信息

  1. 显示某个目录的使用情况
    du /
  2. 使用恰当的单位显示磁盘使用情况
    du -h /
  3. 加上层级限制,不要遍历子目录下的文件
    du -h / --max-depth=1
  4. 排除某些目录
    du /root --exclude="*./*"
  5. 找出10M以上的文件
    du -kt 10M /

综合命令sar

sar是一个系统性能统计工具,通常用于在 Unix/Linux 系统上收集、报告和分析系统的性能数据。

定时任务

crontab命令

  1. 删除定时命令
    crontab -u root -r
  2. 添加定时任务
    crontab -u root time.cron
  3. 列出定时任务
    crontab -u root -l
  4. 编辑定时任务
    crontab -u root -e
  5. 定时任务的常见格式
    cron表达式 执行的命令

    Cron 表达式包含五个时间字段,分别表示分钟、小时、日期(月份中的天)、月份、以及星期几

定时任务文件

  • 管理文件
    /etc/crontab
  • 每个用户的crontab任务
    /val/spool/cron/
  • 存放任何要执行的crontab文件或脚本
    /etc/cron.d/
THE END