linux常用命令(二)https://developer.aliyun.com/article/1498735
实例7:按照空间大小排序
bash
复制代码
[root@server1 ~]# du |sort -nr|more 20980 . 9464 ./nginx-1.15.8 940 ./nginx-1.14.2/objs/src/http 888 ./nginx-1.15.8/src/core 388 ./nginx-1.15.8/src/http/v2 140 ./nginx-1.15.8/contrib/vim 136 ./.vim 40 ./nginx-1.15.8/conf ... 0 ./nginx-1.14.2/objs/src/http/modules/perl
实例8:输出当前目录下各个子目录所使用的空间(常用)
bash
复制代码
[root@server1 ~]# du -h --max-depth=1 9.2M ./nginx-1.14.2 136K ./.vim 9.3M ./nginx-1.15.8 21M .
不带--max-depth参数,那么将循环列出文件夹下所有文件和文件夹占用的空间,带此参数,则是指定深入目录的层数。
Linux du命令和df命令区别
1、du :是通过搜索文件来计算每个文件的大小然后累加,du能看到的文件只是一些当前存在的,没有被删除的。他计算的大小就是当前他认为存在的所有文件大小的累加和。 2、 df: 通过文件系统来快速获取空间大小的信息,当我们删除一个文件的时候,这个文件不是马上就在文件系统当中消失了,而是暂时消失了,当所有程序都不用时,才会根据OS的规则释放掉已经删除的文件,df记录的是通过文件系统获取到的文件的大小,他比du强的地方就是能够看到已经删除的文件,而且计算大小的时候,把这一部分的空间也加上了,更精确了。 当文件系统也确定删除了该文件后,这时候du与df就一致了。
3、free 显示内存使用情况 free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。 使用方式
free命令参数
ini
复制代码
-b 以Byte为单位显示内存使用情况。 -k 以KB为单位显示内存使用情况。 -m 以MB为单位显示内存使用情况。 -h 以合适的单位显示内存使用情况,最大为三位数,自动计算对应的单位值。单位有: B = bytes K = kilos M = megas G = gigas T = teras -o 不显示缓冲区调节列。 -s<间隔秒数> 持续观察内存使用状况。 -t 显示内存总和列。 -V 显示版本信息。
实例1:显示内存使用信息
bash
复制代码
[root@server1 ~]# free total used free shared buffers cached Mem: 254772 184568 70204 0 5692 89892 -/+ buffers/cache: 88984 165788 Swap: 524280 65116 459164 Mem行(单位均为M): total 系统总的可用物理内存大小 used 已被使用的物理内存大小 free 还有多少物理内存可用 shared 被共享使用的物理内存大小 buff/cache 被 buffer 和 cache 使用的物理内存大小 available 还可以被 应用程序 使用的物理内存大小 (-/+ buffers/cache)行: (-buffers/cache): 真正使用的内存数,指的是第一部分的 used - buffers - cached (+buffers/cache): 可用的内存数,指的是第一部分的 free + buffers + cached
Swap行指交换分区
实例2:以总和的形式查询内存的使用信息
yaml
复制代码
[root@server1 ~]# free -t total used free shared buffers cached Mem: 254772 184868 69904 0 5936 89908 -/+ buffers/cache: 89024 165748 Swap: 524280 65116 459164 Total: 779052 249984 529068
实例3:周期性的查询内存使用信息
yaml
复制代码
[root@server1 ~]# free -s 10 //每10s 执行一次命令 total used free shared buffers cached Mem: 254772 187628 67144 0 6140 89964 -/+ buffers/cache: 91524 163248 Swap: 524280 65116 459164 total used free shared buffers cached Mem: 254772 187748 67024 0 6164 89940 -/+ buffers/cache: 91644 163128 Swap: 524280 65116 459164
使用top命令监控系统进程
top:“实时查看” ,按q退出 (实时动态显示)
r
复制代码
-a # 将进程按照使用内存排序 -b # 批处理的模式显示进程信息,输出结果可以传递给其他程序或写入到文件中,配合-n使用,一直打到-n设置的阈值 -c # 显示进程的整个命令路径,而不是只显示命令名称 -d # 指定每两次屏幕信息刷新之间的时间间隔 -H # 指定这个可以显示每个线程的情况,否则就是进程的总的状态 -i # 不显示闲置或者僵死的进程状态 -n # top输出信息更新的次数,完成后将推出top命令 -p # 显示指定的进程信息
键入 top,显示如下信息
sql
复制代码
top - 14:27:26 up 4:22, 1 user, load average: 0.08, 0.03, 0.05 Tasks: 96 total, 2 running, 94 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 1865284 total, 1460360 free, 96264 used, 308660 buff/cache KiB Swap: 1048572 total, 1048572 free, 0 used. 1595216 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2029 root 20 0 0 0 0 R 0.3 0.0 0:00.14 kworker/0:1
第一行:任务队列信息,同uptime命令的执行结果
14:27:26 # 当前系统时间 up 4:26 # 系统已经运行了4个半小时 1 user # 当前有1个用户登录系统 load average: 0.08, 0.03, 0.05 # 1分钟,5分钟,15分钟的平均负载情况
第二行:Tasks为任务(进程)。上面的信息显示为 共有96个进程,处于运行状态的有2个,94个在休眠,stoped状态0个,zombie状态有0个
第三行:CPU状态信息 us # 用户空间占用CPU的百分比 sy # 内核空间占用cpu的百分比 ni # 改变优先级的进程占用CPU的百分比 id # 空闲CPU百分比 wa # I/O等待只用CPU的百分比 hi # 硬中断占用CPU的百分比 si # 软中断 st # 虚拟机占用CPU的百分比
第四行:内存状态
total # 物理内存总量 used # 使用中的内存总量 free # 空闲内存总量 buffers # 缓冲的内存量
第五行:swap交换分区信息 total # 交换分区总量 used # 使用的交换区总量 free # 空闲交换区总量 cached # 缓存的内存量
第六行:空行
第七行:给出的各进程(任务)的状态监控 PID # 进程iD USER # 进程所有者 PR # 进程优先级 NI # nice值,负值表示高优先级,正值表示低优先级 VIRT # 进程使用的虚拟内存总量,单位为KB RES # 进程使用的,未被换出的物理内存大小,单位KB SHR # 共享内存大小,单位为kb S # 进程状态,D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程 %CPU # 上次更新到现在的CPU时间占用百分比 %MEM # 进程使用的物理内存百分比 TIME+ # 进程使用的物理内存百分比 COMMAND # 进程名称
挂起进程
linux后台运行、挂起、恢复进程相关命令_linux 在另一个session回复被挂起的程序-CSDN博客
bash
复制代码
nohup <command> &