在linux系统上,有一个核心思想,那就是一切皆文件。那我们在和linux系统打交道的同时,不免要和文件打交道。既然如此,那掌握文件查找、压缩、解压缩和文件归档类工具是我们必不可少的一项技能。
文件查找工具:locate、find
locate是一款非实时性查询工具,它是根据事先建立的索引数据库来查找文件,索引的构建是在系统不繁忙时自动创建,需要遍历整个根文件系统,极其消耗资源,管理员也可以手工创建。正因为如此,所以locate查询文件比较快,但不能够精确查找,都是模糊查询。
locate -i :区分大小写进行搜索
locate -n x:只显示前x个搜索到的文件
updatedb:手动更新索引数据库
locate foo:搜索名称或者路径中带有foo的文件
find是一个实时性查找工具,通过遍历指定路径完成文件查找,查找速度略慢;find可以指定条件查找,能够精确查找文件。
find语法:find 选项 查找路径 查找条件 处理动作
查找路径:指定具体目标路径,默认为当前路径
查找条件:指定具体查找条件,可以文件名、文件大小、类型等等
处理动作:对符合条件的文件做什么操作,默认输出屏幕
find查找条件:
1、根据文件名和inode查找
-name:根据文件名称查找,支持通配符,*、?、【】、【^】
-iname:文件名称不区分大小写
-inum:根据inode号查找
-links n:连接数为n的文件
-samefile name:查找相同inode号的文件
-regex:匹配整个文件路径,不只是文件名称
2、根据文件属主和属组查找
-user username:查找属主为指定的用户
-group groupname:查找属组为指定的组
-uid ID:查找属主为指定的UID的文件
-gid ID:查找属组为指定的GID的文件
-nouser:查找没有属主的文件
-nogroup:查找没有属组的文件
3、根据文件类型查找
-type f:查找普通文件
-type d:查找目录文件
-type b:查找块设备文件
-type c:查找字符设备文件
-type s:查找套接字文件
-type p:查找管道文件
-type l:查找符号链接文件
4、组合条件查找。与 -a、或 -o 、非 -not !
!A -a !B = !(A -o B)
!A -o !B = ! (A -a B)
查找/var下不属于root、gdm的所有文件
查找/var目录下属主为root,且属组为mail的所有文件
5、根据文件大小查找
-size # k,M,G 范围 (#-1,#]K,M,G
-size -# K.M,G 范围 [0,#-1]K,M,G
-size +#K.M,G 范围 (#,oo)K,M,G
6、根据时间戳查找
-atime # 按访问时间查找,以天为单位
-atime -# 【0,#) #天内访问
-atime *# 【#*1,oo】 #+1天之前访问
-atime # 【#,#+1) #天与#+1天之间访问
-mtime和-ctime 和上面语法一样,-mtime是修改时间,ctime是文件属性修 改时间,-amin -mmin -cmin 是以分钟为单位
7、根据文件权限查找
-perm MODE:精确权限匹配
-perm /MODE:任何一位u,g,o对象的权限中,只要有一类权限匹配即可
-perm -MODE:每一类对象必须同时拥有指定权限,才能匹配
find处理动作
-ls:相当于对查找到的文件执行ls -l操作
-print:输出至屏幕,相当于默认操作
-delete:删除查找到的符合条件的文件
-ok COMMAND {} \;对查找到的文件执行COMMAND命令
-fls file:对查找到的所有文件长格式保存指定文件中
文件压缩、解压缩、文件归档工具
compress 压缩文件 uncompress 解压缩文件
compress -d 解压缩文件
compress -c 结果输出至标准输出,不删除原文件
compress -v 显示压缩文件详情
zcat file:查看.Z和.gz文件后缀
gzip 压缩文件 gunzip 解压缩文件
gzip -d 解压缩文件
gzip -c 将压缩或解压缩的结果输出至标准输出
gzip -# 指定压缩比,默认为6,范围 1到9
bzip2 压缩文件 bunzip2 解压缩文件
bzip2 -d 解压缩文件
bzip2 -k 保留原文件
bzip2 -# 指定压缩比,默认为6,范围1到9
bzcat file 不显示解压缩的前提下查看文件
xz 压缩文件 unxz 解压缩文件
xz -d 解压缩文件
xz -k 保留原文件
xz -# 指定压缩比,默认为6,范围1-9
xzcat 不显示解压缩的前提下查看文件
zip 打包压缩 unzip解包解压缩
tar -cvf 创建归档
tar -xvf 展开归档
tar -txf 查看归档文件
tar -zcvf 结合gzip工具压缩并创建归档
tar -jcvf 结合bzip2工具压缩并创建归档
tar -Jcvf 结合xz工具压缩并创建归档
cpio是通过重定向的方式进行打包备份,还原恢复的工具,它可以解压以 cpio、tar为后缀的打包文件
cpio -o 将文件拷贝打包成文件或者将文件输出至屏幕上
cpio -i 解包,将打包文件解压或者将设备上的备份还原到系统
cpio -t 预览,查看文件内容
cpio -v 显示文件打包过程中的文件名称
cpio -d 解包生成目录,在cpio还原时,自动创建目录
cpio -tv < aa.cpio 预览文件
cpio -idv < aa.cpio 解包文件