系统信息和管理
ps
ps
命令用于显示当前系统的进程信息。它是 Unix 和类 Unix 操作系统中的一个重要工具,可以用于监控和管理系统进程。以下是 ps
命令的详细用法和常见选项:
ps [选项]
常用选项![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/f0ce478cf76e46078e1b64efacaa5b13.png
- -A, -e:显示所有进程。
- -a:显示终端上的所有进程,包括其他用户的进程。
- -u 用户名:显示指定用户的进程。
- -x:显示没有控制终端的进程。
- -l:显示长格式的进程信息。
- -f:显示完整格式的进程信息。
- -H:显示进程层级关系。
- -o format:自定义显示格式。
- -p pid:显示指定 PID 的进程信息。
- –sort:根据指定字段排序。
- 常见字段解释
- PID:进程ID。
- TTY:终端设备。
- TIME:进程使用的CPU时间。
- CMD:启动进程的命令。
- USER:进程所有者。
- %CPU:CPU使用率。
- %MEM:内存使用率。
- VSZ:进程使用的虚拟内存大小。
- RSS:进程使用的常驻内存大小。
- STAT:进程状态(例如,R 运行,S 睡眠,Z 僵尸进程等)。
常见用法组合使用 grep 过滤进程
ps -ef | grep nginx//结合 grep 命令,可以过滤特定的进程:
top
top
命令是一个实时显示 Linux 系统性能信息的工具。它提供了系统整体和各个进程的资源使用情况,包括 CPU、内存和交换分区使用情况。top
命令对于系统监控和性能调优非常有用。
top
使用选项
- -d 秒数:设置刷新时间间隔。
- -p PID:仅显示指定 PID 的进程。
- -u 用户名:仅显示指定用户的进程。
- -n 迭代次数:设置刷新次数,在刷新指定次数后退出。
输出信息说明
运行
top
命令后,默认会显示如下信息:
- 系统信息行:
- 当前时间:系统的当前时间。
- 运行时间:系统已运行的时间。
- 用户数:当前登录的用户数。
- 负载平均值:分别为 1 分钟、5 分钟和 15 分钟的系统负载平均值。
- 任务行:
- Tasks:任务总数,包括正在运行、睡眠、停止和僵尸进程的数量。
- CPU 状态行:
- us:用户空间使用的 CPU 百分比。
- sy:内核空间使用的 CPU 百分比。
- ni:用户进程空间内改变过优先级的进程所占用的 CPU 百分比。
- id:空闲 CPU 百分比。
- wa:等待 I/O 完成的 CPU 百分比。
- hi:硬件中断占用的 CPU 百分比。
- si:软件中断占用的 CPU 百分比。
- st:虚拟机占用的 CPU 百分比。
- 内存状态行:
- KiB Mem:物理内存使用情况。
- KiB Swap:交换分区使用情况。
- 进程列表:
- PID:进程 ID。
- USER:进程所有者。
- PR:进程优先级。
- NI:进程的 Nice 值。
- VIRT:进程使用的虚拟内存。
- RES:进程使用的物理内存。
- SHR:进程使用的共享内存。
- S:进程状态。
- D:不可中断的睡眠状态。
R:运行。
S:睡眠。
T:停止。
Z:僵尸进程。
%CPU:CPU 使用率。
%MEM:内存使用率。
TIME+:进程启动以来的总 CPU 时间。
COMMAND:命令名或命令行。
常用交互命令
在
top
命令运行时,可以使用以下键盘快捷键进行交互操作:
- h:显示帮助。
- k:终止进程。提示输入进程 ID(PID)。
- r:重新设置进程优先级。提示输入进程 ID 和新的优先级值。
- q:退出
top
。- z:切换彩色模式。
- x:高亮显示排序列。
- b:切换粗体显示。
- M:按内存使用排序。
- P:按 CPU 使用排序(默认)。
- T:按运行时间排序。
- 1:切换显示所有 CPU 或单个 CPU 的使用情况。
df
df
(disk free)命令用于显示文件系统的磁盘空间使用情况。它能够报告文件系统的总空间、已用空间、可用空间和挂载点等信息,是系统管理员监控磁盘使用的重要工具。
df [选项] [文件...]
常用选项
- -a, --all:包括所有文件系统(包括虚拟文件系统)。
- -h, --human-readable:以人类可读的格式显示(例如,1K、234M、2G)。
- -H:以 1000 为基数的人类可读格式显示。
- -k:以 1024 字节为单位显示。
- -m:以 1 MB 为单位显示。
- -T, --print-type:显示文件系统类型。
- -x, --exclude-type=TYPE:排除指定类型的文件系统。
- –total:显示所有文件系统的总计。
- -i, --inodes:显示 inode 信息,而不是块使用信息。
输出说明
默认情况下,
df
命令会输出以下列信息:
- Filesystem:文件系统名称。
- 1K-blocks:文件系统的总大小(以 1K 块为单位)。
- Used:已用空间。
- Available:可用空间。
- Use%:已用空间的百分比。
- Mounted on:挂载点。
du
du
(disk usage)命令用于显示文件和目录的磁盘使用情况。它能够递归地计算指定文件或目录所占用的磁盘空间,是系统管理员和用户监控磁盘使用的重要工具。
du [选项] [文件...]
常用选项
- -a, --all:显示所有文件和目录的大小,而不仅仅是目录。
- -h, --human-readable:以人类可读的格式显示(例如,1K、234M、2G)。
- -H:以 1000 为基数的人类可读格式显示。
- -k:以 1024 字节为单位显示。
- -m:以 1 MB 为单位显示。
- -c, --total:显示所有文件和目录的总计。
- -s, --summarize:仅显示每个参数的总计。
- -d, --max-depth=N:显示指定深度的目录。
- –time:显示文件或目录的修改时间。
- –exclude=PATTERN:排除符合模式的文件或目录。
- –max-depth=N:限制目录的递归深度。
输出说明
默认情况下,
du
命令会输出以下信息:
- 大小:文件或目录占用的磁盘空间大小(以块为单位,通常是 1024 字节)。
- 文件或目录名称:对应的文件或目录名称。
free
free
命令用于显示系统的内存使用情况,包括物理内存、交换分区和内核缓存的使用情况。它能够帮助系统管理员和用户快速了解系统内存的整体状态。
free [选项]
常用选项
- -b:以字节为单位显示内存。
- -k:以千字节为单位显示内存(默认)。
- -m:以兆字节为单位显示内存。
- -g:以千兆字节为单位显示内存。
- –tera:以太字节为单位显示内存。
- -h, --human:以人类可读的格式显示内存(例如,1K、234M、2G)。
- -l, --lohi:显示高低内存的详细信息。
- -t, --total:显示内存的总计。
- -s N:每 N 秒自动刷新显示一次。
- –si:使用 1000 为基数而不是 1024。
total used free shared buff/cache available
Mem: 16388648 3757624 1076512 98308 11554512 12202912
Swap: 2097148 0 2097148
输出说明
free
命令的默认输出包括以下信息:
- total:总内存大小。
- used:已用内存。
- free:空闲内存。
- shared:共享内存(主要用于 tmpfs)。
- buff/cache:内核缓存和缓冲区使用的内存。
- available:可用内存(估计当前可用来启动新应用的内存)。
uname
uname
命令用于显示系统信息,包括操作系统名称、内核版本、硬件架构等。它能够帮助用户快速获取系统的基本信息。
uname [选项]
常用选项
- -a, --all:显示所有信息。
- -s, --kernel-name:显示内核名称。
- -n, --nodename:显示网络节点名称。
- -r, --kernel-release:显示内核发布版本。
- -v, --kernel-version:显示内核版本。
- -m, --machine:显示硬件架构。
- -p, --processor:显示处理器类型。
- -i, --hardware-platform:显示硬件平台。
- -o, --operating-system:显示操作系统名称。
输出说明
默认情况下,
uname
命令只显示内核名称。使用不同的选项可以获取更详细的系统信息。输出示例
Linux hostname 4.15.0-112-generic #113-Ubuntu SMP Wed Jul 29 21:40:22 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux 解释: Linux:内核名称 hostname:网络节点名称 4.15.0-112-generic:内核发布版本 #113-Ubuntu SMP Wed Jul 29 21:40:22 UTC 2020:内核版本 x86_64:硬件架构 GNU/Linux:操作系统名称
ldd
ldd
是 Linux 下的一个命令,用于打印一个可执行文件或共享库所依赖的动态链接库。它的作用是列出一个二进制文件在运行时需要加载的动态链接库,以及这些库的路径。通常,ldd
命令会输出依赖库的名称以及它们在文件系统中的路径。
例如,假设您有一个名为 example
的可执行文件,您可以在终端中运行以下命令来查看它所依赖的动态链接库:
ldd example
这个命令会列出 example
可执行文件所需要的动态链接库及其路径。
pidof
pidof
是一个用于查找指定进程名对应的进程ID(PID)的命令。在 Linux 系统中,pidof
命令用于查找指定进程名对应的进程ID,如果有多个进程与该进程名匹配,则会列出所有匹配的进程ID。
该命令的基本语法如下:
cssCopy code
pidof [OPTIONS] NAME
其中,OPTIONS
是可选参数,可以用于指定不同的选项,NAME
则是要查找的进程名。
一些常用的选项包括:
-s
:只输出一个进程ID。-o
:按进程ID的顺序输出。-x
:只显示具有完全匹配进程名的进程。
例如,如果要查找名为nginx
的进程ID,可以使用如下命令:
Copy code
pidof nginx
如果有多个与nginx
进程名匹配的进程,将会输出多个进程ID;如果没有匹配的进程,不会有任何输出。
压缩与解压
tar
tar xzf
是一个常用的命令组合,用于解压缩由 gzip 压缩的 tarball 文件。下面是对这个命令的详细说明:
tar
:这是一个用于在 Linux 和类 Unix 系统上创建、查看或提取归档文件的命令。它可以用于创建 tarball 文件(通常称为 tar 文件),将多个文件或目录打包成一个单独的文件,以便进行传输或备份。tar
命令具有多种选项,用于指定操作和配置选项。x
:这是tar
命令的一个选项,表示执行提取(或解压缩)操作。当tar
命令后跟着x
选项时,它会解压缩或提取指定的 tar 文件。z
:这是tar
命令的另一个选项,用于指示tar
解压缩或提取一个 gzip 压缩的文件。当tar
命令后跟着z
选项时,它会自动检测并解压缩 gzip 压缩的文件。f
:这是tar
命令的选项之一,用于指定要操作的 tar 文件的名称。当tar
命令后跟着f
选项时,后面应该紧跟着要处理的 tar 文件的名称。在tar xzf
命令中,f
选项用于指定要解压缩的 tar 文件的名称。
因此,tar xzf
命令的作用是解压缩一个 gzip 压缩的 tar 文件。例如,如果有一个名为 example.tar.gz
的文件,您可以使用以下命令解压缩它:
tar xzf example.tar.gz
这将会将 example.tar.gz
文件解压缩,并提取其中包含的文件和目录。