`

文件差、并、diff操作、pstree、iftop命令使用笔记

 
阅读更多

数据准备:

inter12@inter12-VirtualBox:/tmp/temp$ more t1 

12 hi zhaoming 

32 ohoh mingtian

22 jhoh mingtian

2  iehieh tomorrow 

 

inter12@inter12-VirtualBox:/tmp/temp$ more t2  

2  iehieh tomorrow 

12 hi zhaoming 

32 ohoh mingtian

 

 

按照第一列排序

inter12@inter12-VirtualBox:/tmp/temp$ sort -n t1 

2  iehieh tomorrow 

12 hi zhaoming 

22 jhoh mingtian

32 ohoh mingtian

或者是:

inter12@inter12-VirtualBox:/tmp/temp$ sort -h t1 

2  iehieh tomorrow 

12 hi zhaoming 

22 jhoh mingtian

32 ohoh mingtian

 

按照第三列排序:

inter12@inter12-VirtualBox:/tmp/temp$ sort -k3,3 t1 

22 ohoh mingtian

32 jhoh mingtian

2 iehieh tomorrow 

12 hi zhaoming 

 

先按照第三列排序,若是第三列相同的情况下按照第二类排序

inter12@inter12-VirtualBox:/tmp/temp$ sort -k3,3 t1 | sort -s -k2,2 

12 hi zhaoming 

2 iehieh tomorrow 

32 jhoh mingtian

22 ohoh mingtian

 

jhoh这个字符串的首字母是在ohoh之前的,所以结果是正确的.

 

求两个文件的差集,并集,交集

并集:

inter12@inter12-VirtualBox:/tmp/temp$ cat t1 t2 | sort -h | uniq > t3    //按照第一列进行排序后并集

inter12@inter12-VirtualBox:/tmp/temp$ more t3 

2  iehieh tomorrow 

2 iehieh tomorrow 

12 hi zhaoming 

22 ohoh mingtian

32 jhoh mingtian

32 ohoh mingtian

 

交集

inter12@inter12-VirtualBox:/tmp/temp$ cat t1 t2 | sort -h | uniq -d  | tee t3  

12 hi zhaoming 

只有一行是相同的,这个比较工具是按照一行一行的进行比较,只能进行简单的比较

 

 

差集

inter12@inter12-VirtualBox:/tmp/temp$ cat t1 t2  | sort | uniq -u | tee t3 

22 ohoh mingtian

2  iehieh tomorrow 

2 iehieh tomorrow 

32 jhoh mingtian

32 ohoh mingtian

注意这里不是简单的 t3 = t1 - t2 , 而是除去了t1,t2中相同的元素后,剩下的元素。上面可以并集只有一个,3(t1)+4(t1) -2(t1+t2) = 5 所以剩下的就是现在这里 .

 

 

pstree :将用户的进程以一颗树的形式展开

inter12@inter12-VirtualBox:~$ pstree -ps 2086    

init(1)───eclipse4.2.1(2073)───java(2086)─┬─{java}(2087)

                                          ├─{java}(2088)

                                          ├─{java}(2089)

                                          ├─{java}(2090)

                                          ├─{java}(2091)

                                          ├─{java}(2092)

                                          ├─{java}(2093)

                                          ├─{java}(2094)

                                          ├─{java}(2095)

                                          ├─{java}(2096)

                                          ├─{java}(2097)

                                          ├─{java}(2098)

                                          ├─{java}(2099)

                                          ├─{java}(2100)

                                          ├─{java}(2101)

                                          ├─{java}(2104)

                                          ├─{java}(2105)

                                          ├─{java}(2109)

                                          ├─{java}(2161)

                                          ├─{java}(2287)

                                          ├─{java}(2288)

                                          ├─{java}(2289)

                                          ├─{java}(2293)

                                          └─{java}(2296)

常见的参数:

-a  : 列出启动过程中的参数

-p  : 显示PID

-s  :  显示父进程ID

若是后面跟的不是PID,而是用户名,那么就会列出这个用户的进程树

inter12@inter12-VirtualBox:~$ pstree -psa inter12

/usr/bin/termin,2203 /usr/bin/terminator

  ├─(/usr/bin/termin,2209)

  ├─bash,2210

  ├─bash,2419

  │   └─gedit,2478

  │       ├─{gedit},2480

  │       └─{gedit},2481

  ├─bash,2793

  │   └─pstree,3276 -psa inter12

  ├─bash,2872

  ├─bash,2959

  │   └─tail,3038 -f jetty.log

  ├─bash,3185

  │   └─top,3246

  ├─{/usr/bin/termi},2208

  └─{/usr/bin/termi},2211

 

VBoxClient,1816 --clipboard

  └─{VBoxClient},1837

 

VBoxClient,1824 --display

  └─{VBoxClient},1850

 

VBoxClient,1828 --seamless

  └─{VBoxClient},1830

 

bamfdaemon,1915

  └─{bamfdaemon},1991

 

dbus-daemon,1811 --fork --print-pid 5 --print-address 7 --session

 

dbus-daemon,1835 --fork --print-pid 8 --print-address 10 --session

 

dbus-launch,1810 --autolaunch ae29ca89bd7c49cef31124a600000007 --binary-syntax --close-stderr

 

dbus-launch,1834 --exit-with-session gnome-session --session=ubuntu

 

dconf-service,1908

  ├─{dconf-service},1909

  └─{dconf-service},1911

 

eclipse4.2.1,2073

  └─java,2086 -Xms40m -Xmx512m -XX:MaxPermSize=256m -jar/home/inter12/install/soft/eclipse4.2.1/eclipse//plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-181

      ├─{java},2087

      ├─{java},2088

      ├─{java},2089

      ├─{java},2090

。。。。。。。 后面还有很多!这个用户可能还有一个用处就是查看java的线程数量吧:

inter12@inter12-VirtualBox:~$ pstree -p 2086  | grep java | wc -l 

24

2086总共开启了24个线程.

 

iftop:一个查看网络流量的蛮有意思工具

top:

                                   50.0Kb                             100Kb                              150Kb                              200Kb                         250Kb

└──────────────────────────────────┴──────────────────────────────────┴──────────────────────────────────┴──────────────────────────────────┴──────────────────────────────────

inter12-VirtualBox.local                                                  => 192.168.7.41                                                                  0b   7.98Kb  4.03Kb

                                                                          <=                                                                               0b   11.3Kb  5.67Kb

...... 

 

───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

TX:             cumm:   628KB   peak:   43.6Kb                                                                                                 rates:   3.71Kb  2.28Kb  6.09Kb

RX:                     620KB           59.5Kb                                                                                                          3.13Kb  1.88Kb  7.39Kb

TOTAL:                 1.22MB            103Kb                                                                                                          6.84Kb  4.16Kb  13.5Kb

前面两行代表 从本地流向192.168.7.41这个地址的流量 后面三个数值分别代表 过去2秒,10秒,40秒的平均流量

底部的参数说明:

TX:发送流量

RX:接收流量

TOTAL:总流量

Cumm:运行iftop到目前时间的总流量

peak:流量峰值

rates:分别表示过去 2秒 10秒 40秒 的平均流量

 

几个常见的参数:

-i设定监测的网卡,如:iftop -i eth0 

-n使host信息默认直接都显示IP,如:# iftop -n

-F显示特定网段的进出流量,如# iftop -F 192.168.7.41/24或# iftop -F 10.10.1.0/255.255.255.0

iftop -F 192.168.7.41/24

                                   12.5Kb                             25.0Kb                             37.5Kb                             50.0Kb                       62.5Kb

└──────────────────────────────────┴──────────────────────────────────┴──────────────────────────────────┴──────────────────────────────────┴──────────────────────────────────

192.168.7.41                                                              => inter12-VirtualBox.local                                                      0b     80b   4.08Kb

                                                                          <=                                                                               0b     74b   2.90Kb

 

就之显示自己谁设定的IP段

-b使流量图形条默认就显示,比较有用的命令。

-P使host信息及端口信息默认就都显示;

sudo iftop -P 

                                  12.5Kb                             25.0Kb                             37.5Kb                             50.0Kb                       62.5Kb

└──────────────────────────────────┴──────────────────────────────────┴──────────────────────────────────┴──────────────────────────────────┴──────────────────────────────────

192.168.7.41:2181                                                         => inter12-VirtualBox.local:35760                                                0b   11.3Kb  5.16Kb

                                                                          <=                                                                               0b   7.98Kb  3.66Kb

这样就可以看到端口了。

 

-B 以bytes为单位显示流量(默认是bits),如:# iftop -B

详细的可以参见 man iftop 吧

 

 

 

分享到:
评论

相关推荐

    Linux ps和pstree命令知识点总结

    通过熟练掌握`ps`和`pstree`命令,系统管理员可以有效地监控系统资源的使用情况,追踪异常进程,以及进行必要的进程管理操作。如果需要更详细的信息,可以随时使用`man`命令查阅这两个命令的官方文档。 总的来说,`...

    Linux pstree命令用法详解

    Linux pstree命令将所有行程以树状图显示,树状图将会以 pid (如果有指定) 或是以 init 这个基本行程为根 (root),如果有指定使用者 id,则树状图会只显示该使用者所拥有的行程。 使用权限:所有使用者。 语法pstree...

    Linux运维-2系统管理-15系统管理-167top命令和pstree命令.avi

    Linux运维-2系统管理-15系统管理-167top命令和pstree命令.avi

    unix一些命令.pdf

    3. 文件系统命令:包括文件查看、文件操作、文件系统管理等命令。 * ls:显示当前目录下的文件列表。 * cd:切换到指定的目录。 * mkdir/rmdir:创建/删除目录。 * cp/mv:复制/移动文件。 * rm:删除文件。 4. ...

    solaris unix 常用命令

    本文将对 Unix/Linux 的常用命令进行简介,包括目录操作命令、文件管理命令、进程管理命令和系统信息命令等。 目录操作命令 在 Unix/Linux 中,目录操作命令是最基本也是最常用的命令之一。这些命令包括: * ls ...

    2022年优秀-Linux终端常用命令综述.pptx

    本文将对Linux终端常用命令进行综述,帮助读者快速掌握Linux操作系统的基本使用。 一、Linux的终端窗口 Linux的终端窗口是Linux操作系统中最基本的交互方式。通过终端窗口,可以轻松地执行各种命令,管理系统,...

    linux系统常用操作命令

    了解并熟练掌握Linux的常用操作命令是每一个IT从业者的基础技能。下面将详细解释这些命令的用途和使用方法。 1. **基本命令**: - `cd`:改变当前工作目录,例如`cd /home/user`进入用户主目录。 - `mkdir`:创建...

    Linux终端常用命令(共91张PPT).pptx

    * du 命令:显示文件和目录的磁盘使用情况 * fdisk 命令:管理磁盘分区 * mkfs 命令:格式化磁盘 * mount 命令:挂载外部设备 网络管理命令 * ping 命令:测试网络连接 * ifconfig 命令:配置网络接口 * route ...

    操作系统实验报告一.doc

    在这篇实验报告中,我们将学习和熟悉 UNIX/Linux 的常用基本命令,并了解如何使用这些命令来管理文件、目录和进程。同时,我们还将学习如何使用 FTP 程序来实现 WINDOWS 和 UNIX 之间的文件交换。 目录操作: * ls...

    Linux命令笔记

    5:grep 在文件中搜索字串匹配的行并输出 语法:grep -iv[指定字串][文件] 6:uname 显示当前操作系统名称 常用命令/压缩解压 1:gzip 压缩文件 语法:gzip [文件] 2:gunzip 解压缩.gz文件 语法:gunzip [压缩文件] ...

    pstree命令 以树状图显示进程

    Linux系统中pstree命令的英文全称是“process tree”,即将所有行程以树状图显示,树状图将会以 pid (如果有指定) 或是以 init 这个基本行程为根 (root),如果有指定使用者 id,则树状图会只显示该使用者所拥有的...

    Ubuntu命令技巧.pdf

    - 使用命令 `dpkg -L &lt;package&gt;` 来查看指定软件包的安装内容。 **1.2 查找软件** - 可以通过 `apt search &lt;keyword&gt;` 命令来搜索软件仓库中与关键词相关的软件。 - 使用 `apt list &lt;package&gt;` 来查看特定软件的...

    Linux实验二:Linux-基本命令-进程管理.doc

    使用`&`符号可以使命令在后台运行,例如`find / -name *.c | grep "linux" &&gt;/dev/null &`,这个命令会查找包含"linux"的.c文件,并将其后台运行,同时重定向输出和错误到/dev/null。 通过`ps`命令,我们可以获取...

    linux命令练习题

    Linux是开源的操作系统,其命令行工具是进行系统管理和任务执行的主要方式。下面将详细解释题目中的各种Linux命令及其用途。 1. `chmod` 命令用于改变文件或目录的权限。`chmod 604 a.c` 将文件"a.c"的所有者设置...

    步入Linux的现代方法-Markdown格式的笔记

    通过`ps`和`pstree`命令,可以查看进程间的树状关系,了解进程的启动和结束过程。 **7:环境变量** 环境变量控制着程序的运行环境,如`PATH`决定了系统在何处查找可执行文件,`HOME`定义了用户的主目录。理解并适当...

    工作中采用的linux命令

    这些命令涵盖了文件操作、系统管理、进程控制等多方面,是 Linux 用户必须掌握的基础技能之一。 - **cd**: 改变当前工作目录。 - **pwd**: 显示当前工作目录。 - **ls**: 列出目录内容。 - **passwd**: 更改用户...

    后端、嵌入式等岗位常用Linux命令总结(非常详细,持续更新).pdf

    这篇详尽的文章总结了这些岗位上常用的Linux命令,包括文件操作、系统监控、网络管理和库操作等方面,旨在帮助开发者提高工作效率。 一、文件相关操作 1. 查找文件:`find`命令用于在指定路径下搜索文件,如`find /...

    Linux常用命令简介

    - 通过登录、使用`ls`、`pwd`等命令熟悉基本操作。 - 尝试复制文件夹、移动文件等操作,加深对命令的理解。 - 利用`ps`、`top`等命令监控系统资源使用情况。 #### 四、总结 本篇介绍了Linux系统的基本使用方法以及...

Global site tag (gtag.js) - Google Analytics