Linux系统管理常用的命令,有哪些?

关注【郑大钱呀】【公】【众】【号】,我们一起交流,一起学习。

1.1 进程查询命令(ps)

在Windows系统中,如果我们想查询有哪些进程,我们可以打开任务管理器,进行查询,在Linux系统中,我们可以通过ps命令来查询

示例1:查询本身进程和当前终端进程

ps

执行结果如下:

[root@iZ8vb15btme7rdyvwu43dyZ ~]# ps
    PID TTY          TIME CMD
1000396 pts/0    00:00:00 bash
1021028 pts/0    00:00:00 ps

如果我们在使用ps命令的时候,什么选项参数,都不加,那么它查询的是它自己本身的进程以及终端的进程,因为ps命令本身以及执行命令的终端都是一个可执行程序,也是一个进程

示例2:查询所有进程

ps -ef

执行结果如下:

[root@VM-0-6-centos ~]# ps -ef 
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 Jul22 ?        00:10:41 /sbin/init
root         2     0  0 Jul22 ?        00:00:00 [kthreadd]
root         3     2  0 Jul22 ?        00:00:00 [migration/0]
root         4     2  0 Jul22 ?        00:01:17 [ksoftirqd/0]
root         5     2  0 Jul22 ?        00:00:00 [stopper/0]
root         6     2  0 Jul22 ?        00:00:00 [watchdog/0]
root         7     2  0 Jul22 ?        00:34:49 [events/0]
root         8     2  0 Jul22 ?        00:00:00 [events/0]

执行结果中的UID表示每个用户的编号,PID表示每个进程的编号,每个进程都有一个父进程,这个PPID就是其父亲的编号。

1.2 结束进程命令(kill)

kill命令主要作用就是终止进程,比如当程序运行时无响应了,卡死了,此时我们就可以使用kill命令来将进程终止

kill -9 45678

这里的-9的含义表示信号,这里指不顾后果的强制终止,我们可以通过kill -l的命令来查询所有的信号,一共有64种, 457678指的是进程号。

1.3 管道命令

管道命令其实非常简单,就是一个|,我们为什么要叫它管道呢,主要还是因为它的功能,管道的作用就是将一个命令的输出用作另一个命令的输入,就像水管一样,将水从一个地方传到另一个地方,那我们在实际的工作中是如何使用的呢?

示例1:查询与Nginx服务相关的进程

我们在上面的学习中都知道,ps -ef命令的作用是查询所有的进程,但是在Linux系统的服务实在太多了,我们只想找到我们关注的进程,比如Nginx,此时我们就可以使用管道将ps命令和grep命令结合起来使用

ps -ef | grep nginx

执行结果如下:

[root@iZ8vb15btme7rdyvwu43dyZ study]# ps -ef | grep nginx
root      927407       1  0 7月17 ?       00:00:00 nginx: master process nginx -c /root/finance/Finance/nginx.conf
root      927408  927407  0 7月17 ?       00:00:04 nginx: worker process
root     1055004 1000396  0 15:35 pts/0    00:00:00 grep --color=auto nginx
[root@iZ8vb15btme7rdyvwu43dyZ study]#

示例2:查询与linlang相关的目录

我们都知道ll命令是用来查询文件或目录,但是当一个文件夹下的目录和文件特别多的时候,这个时候我们去一个一个的找,就显得不太方便,此时我们可以通过和通道符的结合使用,来查询我们关注的目录或文件

ll | grep linlang

执行代码如下:

[root@iZ8vb study]# ls
linlang1  linlang2  linlang3  plus
[root@iZ8vb15btme7rdyvwu43dyZ study]# ll | grep linlang
drwxr-xr-x 2 root root 4096 88 15:44 linlang1
drwxr-xr-x 2 root root 4096 88 15:44 linlang2
drwxr-xr-x 2 root root 4096 88 15:44 linlang3
[root@iZ8vb15btme7rdyvwu43dyZ study]# 

1.4 系统内存情况查询(free)

当我们觉得服务器有点卡顿的时候,想查看一下内存的使用情况,此时就可以使用free命令来查询

示例1:简单使用

(base) [root@iZ8vb15btme7rdyvwu43dyZ ~]# free
              total        used        free      shared  buff/cache   available
Mem:        2020696     1309716       78024        3392      632956      555928
Swap:             0           0           0

从上面我们查询结果我们可以看到两行数据,第一行表示物理内存(Mem)的使用情况,第二行表示交换内存(swap)的使用情况,我们可以看到有几个列,具体含义如下:

  • total 列显示系统总的可用物理内存和交换空间大小。
  • used 列显示已经被使用的物理内存和交换空间。
  • free 列显示还有多少物理内存和交换空间可用使用。
  • shared 列显示被共享使用的物理内存大小。
  • buff/cache 列显示被 buffer 和 cache 使用的物理内存大小。
  • available 列显示还可以被应用程序使用的物理内存大小。

示例2:人性化显示

free命令默认显示的单位是KB,显示不太友好,此时我们可以使用加上-h选项,让其更加人性化的显示,示例如下:

(base) [root@iZ8vb ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:          1.9Gi       1.2Gi        79Mi       3.0Mi       616Mi       545Mi
Swap:            0B          0B          0B

示例3: 定时刷新,显示内存信息

随着系统的运行,它的内容都是在不断的变化的,我们可以使用-s参数设置一个时间(单位是秒),每隔一段时间刷新一下内存信息。

(base) [root@iZ8vb15btme7rdyvwu43dyZ ~]# free -s 2
              total        used        free      shared  buff/cache   available
Mem:        2020696     1307824       78392        3384      634480      557324
Swap:             0           0           0

              total        used        free      shared  buff/cache   available
Mem:        2020696     1308232       77912        3384      634552      556884
Swap:             0           0           0

              total        used        free      shared  buff/cache   available
Mem:        2020696     1308232       77912        3384      634552      556884
Swap:             0           0           0

从上面的结果,我们可以知道,每隔2秒,就会刷新一下服务器的内存信息,当你想要停止的时候,只需要按住上Ctrl+C即可退出。

1.5 显示进程资源信息(top)

我们在使用window系统时,可以使用任务管理器,查看每个进程的资源使用情况,那么这个top指令就类似于Linux的任务管理器,示例如下:

top - 15:32:21 up 41 days,  5:55,  1 user,  load average: 0.08, 0.08, 0.03
Tasks: 122 total,   2 running, 120 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.3 us,  1.3 sy,  0.0 ni, 96.7 id,  0.0 wa,  0.3 hi,  0.3 si,  0.0 st
MiB Mem :   1973.3 total,     86.0 free,   1278.2 used,    609.1 buff/cache
MiB Swap:      0.0 total,      0.0 free,      0.0 used.    543.5 avail Mem 
    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND   
2635157 root      10 -10  124680  24928   8012 S   1.0   1.2 126:26.57 AliYunDun 
      1 root      20   0  251864   9620   4520 S   0.0   0.5  41:18.15 systemd   
      2 root      20   0       0      0      0 S   0.0   0.0   0:00.68 kthreadd   
      3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp     
      4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_par_gp 
      6 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/0:0H-events_highpri
      8 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 mm_percpu_wq
      9 root      20   0       0      0      0 S   0.0   0.0   0:00.00 rcu_tasks_rude_
     10 root      20   0       0      0      0 S   0.0   0.0   0:00.00 rcu_tasks_trace
     11 root      20   0       0      0      0 S   0.0   0.0   1:55.22 ksoftirqd/0
     12 root      20   0       0      0      0 R   0.0   0.0   3:00.96 rcu_sched
     13 root      rt   0       0      0      0 S   0.0   0.0   0:00.73 migration/0
     15 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/0   
     17 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kdevtmpfs

第一行数据信息解析(系统常规信息)

top - 15:32:21 up 41 days, 5:55, 1 user, load average: 0.08, 0.08, 0.03

  • 15:32:21 表示当前系统时间
  • up 41 days, 5:55 表示当前服务器运行时间
  • 1 user 表示当前登录的用户数
  • load average: 0.08, 0.08, 0.03 :负载均衡的平均时间,average后面的三个数分别是1分钟、5分钟、15分钟的负载情况

第二行数据信息解析(任务信息统计)

Tasks: 122 total, 2 running, 120 sleeping, 0 stopped, 0 zombie

  • total:表示总的任务数
  • running:表示运行中任务数
  • sleeping:表示睡眠中任务数
  • stopped:表示停止的任务数
  • zombie:僵尸进程

第三行数据信息解析(CPU相关信息)

%Cpu(s): 1.3 us, 1.3 sy, 0.0 ni, 96.7 id, 0.0 wa, 0.3 hi, 0.3 si, 0.0 st

  • 1.3 us: 用户空间占用CPU百分比
  • 1.3 sy: 内核空间占用CPU百分比
  • 0.0 ni: 用户进程空间内改变过优先级的进程占用CPU百分比
  • 96.7 id: 空闲CPU百分比
  • 0.0 wa: 等待输入输出的CPU时间百分比
  • 0.3 hi: 硬中断占用CPU的百分比
  • 0.3 si: 软中断占用CPU的百分比
  • 0.0 st:Steal time是虚拟机监控程序为另一个虚拟处理器提供服务时,虚拟CPU等待真实CPU的时间百分比

第四行数据信息解析(Mem内存状态)

MiB Mem : 1973.3 total, 86.0 free, 1278.2 used, 609.1 buff/cache

  • total 列显示系统总的可用物理内存
  • free 列显示还有多少物理内存
  • used 列显示已经被使用的物理内存
  • buff/cache 列显示被 buffer 和 cache 使用的物理内存大小。

第五行数据信息解析(swap交换分区信息)

MiB Swap: 0.0 total, 0.0 free, 0.0 used. 543.5 avail Mem

  • total 列显示系统总的可用交换空间大小
  • free 列显示还有多少交换空间大小
  • used 列显示已经被使用的交换空间大小
  • avail Mem 列显示可以分配和使用的内存量。

第六行往下信息解析(各任务状态监控)

PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND   
2635157 root      10 -10  124680  24928   8012 S   1.0   1.2 126:26.57 AliYunDun
  • PID: 进程id
  • USER: 进程所有者
  • PR: 进程优先级
  • NI: nice值。负值表示高优先级,正值表示低优先级
  • VIRT: 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
  • RES: 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
  • SHR: 共享内存大小,单位kb
  • S: 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
  • %CPU: 上次更新到现在的CPU时间占用百分比
  • %MEM: 进程使用的物理内存百分比
  • TIME+: 进程使用的CPU时间总计,单位1/100秒
  • COMMAND: 进程名称(命令名/命令行)

1.6 磁盘信息查询命令(df)

我们在window上查看磁盘盘符使用情况时,一般都是打开文件管理器查看,在Linux中查看分区的磁盘使用情况,可以使用df,为了更加人性化的显示,我们可以加上-h的参数,示例如下:

(base) [root@iZ8vb15btme7rdyvwu43dyZ ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        969M     0  969M   0% /dev
tmpfs           987M     0  987M   0% /dev/shm
tmpfs           987M  764K  986M   1% /run
tmpfs           987M     0  987M   0% /sys/fs/cgroup
/dev/vda1        40G   13G   25G  34% /
tmpfs           198M     0  198M   0% /run/user/0

结尾

本期的内容就到这里了,如有不足之处还请大家多多指正,欢迎大家留言、关注、转发、收藏,谢谢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郑大钱呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值