文件压缩与find命令
1.文件压缩
作用:主要是减少负载减少IO操作;其次节省磁盘空间,减少带宽使用
tar命令 #压缩解压命令
压缩格式: tar zcvf 包的名字.tar.gz 打包的内容 (多个文件 多个目录)
参数: z:gzip压缩 c:创建 v:显示过程(可以省略) f:指定文件名称
打包文件:tar zcvf hosts.tar.gz hosts
打包目录:tar zcf etc.tar.gz /etc #不让提示 使用相对路径打包
tar: Removing leading `/' from member names # 如果全路径打包会提示从成员中删除根/ 保护系统安全
解压格式:tar xf 压缩文件名
解压文件:tar xf hosts.tar.gz
解压到固定位置:tar xf 压缩文件名 -C 位置目录 # tar xf /tmp/hosts.tar.gz -C /opt/
查看压缩包中的文件名称:tar tf 压缩文件名 #压缩包中文件内容只能解压才能看到
zip命令 #压缩命令
格式:zip 包的名字 打包的内容
unzip命令 #解压命令
格式:unzip 包的名字 -d 指定解压位置
2.find命令
1)查找目录,并且显示隐藏文件 默认显示目录及目录以下所有符合的文件
格式:find 目录位置 -type f #按类型查找f文件、d目录、l软连接
find ./ -type f #查找当前文件
2)按名称查找文件
格式:find 目录位置 -type f -name “需要查找内容的名字” #可以不写文件类型
find ./ -type f -name "1.txt"
3)按大小查找文件
格式:find 目录位置 -type f -size 参数 #size常用参数有k、M、G
find ./ -type f -size +90M # 查找大于90M的文件
find ./ -type f -size -90M # 查找小于90M的文件
find ./ -type f -size +90M and -100M # 查找大于90M和小于100M的文件
find ./ -type f -size +90M or -50M #查找大于90M或小于50M的文件
4)按时间查找文件
格式:find 路径 -mtime 参数 0一天内 +0一天前 数字都是加24小时计算
find ./ -type f -mtime +30
时间分三种:
stat可以查看文件的详细信息:
-mtime 按照文件的修改时间查找 #常用 修改文件时间 vi vim echo
-atime 按照文件的访问时间查找 #查看文件时间 cat less vim 修改文件后的第一次查看时间会改变
-ctime 按照文件属性的改变时间查找
5)按照inode号查找文件
格式:find 路径 -inum inode号码
6)find查找到的文件 如何cp rm move 以cp为例
find中所有的别名失效,rm不会提示交互信息 慎用
方法1:参数|xargs
find ./ -type f -name "test.sh"|xargs -i cp {} /opt #-i把前边的命令结果定位到{}中
方法2:参数-exec #以反斜杆;结尾 分号在shell中有涵义--命令的分隔符
find ./ -type f -name "test.sh" -exec cp {} /tmp ;
方法3: cp find ./ -type f -name "test.sh"
/etc/ #反引号原地定位命令结果