第9章 文件查找、打包压缩及解压
1 文件查找
1.1 查看和搜索命令路径
通过 echo
命令查看环境变量 PATH
的值,该变量包含了系统用于查找命令的目录路径:
echo $PATH
$PATH
变量以冒号分隔为多个字段,每个字段代表一个目录。
使用 which
命令在 PATH
设置的目录中查找符合条件的命令文件,例如查找 useradd
命令的位置:
which useradd
从输出结果可知 useradd
命令的位置为 /usr/sbin/useradd
。
1.2 使用 locate 命令快速查找文件
locate
命令通过搜索数据库 /var/lib/mlocate/mlocate.db
来快速查找文件或目录,可用于快速定位文件:
locate qfedu.txt
为了避免找不到新创建的文件,可先使用 updatedb
命令手动更新数据库:
updatedb
locate qfedu.txt
1.3 使用 find 命令详细搜索文件
find
命令提供了强大的文件搜索功能,可以根据多种条件进行搜索。
1.3.1 根据文件名搜索
在指定目录下查找文件名为 "ifcfg-ens33" 的文件:
find / -name "ifcfg-ens33"
1.3.2 大小写不敏感和通配符搜索
使用 -iname
参数忽略大小写,使用通配符 *
在不确定文件名称时进行搜索:
find / -iname "ifcfg-ens33"
find / -iname "ifcfg-*"
1.3.3 根据目录深度搜索
通过 -maxdepth
参数指定查找的目录深度,提高搜索效率:
find / -maxdepth 3 -a -name "ifcfg-en*"
1.3.4 根据文件大小和时间搜索
find
命令可以根据文件大小和时间进行搜索。
-
根据文件大小搜索,例如查找大于5MiB的文件:
find /etc/ -size +5M
-
根据修改时间搜索
1.4 find 命令删除文件
使用 find
命令结合 -exec
参数删除文件:
find . -name "qf.txt" -exec rm -rvf {} \;
2 文件打包压缩
2.1 使用 gzip 对文件进行压缩
使用 gzip
对文件进行压缩,例如对 dir01
目录下的所有文件:
gzip dir01/*
2.2 使用 tar 命令打包压缩文件
tar
命令可以对文件进行打包,并通过调用其他压缩工具进行压缩。
-
使用
tar -czf
对目录进行 gzip 压缩:tar -czf etc1-gzip.tar.gz /etc/
-
使用
tar -cjf
对目录进行 bzip2 压缩:tar -cjf etc1-bzip2.tar.gz /etc/
-
使用
tar -cJf
对目录进行 xz 压缩:tar -cJf etc1-xz.tar.gz /etc/
-
2.3 查看压缩文件信息
使用 file
命令查看压缩文件的信息,例如:
file etc1-gzip.tar.gz
file etc1-bzip2.tar.gz
3 文件解压
3.1 使用 tar 命令解压文件
使用 tar
命令对压缩文件进行解压,例如解压 etc1-gzip.tar.gz
到 /var/tmp
目录:
tar -xvf etc1-gzip.tar.gz -C /var/tmp
3.2 使用 unzip 解压 .zip 文件
对于后缀为 .zip
的压缩文件,直接使用 unzip
命令解压:
unzip xxx.zip