CSDN搞定 Linux 命令之进程与数据流,不服来辩!| 原力计划( 三 )


5. 2>&1: 把错误和标准输出都重定向到文件中 , 一般放最后面 , 和>,>>一起搭配使用 。
比如说:
cat not_exist_file.csv > results.txt 2>&1这个就是标准输出 , 错误输出都会重定向到results.txt文件中 。
输入重定向
1.<: 文件输入 , 从文件中读取 , 以文件内容作为输入:
cat test.csv:就是以这个文件本身作为输入进行处理 , 也就是要先打开文件 , 再打印文件内容
而cat < test.csv:这个是将test.csv当中的内容作为输入进行打印
2.<<: 键盘输入 , 例:
cat << quit:就是打印键盘输入的内容 , 其中键盘输入以输入quit时截止
3.管道 | :把一个命令的输出重定向到一个命令的输入 , 命令与命令之间建立管道 , 可以多个 。
CSDN搞定 Linux 命令之进程与数据流,不服来辩!| 原力计划
本文插图
这个就是把键盘输入的内容 , 进行cat打印的输出 , 重定向到sort的输入 , 二者建立管道 。
为什么用管道 , 管道能够更加简单 , 多个命令一起用嘛 ,比如说du , 就是深入遍历每一个目录:
CSDN搞定 Linux 命令之进程与数据流,不服来辩!| 原力计划
本文插图
但是这样的话时间花那么久 , 而且列出来的杂乱无章 , 因此可以利用其它命令一起处理一下下:
CSDN搞定 Linux 命令之进程与数据流,不服来辩!| 原力计划
本文插图
这样的话打印出来的文件目录就可以按照大小进行排序了 , 看起来就很舒服了 。 nice!!!
查看系统活动与进程
1.w:查看当前系统有哪些用户登录了以及用户的具体信息
从左到右看:
当前时间为01:25:36,运行正常(up表示正常) , 已经运行了两小时24分钟了 , 只有一个用户 , 之后的load average表示负载 , 三个数值分别表示:

  • 1 分钟以内的平均负载(0.01)
  • 5 分钟之内的平均负载(0.02)
  • 15 分钟之内的平均负载(0.02)
之后两行就是登录的用户列表 , 分别为用户名 , 登录的终端名称 , 用户连接到的服务器的IP地址(由于这个是本机 , 因此是:0) , 刚开始登录的时间 , 用户多久没活跃了 , 该终端所有相关进程使用CPU的时间 , 当下进程使用CPU的时间以及当下运行的进程 。
2.ps:列出运行的进程
  • 对于ps命令:如果说不加任何参数 , 直接使用 , 就是列出当前用户在当前终端正在运行的进程(从左到右依次为进程ID , 进程运行的终端 , 运行时间 , 产生这个进程的程序名):

  • ps -ef:列出所有用户所有终端正在运行的进程

CSDN搞定 Linux 命令之进程与数据流,不服来辩!| 原力计划
本文插图
  • ps -efH:以乔木状列出所有进程
  • ps -u 用户名 :列出此用户运行的进程
  • ps -aux :通过CPU和内存使用来过滤进程
  • ps tree :以树形结构来显示进程 , 父子进程也有
列出的有:用户名 进程ID 父进程ID 产生进程的程序名等等 。
但是ps命令有一个缺点 , 就是静态的 , 只能记录当下那一刻的进程 , 不会实时监控 。
3.top:解决ps的缺点 , 可以动态查看 , 实时监控 , 但是至少显示前面几个最消耗处理器的进程 , 占满终端一页就行了 。
当然 , top还是可交互的 , 进入top后 , 还可以输入命令进行控制:
q:退出top
h:查看top内部命令
s:改变刷新时间 , 默认是3s


推荐阅读