文件压缩、备份、及查找

文件备份、压缩、查找

      • 文件备份和压缩命令
        • bzip2:压缩文件,后缀.bz2
        • gzip:压缩文件,后缀.gz
        • tar:归档命令
        • zip压缩
        • which:查找文件命令
        • whereis:显示命令及文件路径
        • locate查找文件
        • find文件查找
          • 按文件名查找
          • 按时间查找
          • 按文件大小
          • 指定查找的目录深度
          • 按文件属主、属组查找
          • 按文件类型
          • 按文件权限
          • 找到后处理动作:ACTIONS

文件备份和压缩命令

bzip2:压缩文件,后缀.bz2
bzip2 文件 文件   可压缩多个文件

bzip2 /root/aa/*   可对指定目录内的文件进行压缩处理(每个文件单独一个压缩包)

bunzip2 文件压缩包:解压压缩包,解压后压缩包删除
gzip:压缩文件,后缀.gz
gzip 123.cfg 456.cfg	可压缩多个文件

gzip -r aa	可对指定目录内的文件进行压缩处理(递归处理,每个文件单独一个压缩包)

gunzip:解压压缩包,解压后压缩包删除
tar:归档命令
说明:若归档并压缩,则展开时注意文件名所表示的压缩算法,用的不对则报错。
	使用tar打包时,建议使用相对路径

命令格式:tar [参数] [归档包名] [需打包的文件或目录]
	参数信息:
		-c	创建归档包(tar)
		-x	展开归档包
		-t	显示归档包中的内容
		-f	指定展开的归档包名称
		-v	操作时显示所有文件
		-z	以gzip算法压缩归档包(tgz或者tar.gz)
		-j	以bzip2算法压缩归档包(tbz或者tar.bz)
		
打包压缩		
tar -czvf dirname.tar.gz  dirname	//gzip方式压缩
tar -cjvf dirname.tar.bz2 dirname   //bzip2方式压缩
tar -cJvf dirname.tar.xz  dirname	//xzip方式压缩

解压缩:
tar -x[z|j|J]f 包名 
tar -x[z|j|J]f 包名 -C 目标目录   //解压到指定目录
zip压缩
yum -y install zip               //安装zip工具
yum -y install unzip             //安装解压zip工具

zip -q -r dirname.zip dirname		//zip方式压缩

解压文件:
unzip 需要解压的文件名
unzip 需要解压的文件名 -d 目标路径  //解压到指定目录
which:查找文件命令
PATH环境变量---系统登记的目录,目录内的命令优先使用

这样做使用命令时不用写目录,直接写命令

echo $PATH	输出当前的PATH内容

which rm		查找rm命令的位置

alias rm='rm -i'	返回rm命令的重命名方式

/usr/bin/rm	返回rm命令的位置
whereis:显示命令及文件路径
显示命令的所在位置及对应文档的位置

whereis ls	查找ls命令的所在位置及手册文件的位置

-b参数只找出命令(二进制文件)的位置				
-m参数只找出手册文件的位置
locate查找文件
依赖数据库:locate 需要查找文件名

更新locate数据库:updatedb,tmp目录下的文件不会更新		

开机时候会更新数据库,开机后创建的文件,并没有更新到数据库,会查找不到,这个时候需要更新数据库
find文件查找
find [path..][options][expression][action]
path路径、options选项、expression表达式 、action 动作  
按文件名查找
find 路径 -name 文件名 (-print)默认动作一般不写
find 路径 -iname 文件名 (-print)默认动作一般不写   (-i忽略名字大小写)
find 路径 -iname 文件名* (-print)默认动作一般不写   (通配名字后任意长度,通常于忘记名字后续使用)
按时间查找
find 路径 [atime|ctime|mtime] +文件时间  //单位天   大于文件时间
find 路径 [atime|ctime|mtime] -文件时间  //单位天   小于文件时间
find 路径 [amin|cmin|mmin]	+文件时间  //单位分钟   大于文件时间
find 路径 [amin|cmin|mmin]	-文件时间  //单位分钟   小于文件时间

atime:最后一次查看文件时间
ctime:最后一次修改文件属性时间
mtime:最后一次修改文件内容时间
按文件大小
find 路径 -size +文件大小    >文件大小
find 路径 -size 文件大小     =文件大小
find 路径 -size -文件大小    <文件大小
指定查找的目录深度
find / -maxdepth 文件深度 
按文件属主、属组查找
按属主查找:find / -user "属主"
按属组查找:find / -group "属组"
按文件类型
find 查找路径 -type 文件类型
文件类型:f普通文件、b块设备文件、d目录、p管道、l连接、-文件
按文件权限
find 查找路径 -perm 文件权限 
找到后处理动作:ACTIONS
找到后查看文件名(默认):-print  
找到后查看文件属性:-ls   
查找到后删除文件:-delete  

find /etc -name "" -exec cp {} \;            //查找后用exec处理
find /etc -name "" | xargs -i cp {} /opt     //查找后用xargs处理
-exec:参数是一个一个传递的,传递一个参数执行一次命令。
xargs:将前一个命令的标准输出传递给下一个命令,作为它的参数转换成下一个命令的参数列表。
=====================================================
exec 每处理一个文件或者目录,它都需要启动一次命令,效率不高
exec 格式麻烦,必须用 {} 做文件的代位符,必须用 \来转义; 作为命令的结束符,书写不便 
xargs不能操作文件名有空格的文件

你可能感兴趣的:(linux,服务器,linux,运维)