Linux基本命令练习(5)

参考实验楼课程Linux命令实例练习

comm命令

通常比较文本文件的内容很有帮助。对于系统管理员和软件开发者来说,这个尤为重要。一名系统管理员可能,例如,需要拿现有的配置文件与先前的版本做比较,来诊断一个系统错误。同样的,一名程序员经常需要查看程序的修改。

comm 命令将逐行比较已经排序的两个文件。显示结果包括 3列:第 1 列为只在第一个文件中找到的行,第 2列为只在第二个文件中找到的行,第 3 列为两个文件的共有行。

注意,comm命令和 joinuniq命令一样,只能用于已经排过序的数据。

命令格式:

comm [选项]文件 1 文件 2

常用参数:

参数

描述

-1

不输出文件 1 特有的行

-2

不输出文件 2 特有的行

-3

不输出两个文件共有的行

 

diff命令

类似 comm命令,diff 命令被用来监测文件之间的差异。然而,diff是一款更加复杂的工具,它支持许多输出格式,并且一次能处理许多文本文件。软件开发员经常使用 diff程序来检查不同程序源码版本之间的更改,diff能够递归地检查源码目录,经常称之为源码树。diff程序的一个常见用例是创建 diff文件或者补丁,它会被其它程序使用,例如 patch程序(我们后面会讲到),来把文件从一个版本转换为另一个版本。

diff 在命令行中打印每一个行的改动,并且 diff svn、cvsgit等版本控制工具不可或缺的一部分。

diff 命令是 differential的缩写。

命令格式:

diff [选项]文件

常用参数:

参数

描述

-c

上下文模式,显示全部内文,并标出不同之处

-u

统一模式,以合并的方式来显示文件内容的不同

-a

只会逐行比较文本文件

-N

在比较目录时,若文件 A 仅出现在某个目录中,预设会显示:Only in 目录。若使用-N 参数,则 diff 会将文件 A 与一个空白的文件比较

-r

递归比较目录下的文件

 

patch命令

patch 命令被用来把更改应用到文本文件中。它接受从 diff程序的输出,并且通常被用来把较老的文件版本转变为较新的文件版本。让我们考虑一个著名的例子。Linux内核是由一个大型的,组织松散的贡献者团队开发而成,这些贡献者会提交固定的少量更改到源码包中。这个 Linux内核由几百万行代码组成,虽然每个贡献者每次所做的修改相当少。对于一个贡献者来说,每做一个修改就给每个开发者发送整个的内核源码树,这是没有任何意义的。相反,提交一个 diff文件。一个 diff 文件包含先前的内核版本与带有贡献者修改的新版本之间的差异。然后一个接受者使用 patch程序,把这些更改应用到他自己的源码树中。使用 diff/patch组合提供了两个重大优点:

1.    一个 diff文件非常小,与整个源码树的大小相比较而言。

2.    一个 diff文件简洁地显示了所做的修改,从而允许程序补丁的审阅者能快速地评估它。

当然,diff/patch能工作于任何文本文件,不仅仅是源码文件。它同样适用于配置文件或任意其它文本。

准备一个 diff文件供 patch 命令使用,GNU 文档建议这样使用 diff命令:

diff-Naur old_file new_file > diff_file

old file new file部分不是单个文件就是包含文件的目录。这个 r选项支持递归目录树。

命令格式:

diff [选项]补丁文件

常用参数:

参数

描述

-p num

忽略几层文件夹

-E

如果发现了空文件,那么就删除它

-R

取消打过的补丁

 

df命令

linux df命令的功能是用来检查 linux 服务器的文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

df 命令是 disk free的缩写。

命令格式:

df [选项]文件

常用参数:

参数

描述

-a

全部文件系统列表

-h

方便阅读方式显示

-i

显示 inode 信息

-T

文件系统类型

-t<文件系统类型>

只显示选定文件系统的磁盘信息

-x<文件系统类型>

不显示选定文件系统的磁盘信息

 

du命令

linux du命令也是查看使用空间的,但是与 df 命令不同的是 Linux du命令是对文件和目录磁盘使用的空间的查看。

du 命令是 disk usage的缩写。

命令格式:

du [选项]文件

常用参数:

参数

描述

-a

显示目录中个别文件的大小。

-b

显示目录或文件大小时,以 byte为单位。

-c

除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。

-k

KB(1024bytes)为单位输出。

-m

MB 为单位输出。

-s

仅显示总计,只列出最后加总的值。

-h

K,MG为单位,提高信息的可读性

 

time命令

time 命令常用于测量一个命令的运行时间,包括实际使用时间(real time)、用户态使用时间(the process spent in user mode)、内核态使用时间(the process spent in kernel mode)。

实际时间:从 command 命令行开始执行到运行终止的时间。

用户态使用时间:命令执行完成花费的用户 CPU时间,即命令在用户态中执行时间总和。

内核态使用时间:命令执行完成花费的系统 CPU时间,即命令在核心态中执行时间总和。

命令格式:

time 命令

常用范例:

time date运行的时间

{time date; } 2>1.txt time命令的执行结果保存到文件中

(timedate) 2>2.txt time命令的执行结果保存到文件中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值