Linux Shell 用法(三)1.文件的相关操作

本文详细介绍了Linux Shell中关于文件的各种操作,包括如何生成任意大小的文件、使用dd和comm命令处理文本文件的交集与差集、查找并删除重复文件、理解文件权限、所有权与粘滞位、设置文件为不可修改、批量生成空白文件、查找符号链接及其目标以及统计文件类型信息。
摘要由CSDN通过智能技术生成

生成任意大小的文件

dd
if表示输入文件(input file);
of表示输出文件(output file);
bs指定了以字节为单位的块大小(block size);
count表示需要被复制的块数。

$ dd if=/dev/zero of=junk.data bs=1M count=1
1+0 records in
1+0 records out
1048576 bytes (1.0 MB) copied, 0.00767266 s, 137 MB/s

文本文件的交集与差集

comm命令可用于比较两个已排序的文件
交集(intersection):打印出两个文件所共有的行。
求差(difference):打印出指定文件中所包含的互不相同的那些行。
差集(set difference)1:打印出包含在文件A中,但不包含在其他指定文件(例如B和C)中的那些行。

$ sort A.txt -o A.txt ; sort B.txt -o B.txt

(1) 首先执行不带任何选项的comm:

$ comm A.txt B.txt

(2) 为了打印两个文件的交集,我们需要删除前两列,只打印出第三列。-1选项可以删除第 一列,-2选项可以删除第二列,最后留下的就是第三列:

$ comm A.txt B.txt -1 -2

(3) 删除第三列,就可以打印出两个文件中互不相同的那些行:

$ comm A.txt B.txt -3

(4) 可以使用tr(在第2章中讲到过)删除制表符来合并两列:

$ comm A.txt B.txt -3 | tr -d '\t'

(5) 通过删除不需要的列,我们就可以分别得到A.txt和B.txt的差集。
A.txt的差集

$ comm A.txt B.txt -2 -3 -2 -3 删除第二列和第三列。

B.txt的差集

$ comm A.txt B.txt -1 -3 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值