6-文件查找与压缩

搜索

locate

使用locate的时候,系统初始安装的时候,locate引用的**/var/lib/mlocate/mlocate.db这个库还没有生成。因为无法采用;使用updatedb**生成该库;由于建立时需要进行全盘扫描,建立文件的引用,会瞬间占用磁盘IO,影响生产IO;建议再系统初始化的时候进行手动创建该库

新增的文件,不一定能找得到;库不能够实时更新;要想找到文件,还需要再执行updatedb更新索引;建立库的时候对性能磁盘IO有一定影响。
适合:寻找相对固定的文件

-i

不区分大小写的搜索

-n

-n N只列出前N个

-r

支持正则表达式
在这里插入图片描述

find

特点

实时查找工具,通过遍历指定路径完成文件查找

特点:
查找速度略慢;
精确查找;
实时查找;
可能只搜索用户具备读取和执行权限的目录

语法

默认具有递归行为
find /etc -name f1.txt

-maxdepth level

最大搜索目录深度,指定目录下的文件为第一级

-mindepth level

最小搜索目录深度

-depth

先处理目录内的文件,再处理目录本身(指定目录)

-name

-name “文件名称”,支持通配符,,?,[],[^]
-iname “文件名称”,不区分字母大小写
-inum n 按inode号查找
-samefile name 相同inode号的文件
-links n 链接数为n的文件
-regex “PARRERN” 以正则表达式
**匹配整个文件路径***,而非文件名
-name 后跟的文件名,用通配符表示的要加双引号
在这里插入图片描述

根据属主、属组查找

-user USERNAME
查找属主为指定用户(UID)的文件
-group GRPNAME
查找属组为指定组(GID)的文件
-uid UserID
-gid GroupID
-nouser
查找没有属主的文件
-nogroup
查找没有属组的文件

根据文件Type查找

-type TYPE
f普通文件
d目录文件
l符号链接文件
s套接字文件
b块设备文件
c字符设备文件
p管道文件
-empty

find  /app   -type  d  -empty
查找条件(-a,-o)

组合条件
与:-a
或:-o
非:-not !
在这里插入图片描述
在这里插入图片描述

find示例

在这里插入图片描述

排除搜索某个文件夹之外的其他特征文件

在/etc下搜索.conf结尾的文件,排除/etc/sane.d该文件夹下的.conf文件在这里插入图片描述

根据文件大小

搜索的文件大小是按照一定大小区间进行搜索的
-size 单位:k,M,G,c(byte)
find -size 10k
find size +1M

unit:(#-1,#]
-unit:[0,#-1]
+unit:(#,)
!

在这里插入图片描述在这里插入图片描述

根据时间戳

在这里插入图片描述

根据权限查找

在这里插入图片描述

xargs

很多命令不支持管道来传递参数,xargs用于产生命令参数
把一些命令的参数,当传递的参数过多时,会导致命令失败。现在将传递 参数一个一个的进行传送。
怎么让一个命令 的参数自动生成

参数传递

xargs  rm  -f

在这里插入图片描述
也可以将文本直接传递给xargs,进行命令执行
在这里插入图片描述

-n

在这里插入图片描述

批量创建用户

useradd只支持标准的一个参数,现用xargs每行传递一个参数(-n1)给useradd在这里插入图片描述

ls查询传递过来的参数!

在这里插入图片描述
在这里插入图片描述

删除文件时的问题

在这里插入图片描述

find示例

-exec 查找的文件,进行复制或者删除 的时候,不进行提示询问
-ok 查找的文件,进行复制或者删除 的时候,提示询问
在这里插入图片描述

练习

在这里插入图片描述

压缩工具

compress

compress m.log压缩成后缀为.Z的文件,原有文件不存在。

解压缩

uncompress m.log.Z

-d

解压缩
compress -d m.log.Z

-c

compress -c m.log > m.log.Z
-c会进行标准输出,然后利用重定向到新 的文件中,不删除原文件

gzip

压缩

进行压缩时,建议不对原始文件进行压缩,利用-c,进行标准输出,不改变原始文件。
gzip m.log
在这里插入图片描述

解压缩

gzip -d m.log
gunzip m.log.gz

-c

结果输出至标准输出,保留原文件不改变

压缩比

-#,-后跟一个数字(1-9),值越大压缩比越大
在这里插入图片描述

查看压缩文件内的内容

在这里插入图片描述

-f

从屏幕中获取标准输入,然后打印压缩后的效果

bzip2

-k

keep,依然保留原始文件

-d

解压缩
bzip2 -d file2.bz2
bunzip2 file2.bz2

-#

1-9压缩比,默认是9

不显式解压缩的前提下看文件内容

bzcat m.bz2

xz

xz新的压缩工具,压缩比最高,但对于大量数据压缩时,花费时间较长
-k
-d
-#
解压缩unxz
未解压缩进行查看 xzcat file.xz

打包工具

zip

zip  -r  /backup/sysconfig    /etc/sysconfig/

解包解压缩

unzip   sysconfig.zip

cat  /var/log/messages | zip messages -
用-表示管道前 的标准输入

unzip  -p   messages  > message
把压缩生成 的文件进行解压缩,重定向到新的文件中

tar

打包

tar -cpvf /PATH/file.tar FILE

预览tar包文件

tar -tvf m.tar

解包

默认是解在当前目录中
tar -xvf m.tar

向tar包中追加文件

tar -rf etc.tar /boot/vmlinux-3.10.0-957.el7.x86_64
向etc.tar这个包中追加后跟的这个文件
确认追加成功:
tar -tvf etc.tar

打包压缩一起用

tar   -zcvf   etc.tar.gz  /etc/             .gz后缀
tar    -jcvf    etc.tar.bz2    /etc/        .bz2后缀

解压缩解包一起用

tar  -xvf    etc.tar.gz   /etc/

统计某种文件多少行

在这里插入图片描述
在这里插入图片描述

判断命令执行的时长

time
在这里插入图片描述

排除压缩目录里的指定文件

–exclude
在这里插入图片描述

指定某个文件中的文件夹列表中的文件进行打包

-X 指定包含要排除的文件列表
在这里插入图片描述

split(文件切割)

用split将压缩文件切分成1k大小的文件
在这里插入图片描述
将切分的压缩文件进行合并
在这里插入图片描述

cpio

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值