第3章 进阶bash shell命令

第3章 进阶bash shell命令

3.1 监测程序

3.1.1 探查进程

​ 当程序运行在系统上时,我们称之为进程(process)

​ 注意:shell也只是运行在系统上的一个程序而已

ps [选项]    //输出显示进程信息
  常用选项:
   -A 显示系统中所有进程的信息
   -a 显示所有用户进程的信息
   -e 选项作用和-a类似
   -f 完整的显示进程的所有信息
   -l 以长格式显示进程信息
   -r 只显示正在运行的进程
   -u 显示面向用户的格式
   -x 显示所有非控制终端上的进程信息
   -p 显示由进程ID指定的进程信息
   -t 显示指定终端上的进程的信息

-f 选项 扩展的列包含以下有用的信息:

  • UID:启动这些进程的用户
  • PID:进程的进程ID号
  • PPID:父进程的进程ID号
  • C:进程生命周期中的CPU利用率
  • STIME:进程启动时的系统时间
  • TTY:进程启动时的终端设备
  • TIME:运行进程需要的累计CPU时间
  • CMD:启动的程序名称

-l 选项 多出的列包含以下有用的信息(不同风格的shell输出可能会不一样):

  • F:内核分配给进程的系统标记

  • S:进程的状态(O代表正在运行;S代表在休眠;R代表可运行,正等待 运行;Z代表僵化,进程已完成但父进程没响应;T代表停止)

  • PRI:进程的优先级(数字越大优先级越低)

  • NI:谦让度用来参与决定优先级

  • VSZ:进程在内存中的大小,以KB为单位

  • RSS:进程在未换出时占用的物理内存

  • STAT:代表当前进程状态的双字符状态码(第一个字符采用了和Unix风格S列相同的值,第二个字符进一步说明进程的状态:

    · <:该进程运行在高优先级上

    · N:该进程运行在低优先级上

    · L:该进程有页面锁定在内存中

    · s:该进程是控制进程(在我的会话中,它是主要进程)

    · l:该进程是多线程的

    · +:该进程运行在前台

  • ADDR:进程的内存地址

  • SZ:假如进程被换出,所需交换空间的大致大小

  • WCHAN:进程休眠的内核函数的地址

pstree [选项]    //以继承关系(树状结构)查看进程信息
  常用选项:
   -a 显示完整的继承关系,如果是被内存置换出去的进程则会加上括号
   -c 如果有重复的进程名,则分开列出(默认值会在前面加上 *)
   pid|user 查看指定根进程(pid)或用户(user)所拥有的进程

3.1.2 实时监测进程

​ ps 命令虽然在收集运行在系统上的进程信息时非常有用,但它只能显示某 个特定时间点的信息,而 top 命令就能够实时显示进程信息

​ 以下是top命令运行时输出的截图:

在这里插入图片描述

​ 输出的第一部分显示的是系统的概况:第一行显示了当前时间、系统的运 行时间、登录的用户数以及系统的平均负载

说明	平均负载有3个值:最近1分钟的、最近5分钟的和最近15分钟的。数值越大说明系统的负载越高。由于进程短期的突发性活动,出现最近1分钟的高负载值也很常见,但如果近15分钟内的平均负载都很高,就说明系统可能有问题。通常,如果系统的负载值超过了2,就说明系统比较繁忙了。

​ 第二行显示了进程的概要信息——top命令输出中将进程叫做任务(task): 有多少进程处在运行、休眠、停止或是僵化状态(进程完成了但父进程没响 应)。下一行显示了CPU的概要信息。

​ 紧跟其后的两行说明了系统内存的状态。第一行说的是系统的物理内存: 总共有多少内存,当前用了多少,还有多少空闲。后一行说的是同样的信息, 不过是针对系统交换空间的状态而言的。

​ 最后一部分显示了当前运行中的进程的详细列表:

  • VIRT:进程占用的虚拟内存总量
  • RES:进程占用的物理内存总量
  • SHR:进程和其他进程共享的内存总量
  • %CPU:进程使用的CPU时间比例
  • %MEM:进程使用的内存占可用内存的比例

3.1.3 结束进程

kill [信号代码] PID    //对相应pid的进程进行对应信号代码的操作
killall 进程名    //支持通过进程名(可搭配通配符使用)来结束进程

在这里插入图片描述

警告  使用killall命令要小心,因为很容易会误用通配符结束了重要的系统进程,这可能会破坏文件系统。
3.2 监测磁盘空间

​ 如第2章中讨论的,Linux文件系统将所有的磁盘都并入一个虚拟目录下。在 使用新的存储媒体前,需要把它放到虚拟目录下。这项工作称为挂载(mounting)

mount [选项] 设备名 挂载点    //挂载设备到挂载点
umount 设备名|挂载点    //卸载设备

​ 当设备处于“ busy ”状态,即在被使用时,不能进行卸载操作。

​ 此时可以用fuser命令查看正在使用该文件系统的用户信息

fuser [选项] 设备名|挂载点    //用于查看正在使用该文件系统的用户信息
  常用选项:
   -a 显示所有在命令行中指定的文件系统信息
   -k 杀死访问文件的进程
   -i 在杀死使用文件的用户进程之前向用户确认提示
   -u 显示使用文件系统的进程的所有者信息
   -v 像ps命令显示文件的使用者信息
3.3 查看系统信息命令
  • 查看Linux内核版本的命令:uname -r 或 -a
  • 查看文件系统的磁盘空间大小和剩余空间大小的命令:df
  • 查看文件数据占用量的命令:du
  • 显示系统已经运行了多长时间的命令:uptime( 将依次显示:现在时间、系统已运行时长、当前登录用户数、系统在过去1分钟、5分钟、15分钟内的平均负载)
  • 查看当前系统内存使用情况的命令:free
  • 查看登录日志信息的命令:last
  • 显示月历或年历的命令:cal
  • 显示或设置系统当前日期和时间的命令:date(再用 “clock -w” 保存)
3.4 处理数据文件

3.4.1 排序数据

sort [选项] 文件名    //对文件内容进行排序
  常用选项:
   -n 把数字识别成数字而不是字符,且按值排序
   -M 将含有时间戳的文件按月份排序
   -f 忽略大小写排序,默认情况下会将大写字母排序在前
   -r 降序排序,默认升序
   -k --key=POS1[,POS2] 从POS1位置开始排序,到POS2结束
   -t 指定字段分隔符

3.4.2 搜索数据

grep [选项] 关键字 查找范围    //类似于windows系统的Ctrl+F功能
  常用选项:
   -n 输出的同时打印行号
   -m NUM次匹配后停止

3.4.3 压缩和归档数据

在这里插入图片描述

​ 目前,Unix和Linux上最广泛使用的归档工具是tar命令

​ TAR包管理工具有5种基本功能:打包、查询、释放、更新、追加

tar [选项] 文件|目录    //一个文件管理工具,选项众多
  常用选项:
   -c 创建新的TAR包,打包备份也适用这个选项
   -t 列出TAR包中文件的列表,查看包中已备份的文件
   -x 从TAR包中释放文件,解压缩
   -r 把要备份的文件追加到已备份文件的末尾
   -f 使用备份文件或设备,这个选项通常是必选的
   -v 详细报告tar命令处理的文件信息,这个选项通常也是必选的
   -z 用gzip来压缩/解压缩文件
   -j 用bzip2来压缩/解压缩文件
   -w 每次操作都要求确认
   -C 用于指定文件解压后的存放路径
3.5 小结

​ 本章讨论了Linux会用到的一些进阶命令。ps和top命令在判断系统的状态时 特别重要。

​ 在可移动存储普及的今天,另一个常谈的话题就是挂载存储设备。

​ 最后,本章讨论了各种处理数据的工具。sort工具便于组织数据;grep工具 能快速检索大数据文件来查找特定信息。Linux上有一些不同的文件压缩工具,包括bzip2、gzip和zip。TAR工具能将整个目录都归档到单个文件中,还支持压缩文件节省系统空间,也方便数据的迁移。

本章节涉及命令:ps、pstree、top、kill、killall、mount、umount、fuser、uname、df、du、uptime、free、last、cal、date、sort、grep、tar

据文件来查找特定信息。Linux上有一些不同的文件压缩工具,包括bzip2、gzip和zip。TAR工具能将整个目录都归档到单个文件中,还支持压缩文件节省系统空间,也方便数据的迁移。

本章节涉及命令:ps、pstree、top、kill、killall、mount、umount、fuser、uname、df、du、uptime、free、last、cal、date、sort、grep、tar
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值