Linux-Bash shell

More bash shell

Monitor the process

examine process

ps: 默认情况下只显示运行在当前控制台下的进程的信息。
Hint: bash shell is a process.
The default returned value is Process ID, TTY, run time of Process in CPU.

ps支持Unix风格的单破折线参数、BSD风格的无破折线参数、GNU风格的双破折线长参数三种命令行参数。

  • Unix风格
  • e参数指定显示所有运行在系统上的进程,-f参数则扩展了输出
  • l参数实现长格式输出。
  • BSD风格
  • l参数实现的长格式输出更全面
  • GNU风格

ps –forest: **树状显示程序信息(层级化)**。
三套风格的参数可以组合使用。

ps缺陷: 只能读取特定点的进程信息

Real-time Monitoring

top: 实时显示进程信息
第一部分:

  1. 第一行(当前时间、系统运行时间、登录用户数、系统的平均负载[1, 5, 15min])
    15min 平均负载如果大于2,系统认为是高负载。短时间高负载的突发状况很正常。
  2. 第二行: 进程概要信息,分为运行、休眠、停止和僵化
  3. 第三行: CPU概要信息,根据进程的属主、状态将CPU利用率分为几类。
  4. 第4、5行: 系统内存状态。

End the process

Linux中,进程之间通过信号来通信。

Signal Name Description
1 HUP 挂起
2 INT 中断
3 QUIT 结束运行
9 KILL 无条件终止
11 SEGV 段错误
15 TERM 尽可能终止
17 STOP 无条件停止(不是终止)
18 TSTP 停止or暂停,但仍在后台运行
19 CONT 在STOP或TSTP后恢复运行

向运行中的进程发出进程信号的Linux信号:

  1. KILL
    通过PID给进程发TERM信号,前提是你是进程的属主或root用户。
    kill -s : 强制终止
  2. killall(谨慎使用)
    通过进程名而不是PID结束进程,支持通配符

Monitor the disk space

  1. 挂载存储媒体
    Linux文件系统将所有的磁盘都并入一个虚拟目录中。
    挂载(mounting): 在使用新的存储媒体之前,需要将它放到虚拟目录之下。
  2. mount命令
    mount命令提供四部分信息:
  • 媒体的设备文件名
  • 媒体挂在到虚拟目录的挂载点
  • 文件系统类型
  • 已挂载媒体的访问状态

手动挂载: 需以root身份登录
mount -t type device directory
type: vfat \ ntfs \ iso9660

  1. umount命令
    卸载设备: umount [directory | device]

df command

用于了解设备上磁盘空间情况。

du command

显示某个特定目录(默认情况下是当前目录)的磁盘使用情况。
可用于快速判断系统上某个目录下是否有超大文件。

-c: 显示所有已列出文件总的大小
-h: 按用户易读的格式输出大小
-s: 显示每个输出参数的总计

Processing the Data Documents

由于du命令等输出信息过多,所以我们需要找到甄别有用信息的方法。

  1. 排序数据(默认升序)
    sort命令: 按照标准的字符排序
    sort -n: 按照数值排序
    sort -M: 按月排序
    -k: 指定排序的字段
    -t: 指定字段分隔符
    -r: 反序

    1
    du -sh * | sort -nr

    | 为管道命令,将du的输出重新定向到sort中

  2. Search for the data
    grep [options] pattern [file]
    在输入或指定的文件中查找包含匹配指定模式字符的行。

  • 反向搜索: grep -v [options] pattern [file]
  • 显示匹配行: grep -n [options] pattern [file]
  • 显示匹配行总数: grep -c [options] pattern [file]
  • 多个匹配模式: grep -e [options1] -e [options2] pattern [file]
  • 利用Unix风格正则表达式: grep [regular expression] file
    衍生: 支持POSIX风格正则表达式的egrep以及搜寻一列固定长度字符串的fgrep等
  1. Compress the data
    Tools: bzip2(.bz2), compress(.Z), gzip(.gz), zip(.zip)

gzip是GNU项目的产物,可以使用通配符

  • gzip: 压缩文件
  • gzcat: 查看压缩过的文件的内容
  • gunzip: 解压缩文件
  1. Archiving the data
    归档: 将文件按一定结构分类存放,为文件提供分类索引。
    tar function [options] object1, object2,…
    给整个目录结构创建归档文件。

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!