07文件查找,打包压缩及解压

发布时间 2023-11-29 11:31:41作者: 7柒5

1.文件查找

find详解:文件查找,针对文件名

#### 语法:
find 路径 条件 跟条件相关的操作符

按文件名

find 路径 -name 跟条件相关的操作符
例如:find / -name "file2"
熟用*通配符
find /etc -iname "*.txt"
# -iname 不区分大小写

按文件大小 -size

find 路径 -size 大小 # -5M 小于5M +5M 大于5M
例如:find /etc -size -5M
# -a 是and 和的意思 -o 是or 或者的意思
例如:find /etc -size +5M -a或者-o -iname 1 "*.txt"

按时间查找

-atime= access 访问时间
-mtime= modify 改变时间 内容修改时间会改变
-ctime= change 修改时间 属性修改时间会改变
-amin #分钟
-mmin
-cmin
例如:find /opt -mtime +5 #修改时间5天之前
find /opt -ctime -5 #修改时间5天之内

按文件类型

find 路径 -type 文件类型
# f 普通文件
# d 目录
# l 链接
# b b块设备
例如: find /etc -type f

按文件权限

find 路径 -perm 权限(数字)
例如:find /usr/bin -perm 644
find /usr/bin -perm -4000 #包含set uid
find /usr/bin -perm -2000 #包含set gid
find /usr/bin -perm -1000 #包含sticky

-exec和xargs的区别

-exec:参数是一个一个传递的,传递一个参数执行一次命令。
xargs:将前一个命令的标准输出传递给下一个命令,作为它的参数转换成下一个命令的参数列表。

例如:
find /ect -name ".txt" -exec cp {} /tmp
find /ect -name ".txt" | xargs -i cp {} /tmp

分别找出testhe除了test的文件

find /home/ -name *test*
find /home/ ! -name "test5*" # !--取反

二、打包压缩

打包

语法:
tar cvf xxx.tar 被打包的文件名字
c :create 创建
v :verbose 详细信息
f :file 文件

解包

tar xvf xxx.tar -C 被解压到哪的路径
x: extract 解压缩 解包
-C: 指定解包路径

解压缩 压缩

压缩软件:bzip2,gzip
语法:
gzip #压缩
bzip2 #压缩
gzip -d #解压
bzip2 -d #解压

打包压缩一起

tar cvzf file.tar.gz 源文件 #z 表示gz压缩
tar cvjf file.tar.gz 源文件 #z 表示bz2压缩

解压解包一起

语法:
tar xvzf 压缩文件 -C 解压路径
tar xvjf 压缩文件 -C 解压路径
# tar xvzf file.tar.gz dir1 #打包并压缩
# tar xvzf file.tar.gz -C /tmp/dir1 # 解压并指定位置

三、习题

1.简述tar命令的使用方法。

(1)建包(打包)操作

tar -cvf <包文件名.tar> <要打包的文件或目录>

(2)解包操作

tar -xvf <包文件名.tar>

(3)建立压缩包操作

tar -zcvf <包文件名.tar.gz> <要打包的文件或目录>

(4)解压缩包操作

tar -zxvf <包文件名.tar.gz>