《Linux命令行与shell脚本编程大全》 第四章

简介: 4.1 监测程序 1. ps  默认只显示运行在当前控制台下的属于当前用户的进程。  可以接很多选项,比如 -A表示所有进程  -e等。 2. ps -l  查看进程更多信息   UID:启动这些进程的用户 PID:进程的进程ID PPID:父进程的进程ID C:进程生命周期中的CPU...

4.1 监测程序

1. ps  默认只显示运行在当前控制台下的属于当前用户的进程。  可以接很多选项,比如 -A表示所有进程  -e等。

2. ps -l  查看进程更多信息

 

UID:启动这些进程的用户

PID:进程的进程ID

PPID:父进程的进程ID

C:进程生命周期中的CPU利用率

TTY:进程启动时的终端设备

TIME:运行进程需要的累计CPU时间

CMD:启动的程序名称

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

ADDR:进程的内存地址

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

S:进程的状态(O正在运行,S代表正在休眠,R代表可运行,T代表停止,Z代表僵尸进程,进程已结束资源还没有回收,但是父进程也不在了,没人给他们收尸)

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

 

还有一种这样的

 

 

4.1.2 实时监测进程

top:这个是实时显示的

 

4.1.3 结束进程

kill 4223   直接输入进程ID号结束

killall http*  通过进程名来结束进程,杀掉所有以http开头的进程

 

 

补充:关于目录的知识:

1. linux将文件存储在单个目录结构中,这个目录被称为虚拟目录(virtual directory)

虚拟目录将安装在PC上的所有存储设备的文件路径纳入单个目录结构中。

2./home/xcy/test/1.c  路径本身没有提供任何有关文件究竟存放在哪个物理磁盘上的信息

3.linux pc机上安装的第一块硬盘称为根驱动器。根驱动器包含了虚拟目录的核心,其他目录都是那里开始构建的。

4. Linux会在根驱动器上创建一些特别的目录,我们称之为挂载点。挂载点是虚拟目录中用于分配额外存储设备的目录。虚拟目录会让文件和目录出现在这些挂载点目录中,然而实际上他们却存储在另外一个驱动器中。

4.2 监测磁盘空间

定义:Linux文件系统将所有的磁盘都并入一个虚拟目录下,再使用新的存储媒体之前,需要把它放到虚拟目录下,这个工作叫做挂载(mounting)。

1.mount:默认情况下输出当前系统上挂载的设备列表

可以看到四部分信息:媒体的设备文件名,媒体挂载到虚拟目录的挂载点,文件系统类型,已挂载媒体的访问状态

 

2. 媒体设备挂载到了虚拟目录以后,root用户就有了该设备的所有访问权利,而其他用户则会被限制。

3. umount。从Linux上移除一个可移动设备时,不能从系统上移除,而应该先卸载。哎,还是不太明白。

 

 

4.df:查看所有已挂载磁盘的使用情况, 也可以df -h。比较容易看懂

5.du:快速查看目录中的磁盘使用情况(默认是当前目录)。也可以加 -h 参数。

-c 显示所有已列出文件总的大小

-s 显示每个输出参数的总计

4.3 处理数据文件

排序: sort  file

还可以接很多参数。

比如 sort -t ':' -k 3 test

可以看成里面的内容是这样  xxx1:xxx2:xxx3:xxx4:xxx5

表示对xxx3进行排序

-t: 指定一个用来区分键位置的字符

-k: --key=pos1[pos1]。排序从pos1开始,如果指定了pos2的话到pos2结束。

 

| 将du命令的输出重定向到sort命令。

-r:表示降序排列。

下面是一个例子:

 

 4.3.2

1. grep [options] pattern [file]

例如:

grep t test // 在test中搜索能匹配模式t的文本

grep -v t test // 匹配没有t的

-n 可以加上行号

-e 匹配多个模式, grep -e t -e f test // 找有t或f的所有行

 

4.3.3 压缩数据

4.3.4 归档数据 tar

 

目录
相关文章
|
14天前
|
Shell Linux
【linux】Shell脚本中basename和dirname的详细用法教程
本文详细介绍了Linux Shell脚本中 `basename`和 `dirname`命令的用法,包括去除路径信息、去除后缀、批量处理文件名和路径等。同时,通过文件备份和日志文件分离的实践应用,展示了这两个命令在实际脚本中的应用场景。希望本文能帮助您更好地理解和应用 `basename`和 `dirname`命令,提高Shell脚本编写的效率和灵活性。
77 32
|
17天前
|
Linux
Linux编程: 在业务线程中注册和处理Linux信号
本文详细介绍了如何在Linux中通过在业务线程中注册和处理信号。我们讨论了信号的基本概念,并通过完整的代码示例展示了在业务线程中注册和处理信号的方法。通过正确地使用信号处理机制,可以提高程序的健壮性和响应能力。希望本文能帮助您更好地理解和应用Linux信号处理,提高开发效率和代码质量。
42 17
|
26天前
|
Linux
Linux编程: 在业务线程中注册和处理Linux信号
通过本文,您可以了解如何在业务线程中注册和处理Linux信号。正确处理信号可以提高程序的健壮性和稳定性。希望这些内容能帮助您更好地理解和应用Linux信号处理机制。
54 26
|
19天前
|
缓存 Shell 开发工具
[oeasy]python064_命令行工作流的总结_vim_shell_python
本文总结了命令行工作流中的关键工具和操作,包括vim、shell和Python。主要内容如下: 1. **上次回顾**:完成了输入输出的代码编写,并再次练习了vim的使用。 2. **shell基础**:介绍了shell环境及其基本命令,如`pwd`、`cd`、`ll -l`等。 3. **Python游乐场**:通过`python3`命令进入Python交互环境,可以进行简单计算和函数调用,常用函数有`help`、`ord`、`chr`等。 4. **vim编辑器**:详细讲解了vim的三种模式(正常模式、插入模式、底行命令模式)及其切换方法,以及常用的底行命令如`:w`、`:q`、`
83 15
|
7天前
|
Ubuntu Shell Linux
Linux命令行解释器的模拟实现
Linux命令行解释器的模拟实现
|
2月前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
126 13
|
3月前
|
Shell Linux 测试技术
6种方法打造出色的Shell脚本
6种方法打造出色的Shell脚本
113 2
6种方法打造出色的Shell脚本
|
3月前
|
人工智能 Shell iOS开发
AI Shell:在命令行里“对话” AI ,微软推出将 AI 助手引入命令行的 CLI 工具,打造对话式交互命令行
AI Shell 是一款强大的 CLI 工具,将人工智能直接集成到命令行中,帮助用户提高生产力。AI Shell 支持多种 AI 模型和助手,通过多代理框架提供丰富的功能和灵活的使用模式。
401 7
|
3月前
|
Ubuntu Linux 网络安全
linux系统ubuntu中在命令行中打开图形界面的文件夹
在Ubuntu系统中,通过命令行打开图形界面的文件夹是一个高效且实用的操作。无论是使用Nautilus、Dolphin还是Thunar,都可以根据具体桌面环境选择合适的文件管理器。通过上述命令和方法,可以简化日常工作,提高效率。同时,解决权限问题和图形界面问题也能确保操作的顺利进行。掌握这些技巧,可以使Linux操作更加便捷和灵活。
117 3
|
3月前
|
存储 Shell Linux
Linux 如何更改默认 Shell
Linux 如何更改默认 Shell
108 0
Linux 如何更改默认 Shell