Skip to main content
 首页 » 操作系统

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

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

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

ps执行结果如下:

[root@iZ8vb15btme7rdyvwu43dyZ ~]# ps PID TTY TIME CMD1000396 pts/0 00:00:00 bash1021028 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 CMDroot 1 0 0 Jul22 ? 00:10:41 /sbin/initroot 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 nginxroot 927407 1 0 7月17 ? 00:00:00 nginx: master process nginx -c /root/finance/Finance/nginx.confroot 927408 927407 0 7月17 ? 00:00:04 nginx: worker processroot 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]# lslinlang1 linlang2 linlang3 plus[root@iZ8vb15btme7rdyvwu43dyZ study]# ll | grep linlangdrwxr-xr-x 2 root root 4096 8月 8 15:44 linlang1drwxr-xr-x 2 root root 4096 8月 8 15:44 linlang2drwxr-xr-x 2 root root 4096 8月 8 15:44 linlang3[root@iZ8vb15btme7rdyvwu43dyZ study]# 1.4 系统内存情况查询(free)当我们觉得服务器有点卡顿的时候,想查看一下内存的使用情况,此时就可以使用free命令来查询

示例1:简单使用

(base) [root@iZ8vb15btme7rdyvwu43dyZ ~]# free total used free shared buff/cache availableMem: 2020696 1309716 78024 3392 632956 555928Swap: 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 availableMem: 1.9Gi 1.2Gi 79Mi 3.0Mi 616Mi 545MiSwap: 0B 0B 0B示例3: 定时刷新,显示内存信息

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

(base) [root@iZ8vb15btme7rdyvwu43dyZ ~]# free -s 2 total used free shared buff/cache availableMem: 2020696 1307824 78392 3384 634480 557324Swap: 0 0 0 total used free shared buff/cache availableMem: 2020696 1308232 77912 3384 634552 556884Swap: 0 0 0 total used free shared buff/cache availableMem: 2020696 1308232 77912 3384 634552 556884Swap: 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.03Tasks: 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 stMiB Mem : 1973.3 total, 86.0 free, 1278.2 used, 609.1 buff/cacheMiB 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 AliYunDunPID: 进程idUSER: 进程所有者PR: 进程优先级NI: nice值。负值表示高优先级,正值表示低优先级VIRT: 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RESRES: 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATASHR: 共享内存大小,单位kbS: 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程%CPU: 上次更新到现在的CPU时间占用百分比%MEM: 进程使用的物理内存百分比TIME+: 进程使用的CPU时间总计,单位1/100秒COMMAND: 进程名称(命令名/命令行)1.6 磁盘信息查询命令(df)我们在window上查看磁盘盘符使用情况时,一般都是打开文件管理器查看,在Linux中查看分区的磁盘使用情况,可以使用df,为了更加人性化的显示,我们可以加上-h的参数,示例如下:

(base) [root@iZ8vb15btme7rdyvwu43dyZ ~]# df -hFilesystem Size Used Avail Use% Mounted ondevtmpfs 969M 0 969M 0% /devtmpfs 987M 0 987M 0% /dev/shmtmpfs 987M 764K 986M 1% /runtmpfs 987M 0 987M 0% /sys/fs/cgroup/dev/vda1 40G 13G 25G 34% /tmpfs 198M 0 198M 0% /run/user/0结尾本期的内容就到这里了,如有不足之处还请大家多多指正,欢迎大家留言、关注、转发、收藏,谢谢。

评论列表暂无评论
发表评论
微信