文件寻踪和文件压缩

文件查找工具:

文件:根据文件的种属性去找到相应文件

文件查找工具:locate, find

locate:

根据此前updatedb命令生成的数据库来完成文件查找
查找速度很快
非实时查找,结果不精确;模糊查找;

必要时,可手动执行updatedb命令;

find命令:

 

通过遍历指定的目标目录,实时查找符合指定属性的文件;

精确匹配;速度略慢;

find [OPTIONS] [查找路径] [查找条件] [处理动作]
查找路径:默认为当前路径;
查找条件:默认为指定路径下的所有文件;
处理动作:默认为打印至屏幕;

查找条件:
-name “文件名”:文件名支持使用globbing
*, ?, [], [^]

# find /etc -name “passwd*”

-iname “文件名” : 忽略文件名大小写

-user USERNAME: 根据属主查找
-group USERNAME: 根据属组查找

-uid UID: 根据指定UID查找;
-gid GID: 根据指定GID查找;

-nouser: 查找没有属主的文件;
-nogroup:查找没有属组的文件;

组合查找条件:
与:-a, 查找条件1 -a 查找条件2 -a …
所有条件必须同时满足
或:-o, 查找条件1 -o 查找条件2 -o …
满足其中一个条件即可
非:-not, !
-not 查找条件

# find /tmp -nouser -a -name “*centos*” -ls

# find /tmp -not \( -name “*.txt” -o -name “*.out” \)
# find /tmp -not -name “*.txt” -a -not -name “*.out”

查找条件(2)

-type TYPE: 根据文件类型查找

  • f: 普通文件

  • d: 目录文件

  •  l: 符号链接文件

  •  b: 块设备

  •  c: 字符设备文件

  • p: 命令名管道文件

  • s: 套接字文件

-size [+|-]#UNIT:
常用单位有:k, M, G

#UNIT: #-1 < x <= #
2k:1.8k, 1.9k, 1.1k
-#UNIT:x <= #-1
-2k: 1k, 0.9k
+#UNIT: x > #
+2k: 2.1k, 3.1k

根据时间戳查找:
以“天”为单位
-atime [+|-]#
#: #= < x < #+1 当天
-#: x < # 现在到那天的一段
+#: x >= #+1 那天之前

-mtime [+|-]#

-ctime [+|-]#

以“分钟”为单位
-amin [+|-]# 访问时间,查看文件内容会修改此选项
-mmin  修改时间,修改文件内容会修改次选项
-cmin 上述两个选项只要有修改,此选项一定会变

根据权限查找:
-perm [+|-]MODE
MODE: 与MODE精确匹配
/MODE:任何一类用户的权限只要能包含对其指定的任何一位权限即可;(centos6用+来进行或匹配)
-MODE:每一类用户的权限都包含对其指定的所有权限;
-222,666,664

课堂练习:

1、查找/var目录下属主为root,且属组为mail的所有文件

201608160904001
2、查找/var目录下不属于root、 lp、 gdm的所有文件

201608160906001
3、查找/var目录下最近一周内其内容修改过,同时属主不为
root,也不是postfix的文件

201608160907001
4、查找当前系统上没有属主或属组,且最近一个周内曾被访
问过的文件

201608160910001
5、查找/etc目录下大于1M且类型为普通文件的所有文件

201608160911001
6、查找/etc目录下所有用户都没有写权限的文件

201608160914001
7、查找/etc目录下至少有一类用户没有执行权限的文件

201608160916001
8、查找/etc/init.d目录下,所有用户都有执行权限,且其它
用户有写权限的文件

201608160922001

 

文件压缩、解压缩和归档

compress/uncompress .Z
gzip/gunzip .gz
bzip2/bunzip2 .bz2
xz/unxz .xz

zip/unzip .zip

1、gzip/gunzip
.gz

语法:gzip [OPTIONS] /PATH/TO/SOMEFILE …
-#: 指明压缩比;1-9,默认为6,数字越大,压缩比越大;
-d: decompress, 解压缩, 相当于gunzip;
-c: 将压缩后的数据输出至标准输出;
gzip -c /PATH/TO/SOMEFILE > /PATH/TO/SOMEFILE.gz
-r: 递归至目录中对每个文件进行压缩;

zcat /path/to/somefile.gz:无须显式解压缩查看压缩文件的内容;

2、bzip2/bunzip2
.bz2

语法:bzip2 [OPTIONS] /PATH/TO/SOMEFILE…
-#: 指明压缩比;1-9,默认为6,数字越大,压缩比越大;
-d: decompress, 解压缩, 相当于bunzip2;
-k: 压缩后保留原文件;

bzcat /path/to/somefile.bz2:无须显式解压缩查看压缩文件的内容;

3、xz/unxz
.xz

语法:xz [OPTIONS] /PATH/TO/SOMEFILE…
-#: 指明压缩比;1-9,默认为6,数字越大,压缩比越大;
-d: decompress, 解压缩, 相当于bunzip2;
-k: 压缩后保留原文件;

xzcat /path/to/somefile.xz:无须显式解压缩查看压缩文件的内容;

4、zip/unzip
.zip

语法:zip ZIP_FILE.zip /PATH/TO/SOMEFILE…
zip可以多个文件压缩归档成单个文件

unzip语法:unzip ZIP_FILE.zip

5、归档工具
将多个文件打包为单个文件以便于管理;默认不会执行压缩;
tar, cpio

语法:
归档:tar [OPTIONS] -c -f /PATH/TO/TARFILE.tar /PATH/TO/FILE…
归档:不会删除原文件;
展开归档:tar -x -f /PATH/TO/TARFILE.tar [-C /PATH/TO/DIR]
查看被归档起来的文件列表:tar -t -f /PATH/TO/TARFILE.tar

注意:(1) 多个选项可以合并,但-f由于要带参数,因此,应该放在最右侧;
-tf, -xf, -cf
(2) 选项的引导符-可省略
tar xf , tar zf

6、归档和压缩
-z: gzip
后缀名: .tar.gz
归档并压缩:tar -zcf
展开归档:tar -zxf
-j: bzip2
后缀名: .tar.bz2
归档并压缩:tar -jcf
展开归档: tar -jxf
-J: xz
后缀后: .tar.xz
归档并压缩: tar -Jcf
展开归档: tar -Jxf

注意:展开归档可以直接使用tar -xf,而无须为其指定对应的压缩工具选项;

原创文章,作者:M20-石俊,如若转载,请注明出处:http://www.178linux.com/37352

(0)
M20-石俊M20-石俊
上一篇 2016-08-19 08:36
下一篇 2016-08-19 08:36

相关推荐

  • 2018第六届中国网络安全大会即将于6月强势登陆!

    2018年6月13日,由赛可达实验室、国家计算机病毒应急处理中心、国家网络与信息系统安全产品质量监督检验中心、首都创新大联盟共同举办的第六届中国网络安全大会(NSC 2018)将在北京国家会议中心盛大召开。

    2018-03-15
  • Linux下常用压缩工具总结

    gzip: 1)只能针对普通文件进行压缩,对文件夹、符号链接无效。 2)如果想对多个文件一起压缩并打包,gzip是无法办到的,需要结合tar进行 [root@mysql-master databackup]# ll 总用量 32 drwx—— 2 root root 4096&nb…

    Linux干货 2016-12-05
  • 文件查找与压缩-2

    1、tar [OPTION]… (1) 创建归档(打包而非压缩) 其中-c是创建备份,-f是指定创建备份成的文件即是/PATH/TO/SOMEFILE.tar #tar -c -f /PATH/TO/SOMEFILE.tar  FILE… #tar cf / PATH/TO/SOMEFILE.tar FILE… …

    Linux干货 2016-08-18
  • Linux GRUB legacy

    Linux GRUB Linux GRUB Linux GRUB 单用户模式(密码破解) 救援模式 实例 GRUB菜单 GRUB命令行接口 GRUB简介 GRUB 菜单组成 GRUB配置文件 GRUB安装及修复 GRUB单用户及救援模式 GRUB简介 了解grub之前,需要理解linux的启动流程,如果之前有对linux启动流程不了解的可以看:http://…

    Linux干货 2016-04-25
  • bash之运算、测试、if语句及for循环语句

      一、逻辑运算         布尔运算:真、假         与运算:                 真 && 真 = 真       …

    Linux干货 2015-05-25
  • sed基础

    sed 是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space ),接着用sed 命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed 主要用来自动编辑一个或多个文件, 简化对文件的反复操…

    Linux干货 2017-05-01

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-19 14:07

    文章架构清晰,层次分明,对常用选项有的放矢,希望下来能多加练习,熟练掌握。