linux命令

本文详细介绍了Linux系统中查看CPU和内存使用情况、监控进程、结束进程的方法,如使用top、ps、jps、kill命令。同时,展示了如何查看进程线程数量以及查找文件的技巧,并讲解了nohup命令用于后台运行程序。此外,还提及了grep命令在查找文件内容中的应用。
摘要由CSDN通过智能技术生成

1.查看cpu占用率   top

前5行为系统总体资源统计情况

top - 系统当前时间
up 系统已开机多长时间 user 当前用户数 load average cpu平均负载,三个数值分别为,1分钟,5分钟,15分钟
Tasks 系统当前进程数,total:总进程数,running:正在运行的进程数,sleeping:睡眠的进程数,stopped:停止的进程数,zombie:僵尸进程数


%Cpu(s) cpu使用率,us:用户使用cpu百分百,sy:系统内核使用cpu百分百,id:剩余的cpu百分百

Mem     内存使用信息,total:总内存大小,free:空闲的内存,used:已使用的内存,buff/cache:缓存的内存大小

 Swap    虚拟内存信息

PID 进程id

USER 进程所有者

PR 优先级

NI nice值,负值表示高优先级,正值表示低优先级

VIRT  进程使用的虚拟内存总量

RES 进程使用的物理内存大小

SHR 共享内存大小

S  进程状态,D:不可中断的睡眠状态,R:运行,S:睡眠,T:跟踪/停止,Z:僵尸进程

%CPU 进程使用的CPU占用百分比

%MEM  进程使用的物理内存百分比

TIME+  进程使用的CPU时间总计

COMMAND 命令名

附加选型  例如 top -a

-b      以批处理模式操作
-c      显示完整的治命令
-d      屏幕刷新间隔时间
-I       忽略失效过程
-s      保密模式
-S      累积模式
-i<时间>    设置刷新间隔时间
-u<用户名> 指定用户名
-p<进程号> 指定进程
-n<次数>   循环显示的次数

 在top命令下的快捷键,经常使用  q  退出top命令

h    显示快捷键帮助
k    终止一个进程
i     开/关忽略闲置和僵死进程
q    退出程序
r     重新安排一个进程的优先级别
S    切换到累计模式
s    更改刷新间隔时间,单位秒
f,F   从当前显示中添加或者删除项目
o,O   改变显示项目的顺序
l     切换显示平均负载和启动时间信息
m    切换显示内存信息
t     切换显示进程和CPU状态信息
c    切换显示命令名称和完整命令行
M    根据内存使用大小排序
P    根据CPU使用率进行排序 (默认排序)
T    根据时间/累计时间进行排序
w    将当前设置写入~/.toprc文件中
1    展开多核cpu显示

 2.查看进程ps、jps

 ps [选项]

-A 显示所有进程(同-e,后者能显示干更多信息)
-a 显示当前终端的所有进程
-u 显示进程的用户信息
-o 以用户自定义形式显示进程信息
-f 显示程序间的关系

ps -A 显示如下

ps -ef 显示如下

ps aux 显示如下 更多 ,如果进程信息过多可以用 ps -aux|more/less

USER 进程所有者的用户名
PID 进程号
START 进程激活时间
%CPU 进程自最近一次刷新以来所占用的CPU时间和总时间的百分比
%MEM 进程使用内存的百分比
VSZ 进程使用的虚拟内存大小,以K为单位
RSS 驻留空间的大小。显示当前常驻内存的程序的K字节数。
TTY 进程相关的终端
STAT 进程状态,包括下面的状态:
    D 不可中断 Uninterruptible sleep (usually IO)
    R 正在运行,或在队列中的进程
    S 处于休眠状态
    T 停止或被追踪
    Z 僵尸进程
    W 进入内存交换(从内核2.6开始无效)
    X 死掉的进程
    < 高优先级
    N 低优先级
    L 有些页被锁进内存
    s 包含子进程
        \+ 位于后台的进程组;
    l 多线程,克隆线程
TIME 进程使用的总CPU时间
COMMAND 被执行的命令行
NI 进程的优先级值,较小的数字意味着占用较少的CPU时间
PRI 进程优先级。
PPID 父进程ID
WCHAN 进程等待的内核事件名

 ps -u root 显示指定用户的进程信息

ps -ef|grep java 查看java相关进程信息  | 表示管道

ps -ejh  进程间关系用树形结构表示

jps 

jps [选项] [hostid]

列出本机所有Java进程的pid

-q:仅输出VM标识符,不包括class name,jar name,arguments in main method
-m:输出main method的参数
-l:输出完全的包名,应用主类名,jar的完全路径名
-v:输出jvm参数
-V:输出通过flag文件传递到JVM中的参数(.hotspotrc文件或-XX:Flags=所指定的文件
-Joption:传递参数到vm,例如:-J-Xms48m

3.结束进程kill

kill -signal pid  

进程id可通过上述查询进程命令查到

signal 可以为(一般取值 9,即kill -9 435):

Signal NameSingle ValueEffect
SIGHUP1挂起
SIGINT2键盘的中断信号
SIGKILL9发出杀死信号
SIGTERM15发出终止信号
SIGSTOP17, 19, 23停止进程

4.查看进程的线程数量

(1)top -H -p 进程id

 能看到线程数量及每个线程的cpu占用情况

(2)pstree -p 进程id| wc -l    只显示线程数量

(3)cat /proc/进程id/status   在proc目录下查找进程信息

(这里只截取部分)

5.查找文件find

find 路径 [选项] [操作]

例如:

查找 /etc 目录下以 conf 结尾的文件,文件名区分大小写
find /etc -name '*.conf'

查找文件所属用户为 yangyang 的所有文件,
find . -user yangyang

查找文件所属组为 yangyang 的所有文件
find . -group yangyang

根据类型查找:如下
      f   文件        find . -type f
      d  目录        find . -type d
      c  字符设备文件    find . -type c
      b  块设备文件     find . -type b
      l   链接文件      find . -type l
      p  管道文件      find . -type p

操作查找到的文件

-print  打印输出。 默认的选项,即打印出找到的结果。

-exec  对搜索到的文件执行特定的操作,固定的格式为:-exec 'commond' {} \;   注意:{} 表示查询的结果。
      举例1: 搜索 /etc 目录下的文件(非目录),文件以 conf 结尾,且大于 10k,然后将其删除。
        find /etc -type f -name '*.conf' -size +10k -exec rm -f {} \;
      举例2: 将 /data/log/ 目录下以 .log 结尾的文件,且更改时间在 7 天以上的删除。
        find /data/log -name '*.log' -mtime +7 -exec rm -f \;
      举例3: 搜索条件同 例1 一样,但是不删除,只是将其复制到 /root/conf 目录下
        find /etc -type f -name '*.conf' -size +10k -exec cp {} /root/conf/ \;

-ok  和 -exec 的功能一样,只是每次操作都会给用户提示。  

6.不挂断地运行命令 nohup

nohup [命令]

nohup [选项]

使用nohup命令时,如果指定了输出文件,那么输出信息则输出到指定的文件中。如果没有指定输出文件,则输出信息会输出到当前目录中的nohup.out文件中。

    1)使用nohup命令查看当前目录下的文件,并把输出结果重定向到ls.log文件中。

[root@vms002 opt]# ls
a_  aa.txt  a^x.txt  rh  rh134  tmp
[root@vms002 opt]# nohup ls >> ls.log
nohup: 忽略输入重定向错误到标准输出端
[root@vms002 opt]# ls
a_  aa.txt  a^x.txt  ls.log  rh  rh134  tmp
[root@vms002 opt]# cat ls.log 
a_
aa.txt
a^x.txt
ls.log
rh
rh134
tmp

2)使用nohup命令查看当前目录下的文件,不指定输出文件,查看输出结果是否在当前目录下的nohu.out文件中。

[root@vms002 opt]# ls
a_  aa.txt  a^x.txt  ls.log  rh  rh134  tmp
[root@vms002 opt]# nohup ls
nohup: 忽略输入并把输出追加到"nohup.out"
[root@vms002 opt]# ls
a_  aa.txt  a^x.txt  ls.log  nohup.out  rh  rh134  tmp
[root@vms002 opt]# cat nohup.out 
a_
aa.txt
a^x.txt
ls.log
nohup.out
rh
rh134
tmp

3)让某个程序在后台运行

nohup /root/start.sh &   默认输出在当期那目录的 nohup.out 文件中

nohup command > myout.file 2>&1 &  输出呗重定向到myout.file中

7.grep命令

查找压缩文件中文件内容

zcat filename*|grep --binary-files=text xxxxx' | tail -10 |grep 'llll'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值