基础篇05-测试常见linux命令集合五
本篇主要接着上一篇文章继续就“测试常见linux命令集合五”进行展开讲解,主要包括“ifconfig、wget、ps、top、stat”命令。希望感兴趣的小伙伴可以坚持看下去同时欢迎提出宝贵的意见让我们一起进步!
24:命令ifconfig
显示当前所有网络状态 :
ifconfig
25:命令wget
wget [参数] [URL地址]
说明:下载文件工具,支持HTTP,HTTPS和FTP协议
参数:
-b 启动后转入后台下载
-O 将文档写入FILE(重命名)
1)下载1.png文件:
wget http://xxx.com/1.png
2)下载1.png文件并存储名为1.jpg:
wget -o 1.jpg http://xxx.com/1.png
3) 后台形式下载1.jpg文件:
wget -b http://xxx.com/1.png
4)查看下载进度:
tail -f wget-log
26:命令ps
ps[参数]
说明:列出系统中当前运行进程的状态
参数:
-A 显示所有进程(-e)
-a 显示同一终端下的所有程序
-u 列出属于该用户的进程的状况
-f 表达程序间的相互关系
-x 在没有控制终端的情况下列出进程
1)查看所有进程:
ps -A
2)查看java进程:
ps -ef|grep java
3)显示所有进程信息,连同命令行:
ps -ef
4)显示root进程用户信息(根据用户过滤进程):
ps -u root
5)列出目前所有正在内存当中的程序(通过CPU和内存使用来过滤进程):
ps -aux|lesss
6)展示消耗CPU最多的10个进程:
ps -aux --sort -pcpu | head -10
7)注意:ps命令能够通过管道和其他命令一块使用
- 如果你不想一次显示 ps 太多的输出,请和 less 命令搭配使用
- ps命令的输出也可以使用 grep 命令过滤结果
不加参数执行ps命令,结果默认会显示4列信息。
PID 运行着的命令(CMD)的进程编号
TTY 命令所运行的位置(终端)
TIME 运行着的该命令所占用的CPU处理时间
CMD 该进程所运行的命令
ps -aux命令结果将显示11列信息:USER,PID,%CPU,%MEM,VSZ,RSS,STAT,START,TTY,TIME 和CMD
USER 运行该过程的用户
%CPU 进程 cpu 利用率
%MEM 进程驻留集大小占计算机物理内存的百分比
VSZ 进程的虚拟内存大小 KiB
RSS 进程正在使用的物理内存的大小
STAT 进程状态代码,可以是Z( 僵尸),S( 休眠),R( 运行 )等等
START 命令启动的时间
ps -ef命令结果将显示7列信息 UID,PID,PPID,C,STIME,TIME 和 CMD
UID 与 USER 运行该流程的用户相同
PPID 父进程的 ID
C 与 %CPU 进程 cpu 利用率相同
STIME 与 START 命令启动时相同
27:命令top
topl[参数]
说明:用于实时显示process的动态
参数:
c 切换显示命令名称和完整命令行
i 不显示任何闲置 (idle) 或无用 (zombie) 的行程
d 改变显示的更新速度
n 更新的次数,完成后将会退出 top
1)显示进程信息:
top
2)监控每个逻辑CPU的状况:
top,然后按1
3)高亮显示当前运行进程:
top,然后按b
4)更新10次后终止更新显示:
top -n 10
5)更新周期为20秒一次:
top -d 20
6)显示完整的命令:
top,然后按c
7)显示指定的进程信息:
top -p 139
8)显示特定用户的进程:
top -u root
9)退出top程序:
按q或Ctrl + c快捷键
top前5行是系统整体的统计信息,代表含义如下:
top - 18:18:31 up 330 days, 4:51, 1 user, load average: 0.04, 0.01, 0.00
Tasks: 145 total, 1 running, 132 sleeping, 12 stopped, 0 zombie
Cpu(s): 22.1%us, 5.1%sy, 0.0%ni, 71.7%id, 0.0%wa, 0.0%hi, 1.1%si, 0.0%st
Mem: 8059388k total, 7545416k used, 513972k free, 289164k buffers
Swap: 2097148k total, 1035620k used, 1061528k free, 1244384k cached
第一行:第一行是任务队列信息
HH:mm:ss:当前的系统时间
up xxx days, HH:mm:从本次开机到现在经过的时间
x user:当前有几个用户登录到该机器
load average:系统1分钟、5分钟、15分钟内的平均负载值
第二行:进程进程统计数
total:进程总数。
running: 正在运行的进程数,对应状态TASK_RUNNING
sleeping:睡眠的进程数,对应状态TASK_INTERRUPTIBLE和TASK_UNINTERRUPTIBLE
stopped: 停止的进程数,对应状态TASK_STOPPED
zombie: 僵尸进程数,对应状态TASK_ZOMBIE
第三行:CPU的统计行,当有多个CPU时,这些内容可能会超过两行
us:进程在用户空间(user)消耗的CPU时间占比,不包含调整过优先级的进程
sy:进程在内核空间(system)消耗的CPU时间占比
ni:调整过用户态优先级的(niced)进程的CPU时间占比
id:空闲的(idle)CPU时间占比
wa:等待(wait)I/O完成的CPU时间占比
hi:处理硬中断(hardware interrupt)的CPU时间占比
si:处理软中断(software interrupt)的CPU时间占比
st:当Linux系统是在虚拟机中运行时,等待CPU资源的时间(steal time)占比
第四行和第五行:物理内存和交换空间(Mem/Swap)
total:内存总量
free:空闲内存量
used:使用中的内存量
buff/cache:缓存和page cache占用的内存量
进程信息区详细信息:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
21012 anxin 20 0 5684m 626m 7900 S 111.7 8.0 28068:10 java
27176 anxin 20 0 9104m 1.5g 7984 S 2.0 18.9 113:49.08 java
27666 anxin 20 0 4473m 251m 5024 S 1.0 3.2 2642:56 java
PID 进程 ID,一个用来定位进程的唯一标识符
USER 进程所有者的用户名
PR 从系统内核角度看的进程调度优先级
NI 进程的nice值,即从用户空间角度看的进程优先级。值越低,优先级越高
VIRT 进程申请使用的虚拟内存量,单位是 KiB(kibibytes)
RES 进程使用的驻留内存,单位是 KiB(物理内存和虚拟内存的一部分)
SHR 进程使用的共享内存量,单位是 KiB(共享内存和虚拟内存的一部分)
S 进程状态,一般 I 代表空闲,R 代表运行,S 代表休眠,Z 代表僵尸进程,T 或 t 代表停止
%CPU 进程在一个更新周期内占用的CPU时间比例
%MEM 进程占用的物理内存比例
TIME+ 进程创建后至今占用的CPU时间长度
COMMAND 运行进程使用的命令
28:命令stat
stat[参数][文件或目录]
说明:用来查看文件信息
参数:
-f 显示文件系统状态而非文件状态
-t 使用简洁格式输出
[anxin@VM_0_5_centos isTester]$ stat isTester.ini
File: "isTester.ini"
Size: 0 Blocks: 0 IO Block: 4096 普通空文件
Device: fc01h/64513d Inode: 229522 Links: 1
Access: (0766/-rwxrw-rw-) Uid: ( 500/ anxin) Gid: ( 500/ anxin)
Access: 2020-03-14 16:31:57.000000000 +0800
Modify: 2020-03-14 16:31:57.000000000 +0800
Change: 2020-03-14 16:50:54.000000000 +0800
1)查看文件修改的时间:
stat Tester.ini
与文件相关的几个时间:
1)访问时间-Access:读一次这个文件的内容,这个时间就会更新,例如cat,vi等。
2)修改时间-Modify:对文件内容修改一次,这个时间就会更新,例如vi等。
3)状态改变时间-Change:通过chmod命令更改一次文件属性,这个时间就会更新,例如vi,chmod等。
4)现在很多linux在mount文件系统时候,都会用relatime,这样可避免由于频繁更新atime而导致磁盘IO性能下降的问题;因此很多linux中当你查看文件的时候并不会更新访问时间,除非强制更新
5)注意:
- 当读取文件时,Access time改变,而Modify time和Changetime不会改变
- 当修改文件时,Access time,Modify time和Change time都会改变
- 当修改属性时,Change time改变,而Access time和Modify time不会改变
- ls、stat命令不会修改文件的atime
- touch会更改文件的atime、ctime、mtime