自学内容网 自学内容网

[ Linux 命令基础 2 ] Linux 命令详解-系统管理命令

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

我们搞网络安全需要经常用到 linux 命令,比用拿到 linux 的 shell,需要使用 linux 命令。再比如 sh 脚本,我们经常需要使用。这里我将开始详细介绍一些常用的 linux 命令。本文讲解与文件和系统管理相关的命令。
在这里插入图片描述

文章目录

2.1 查看系统信息

2.1.1 uname

2.1.1.1 基本功能

查看操作系统和内核版本

2.1.1.2 基本语法
uname -a

2.1.2 lsb_release

2.1.2.1 基本功能

查看发行版信息(不是所有版本的linux都支持)

2.1.2.2 基本语法

lsb_release -a

2.1.3 hostnamectl

2.1.3.1 基本功能

提供关于系统的信息,包括主机名、操作系统、内核版本、硬件架构。

2.1.3.2 基本语法

hostnamectl
2.1.3.3 回显信息
   Static hostname: VM-16-3-opencloudos #主机名
         Icon name: computer-vm 
           Chassis: vm
        Machine ID: ac785560f4b24429a3296fa950720366
           Boot ID: 1b731e0f7afc4acf84eb9b55f28c3fde
    Virtualization: kvm
  Operating System: OpenCloudOS 8.8 # 操作系统
       CPE OS Name: cpe:/o:opencloudos:opencloudos:8
            Kernel: Linux 5.4.119-20.0009.29 #内核版本
      Architecture: x86-64 #硬件架构

2.1.4 lscpu

2.1.4 基本功能

显示CPU体系结构、核心数、线程数、CPU频率等信息。

类似命令: cat /proc/cpuinfo

2.1.4.2 基本语法

lscpu

2.2 开关机

2.2.1 shutdown

2.2.1.1 基本功能

linux系统中用于关闭计算机的命令。它可以用来安全关闭系统、重启的命令

2.2.1.2 基本语法
shutdown [选项] [选项值]
2.2.1.3 常见选项
  • -h: 关机或关闭电源
  • -r : 重启系统
  • -c: 取消之前安排的关机操作
  • -k: 仅发送警告信息,但不实际关机。
  • time: 指定关机时间,支持具体时间(10:00)或相对时间(+10)
2.2.1.4 使用示例

1.立即关机

shutdown  now

2.指定时间关机

shutdown 10:00

3.定时间间隔关机

shutdown +30

4.重启系统

shutdown -r now

5.取消已安排的关机

shutdown -c

6.计划在半小时后关机,并发送警告信息

shutdown -h +30 "System will shutdown in 30 minutes"

2.2.2 reboot

2.2.2.1 基本功能

用于重启linux系统,立即重启系统。

2.2.2.2 基本语法
reboot [选项] [选项值]
2.2.2.3 常见选项
  • -f: 强制重启系统
  • -d : 不记录系统日志
  • --no-wall: 关闭之前不发送警告信息

2.3 进程相关

2.3.1 ps

2.3.2.1 基本功能

查看进程相关内容

2.3.2.2 基本语法
ps [option]
2.3.2.3常用选项:
  • -e: 显示所有进程
  • -A: 同-e
  • -f : 显示详细格式。包括UID、PID、PPID、C、STIME、TTY和CMD列。
  • -u: 根据用户过滤
  • -C: 根据进程名称过滤
  • -T: 显示线程
  • -o: 定义输出格式
  • -H: 显示进程层次结构
  • a: 显示所有终端的进程
  • x: 显示所有没有控制终端的进程
2.3.2.4 使用示例

1.根据用户过滤

ps -u zhangsan 

2.根据进程名称过滤

ps -C process_name

3.显示进程状态

ps -o stat

4.显示所有进程的详细信息

ps -ef

5.显示所有用户的所有进程,以用户为中心的格式

ps aux

6.获取当前shell的会话Id

ps -o sid= -p $$

2.3.2 kill

2.3.2.1 基本功能

Linux系统中用于终止进程的命令。通过向指定进程发送信号来控制进程(终止、暂停、继续和重新加载)的行为.

2.3.2.2 基本语法
kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
2.3.2.3 常用选项:
  • -l: 列出所有信号
  • -s: 通过信号名称
  • -n: 通过信号编号
2.3.2.4 常见信号:
  • 1 (SIGHUP):挂起信号,通常用于重新加载配置文件。
  • 2 (SIGINT):中断信号,通常由 Ctrl+C 产生。
  • 9 (SIGKILL):强制终止信号,无法被捕获或忽略,立即终止进程。
  • 15 (SIGTERM):终止信号,默认信号,要求进程正常退出。
  • 18 (SIGCONT):继续信号,继续执行被暂停的进程。
  • 19 (SIGSTOP):停止信号,暂停进程的执行。
2.3.2.5 使用示例

1.通过信号名称发送信号

kill -s HUP 1234

2.通过信号编号发送信号

kill -n 1 1234

3.通过信号名称发送信号

kill -HUP 1234

4.将信号名称 转换为编号

kill -l HUP

2.3.3 pkill

2.3.3.1 基本功能

通过匹配进程名或其它属性的正则表达式来选择进程,然后向这些进程发送信号。与 kill 命令不同,pkill 不需要知道进程的具体 ID(PID),只需根据进程名或其他属性来匹配进程,非常方便。

2.3.3.2 基本语法
pkill [options] pattern
2.3.3.3 常用选项
  • -singal: 指定信号
  • -i: 忽略大小写
  • -u: 根据用户匹配
  • -l: 显示被杀死的进程信息
  • -f: 使用完成的命令行匹配,而不是进程名
  • -P: 匹配父进程ID
  • -g:匹配进程组ID
  • -s: 匹配会话ID
2.3.3.4 使用示例

1.终止所有名为nginx的进程

pkill nginx

2.强制终止所有名为 process_name 的进程

pkill -9 nginx

3.忽略大小写匹配

pkill -i apache

4.终止特定用户,指定进程

pkill -u username python

5.终止指定父进程的子进程

pkill -P 1234

6.终止会话Id的所有进程

pkill -s 5669

2.3.4 killall

2.3.4.1 基本功能

用户终止指定名称的所有进程。

2.3.4.2 基本语法
killall [options] name
2.3.4.3 常用选项:
  • -s:发送特定信号
  • -v: 列出将被杀死的进程
  • -I: 忽略大小写
  • -i: 交互确认
  • -u: 限制作用范围
2.3.4.4 使用示例

1.终止所有名为nginx的进程

killall nginx

2.强制终止 nginx 进程

killall -s KILL nginx

3.忽略大小写终止Apache或apache的进程

killall -I apache

4.仅终止指定用户的进程

killall -u username nginx

2.3.5 nice

2.3.5.1 基本功能

nice命令用于启动一个新的进程,并指定它的调度优先级。调度优先级决定了进程对CPU时间片的竞争长度。nice值的范围通常是从-20到19,-20为最高优先级,19最低。

2.3.5.2基本语法
nice [OPTION] [COMMAND [ARG]...]
  • [OPTION]:用于指定 nice 值。
  • [COMMAND]:要执行的命令。
  • [ARG]...:传递给命令的参数
2.3.5.3常用选项

-n: 设置进程的nice值

2.3.6 renice

2.3.6.1 基本功能

要调整一个已经运行的进程的 nice 值,可以使用 renice 命令

2.3.6.2 基本语法
renice [-n] priority [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]
  • priority:新的 nice 值。
  • pid:进程 ID。
  • pgrp:进程组 ID。
  • user:用户。
2.3.6.3 使用示例

1.调整PID进程的nice值

sudo renice -n 5 -p 1234

2.调整用户 john 的所有进程的 nice 值为 10

sudo renice -n 10 -u john

2.4 监控系统资源

2.4.1 uptime

2.4.1.1 基本功能

用来显示系统的运行时间、登录用户数和系统负载平均值。

2.4.1.2 基本语法
# 基本用法
uptime 
# 输出示例
 10:12:34 up  3:45,  2 users,  load average: 0.05, 0.03, 0.01
 系统时间     运行时间  登录用户数          系统负载平均值 1分钟 5分钟 15分钟

负载值: 给定时间段内,系统活动进程的平均数量. 衡量系统缓慢方法: 负载值和系统CPU核心数相比,负载值大于核心数则会迟缓。

2.4.2 top

2.4.2.1 基本功能

显示实时的系统资源使用情况。包括CPU的使用率、内存使用率、运行的进程。提供选项和交互式命令来定制显示内容

2.4.2.2 基本语法
top
2.4.2.3 常用选项:
  • -d:指定刷新间隔。
  • -b: 以批处理模式运行
  • -u: 显示指定用户的进程
  • -n: 显示进程数
  • -o: 指定排序列
  • -H: 显示线程信息.(PID显示的是线程id)
  • -c:显示完整的命令行
2.4.2.4 常用交互式命令:
  • h: 显示帮助信息
  • q: 退出
  • k: 杀死进程。输出PID,然后输入要发送的信息
  • r: 重新调整进程的优先级(renice),输出进程ID和新的nice值。
  • P: 按CPU使用百分比排序(默认)
  • M: 按内存使用百分比排序
  • T: 按运行时间排序
  • u: 按用户过滤进程。支持用户米或用户Id
  • n: 设置显示进程数目
  • s: 设置刷新间隔时间。
2.4.2.5 使用示例

1.设置刷新间隔

top -d <interval>

2.以批处理模式运行

top -b

3.显示指定用户的进程

top -n username

4.按照内存使用率进行排序

top -o %MEM
2.4.2.6 运行top命令后,默认界面包括:
  1. 概要信息:
    • 系统当前时间、运行时间、登录用户数 、系统负载平均值。
    • 进程总数、运行进程数、睡眠进程数、停止进程数、僵尸进程数。
    • CPU使用情况(用户态、系统态、空闲、等待I/O等)
    • 内存和交换空间的使用情况。
  2. 进程信息
    • PID: 进程ID
    • USER: 进程所属用户
    • PR: 优先级
    • NI: nice值
    • VIRT: 虚拟内存使用情况
    • RES: 常驻内存使用的情况
    • SHR: 共享内存使用的情况
    • S: 进程状态(R 运行 S 睡眠 D 不可中断的睡眠 Z僵尸 T 停止)
    • %CPU: CPU使用百分比
    • %MEM: 内存使用百分比
    • TIME+: 进程使用的总CPU时间
    • COMMAND: 命令名或命令行

2.4.3 htop

2.4.3.1 基本功能

htop是一个交互式的系统监控工具。top命令的增强版本。提供更好的用户界面。

安装方法:

  • Debian/Ubuntu系统:sudo apt install htop
  • Alpine系统:sudo apk add htop
  • Arch Linux系统:sudo pacman -S htop
  • RedHat/CentOS系统:sudo yum install epel-release && sudo yum install htop
  • Fedora系统:sudo dnf install htop

界面介绍:

  1. 顶部信息:显示系统的总体信息,包括CPU使用率、内存和交换空间使用率、系统负载平衡值、运行时间等。
  2. CPU使用情况:以不同颜色的条形图表示每个 CPU 的使用情况。
  3. 内存和交换空间:以条形图和数值形式显示内存和交换空间的使用情况。
  4. 进程列表:显示系统中运行的进程,包括 PID、用户、CPU 和内存使用率、运行时间和命令等信息。
2.4.3.2 基本语法
htop
2.4.3.3 常见选项:
  • F1, F2, ..., F10:快捷键,用于执行不同的操作,如搜索、过滤、树状视图等。
  • s:排序设置(类似于topP, M, N)。
  • F3:搜索进程。
  • F4:过滤进程。
  • F5:树状视图。
  • F6:选择排序方式。
  • F7:降低nice值(提高优先级)。
  • F8:增加nice值(降低优先级)。
  • F9:发送信号给选中的进程。
  • F10:退出htop。
2.4.3.4 使用示例
  • 启动htop:htop
  • 在htop中按F1显示帮助信息。
  • F3搜索特定进程。
  • F10退出htop。
2.4.3.5 常用快捷键

htop 支持多种快捷键,便于用户进行快速操作和调整显示内容:

  • 上下箭头:上下移动选择进程。
  • 左右箭头:左右滚动显示内容。
  • PgUp/PgDn:上下翻页。
  • F1:显示帮助信息。
  • F2:进入设置界面,调整显示选项。
  • F3:搜索进程。
  • F4:过滤进程。
  • F5:以树状结构显示进程。
  • F6:选择排序列(如按 CPU 使用率、内存使用率等排序)。
  • F7:增加进程优先级(减少 nice 值)。
  • F8:降低进程优先级(增加 nice 值)。
  • F9:杀死进程。
  • F10:退出 htop
2.4.3.6 详细功能说明

1.选择排序列:按 F6 键,可以选择按哪一列进行排序,例如 CPU 使用率、内存使用率、PID 等。

2.过滤进程:按 F4 键,可以输入过滤条件,只显示符合条件的进程。

3.调整进程优先级:选择一个进程后,按 F7 增加优先级(减少 nice 值),按 F8 降低优先级(增加 nice 值)。

4.杀死进程:选择一个进程后,按 F9 键可以选择发送的信号来杀死进程。

5.树状显示进程:按 F5 键,可以以树状结构显示进程,便于查看进程间的父子关系。

6.显示/隐藏线程:按 H 键可以显示或隐藏线程信息。

2.4.4 atop

2.4.4.1 基本功能

atop是一个高级的系统和进程监控工具,它提供了一个全屏的、彩色编码的界面来显示所有活动进程的详细信息。

安装方法:

  • Debian/Ubuntu系统:sudo apt install atop
  • Alpine系统:sudo apk add atop
  • Arch Linux系统:sudo pacman -S atop
  • RedHat/CentOS系统:sudo yum install atop
  • Fedora系统:sudo dnf install atop
2.4.4.2 基本语法
atop [选项] [选项值]
2.4.4.3 常用选项
  • -d <间隔秒数>:设置刷新间隔时间(默认为10秒)。
  • -n <次数>:连续采样的次数。
  • -b:以批处理模式运行,适用于脚本和日志记录。
  • -w <宽度>:设置输出宽度。
  • -l <文件名>:将输出记录到指定文件。
2.4.4.4 使用示例
  • 启动atop并设置刷新间隔为5秒:atop -d 5
  • 连续采样三次后退出:atop -d 5 -n 3
  • 以批处理模式运行并记录到文件:atop -b -w 120 -l /path/to/output_file.log

2.4.5 vmstat

2.4.5.1 基本功能

虚拟内存统计,用户报告有关进程、内存、分页、块I/O、陷阱和CPU信息的活动。

2.4.5.2 基本语法
vmstat [options] [delay [count]]
  • delay: 报告之间的间隔时间。
  • count: 报告的次数
2.4.5.3 常用选项
  • -w: 调大输出范围长度
  • -d: 显示磁盘统计信息
  • -s: 显示系统事件信息
  • -S: 指定输出单位
2.4.5.4 回显信息
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0  123456  7890  234567    0    0     1     1    2    3  4  5  6  7  0

  • procs(进程)
    • r:运行队列中的进程数(等待CPU时间片的进程数)
    • b: 不可中断的睡眠进程数(等待I/o)
  • memory
    • swpd: 已使用的交换空间(kb)
    • free: 空闲内存大小
    • buff:用作缓冲的内存大小
  • swap(交换)
    • si: 从磁盘交换到内存的大小(kb/s)
    • so: 从内存交换到磁盘的大小
  • io(块I/O)
    • bi: 从块设备读入的数据块数
    • bo: 写到块设备的数据块数。
  • system(系统)
    • in:每秒中断次数
    • cs: 每秒上下文切换次数
  • cpu
    • us: 用户态cpu时间百分比
    • sy: 系统态cpu时间百分比
    • id: 空闲cpu时间百分比
    • wa: 等待I/O的CPU时间百分比
    • st: 被虚拟机偷取的CPU百分比。

2.4.6 free

2.4.6.1 基本功能

用来显示系统中内存的使用情况,包括物理内存和交换内存。

2.4.6.2 基本语法
free [option]
2.4.6.3 常用选项
  • -h: 使用可视化较好的单位显示。
  • -b,-k,-m: 指定字节、千字节、兆字节为单位显示
  • -t: 显示总计行,包括物理内存和交换内存的综合
  • -s seconds: 每隔指定秒数重复显示内存信息
  • -c count: 显示指定次数后退出

2.4.6.4 回显信息

              total        used        free      shared  buff/cache   available
Mem:        16318276     8915868     4534892       19144     2868516     7044124
Swap:        8388604        2032     8386572

  • total: 内存总量
  • used: 已使用内存量.用于系统进程和缓存的内存总和
  • free: 空闲内存量
  • shared: 共享内存量
  • buff/cache: 缓冲和缓存的内存量。用于文件系统缓存和块设备缓存。
  • available: 可用内存量。

used = total - free- buff/cache

2.4.7 sar

2.4.7.1 基本功能

用于收集、报告和保存系统活动信息,它提供了关于 CPU、内存、I/O、网络、设备负载等各种系统资源使用情况的详细报告,帮助系统管理员分析系统性能并识别瓶颈。

2.4.7.2 基本语法
# 基本用法
sar [options] [interval] [count]
2.4.7.3 常用选项
  • -u: 显示CPU使用情况。
  • -P: 显示每个CPU的使用情况。
  • -r: 显示内存和交换空间的使用情况。
  • -S: 显示交换分区使用情况。
  • -b: 显示I/O和传输速率统计信息
  • -d: 显示块设备活动信息
2.4.7.4 使用示例

1.每隔 2 秒显示一次 CPU 使用情况,共显示 5 次。

sar -u 2 5

2.每隔 2 秒显示一次内存和交换空间使用情况,共显示 5 次。

sar -r 2 5

3.每隔 2 秒显示一次 I/O 和传输速率统计信息,共显示 5 次。

sar -b 2 5

2.4.8 mpstat

2.4.8.1 基本功能

用于报告系统上每个处理器的活动情况。它可以显示各个 CPU 核心的使用情况,包括用户时间、系统时间、空闲时间、等待 I/O 等等。

2.4.8.2 基本语法
mpstat [options] [interval [count]]
2.4.8.3 常用选项:
  • -P: 指定要报告的 CPU。可以是单个 CPU 号码或 ALL(所有 CPU)
  • -u:显示 CPU 使用情况(默认选项)
  • -I {CPU | SCPU | ALL}:显示中断统计信息。
  • -A: 显示所有活动信息
2.4.8.4 回显信息
Linux 5.4.0-42-generic (hostname)   04/24/2021  _x86_64_  (4 CPU)

08:04:31 AM  CPU    %usr   %nice    %sys   %iowait    %irq   %soft   %steal  %guest  %gnice   %idle
08:04:33 AM  all    1.00    0.00    0.50      0.00    0.00    0.00     0.00    0.00    0.00   98.50
08:04:33 AM    0    2.00    0.00    1.00      0.00    0.00    0.00     0.00    0.00    0.00   97.00
08:04:33 AM    1    1.00    0.00    0.50      0.00    0.00    0.00     0.00    0.00    0.00   98.50
08:04:33 AM    2    1.00    0.00    0.00      0.00    0.00    0.00     0.00    0.00    0.00   99.00
08:04:33 AM    3    0.00    0.00    0.00      0.00    0.00    0.00     0.00    0.00    0.00  100.00

字段解释:

  • CPU:CPU 标识符。all 表示所有 CPU 的平均值。
  • %usr:用户态的 CPU 使用百分比。
  • %nice:通过 nice 值调整优先级的用户态进程的 CPU 使用百分比。
  • %sys:内核态的 CPU 使用百分比。
  • %iowait:等待 I/O 操作完成的 CPU 时间百分比。
  • %irq:处理硬件中断的 CPU 时间百分比。
  • %soft:处理软件中断的 CPU 时间百分比。
  • %steal:被其他操作系统偷走的 CPU 时间百分比(虚拟化环境)。
  • %guest:用于运行虚拟机的 CPU 时间百分比。
  • %gnice:通过 nice 值调整优先级的虚拟机的 CPU 使用百分比。
  • %idle:空闲的 CPU 时间百分比。

2.5 服务相关

2.5.1 systemctl

2.5.1.1 基本功能

用于管理系统和服务的

2.5.1.2 基本语法
systemctl [options] [command] [name]
  • [options]:可选的选项。
  • [command]:要执行的命令,如 startstoprestartstatusenabledisable 等。
  • [name]:服务或单元的名称。
2.5.1.3 常用命令

1.启动服务

systemctl start <service_name>

2.停止服务

systemctl stop <service_name>

3.检查服务状态

systemctl status <service_name>

4.启用服务(开机自启动)

systemctl enable <service_name>

5.禁用服务

systemctl disable <service_name>

6.检查服务是否启用

sudo systemctl is-enabled <service_name>

2.5.2 crontab

2.5.2.1 基本功能

用于管理和编辑定时任务调度表,这些任务在指定的时间和日期运行。cron是一个守护进程,用于在后台定期执行任务。每个用户,包括系统管理员,都可以有自己的crontab文件来定义这些任务。

2.5.2.2 基本语法
crontab [options][file]
2.5.2.3 常用选项:
  • -e: 编辑当前用户的crontab文件
  • -l: 列出当前用户的crontab文件内容。
  • -r: 删除当前用户的crontab文件。
  • -i: 删除当前用户crontab文件时确认
  • -u username: 指定某个用户的crontab文件。
2.5.2.4 使用示例

1.每分钟执行一次

* * * * * /path/to/command

2.每周一凌晨 3:00 执行命令

0 3 * * 1 /path/to/command

3.每月 1 号和 15 号的凌晨 4:00 执行命令

0 4 1,15 * * /path/to/command

2.5.2.5 crontab文件格式

* * * * * command

每个字段的含义:

  • 分钟(0-59)
  • 小时(0-23)
  • 日期(1-31)
  • 月份(1-12)
  • 星期几(0-7), 0和7都是星期日

特殊符号:

  • *: 代表所有可能的值。
  • ,: 用于分割列表中的多个值。1,2,3代表第1,2,3分钟执行。
  • -: 用于表示一个范围。1-5:表示从第一分钟到第五分钟。
  • /: 用于指定间隔频率。*/5表示每五分钟执行一次。

相关资源

shell脚本 从入门到精通
[ DOS 命令基础 1 ] DOS 命令命令详解-系统查询相关命令
[ DOS 命令基础 2 ] DOS 命令命令详解-网络相关命令
[ DOS 命令基础 3 ] DOS 命令命令详解-文件操作相关命令
[ DOS 命令基础 4 ] DOS 命令命令详解-端口进程相关命令
[ Linux 命令基础 7 ] Linux 命令详解-磁盘管理相关命令
[ Linux 命令基础 6 ] Linux 命令详解-权限和用户管理命令
[ Linux 命令基础 5 ] Linux 命令详解-网络管理命令
[ Linux 命令基础 4 ] Linux 命令详解-文本处理命令
[ Linux 命令基础 3 ] Linux 命令详解-文件和目录管理命令
[ Linux 命令基础 3 ] Linux 命令详解-系统管理命令


原文地址:https://blog.csdn.net/qq_51577576/article/details/143696726

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!