文件寻踪和文件压缩

文件查找工具:

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

文件查找工具: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
下一篇 2016-08-19

相关推荐

  • 网络26期 第五周作业

    1. 显示当前系统上root、fedora或user1用户的默认shell egrep -o “^(root|fedora|user1)\>.*[^:]+$” /etc/passwd | cut -d: -f1,7 2. 找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello(…

    2017-03-13
  • shell中的if else语句与文件查找find浅析

    shell中的if else语句与文件查找find浅析    上篇文章中我们讲述了shell脚本编程的初步入门,其中讲到了shell编程中的顺序执行,顺序执行时一种简单的小脚本,如果在编辑脚本的时候遇到要做出条件判断执行的时候要怎么办呢?我们学习过if之后你会发现这会很简单。if 语句通过关系运算符判断表达式的真假来决定执行哪个分支。 S…

    Linux干货 2016-08-16
  • 进程与计划任务详解

    时光匆匆,王老师代两周的课就这样结束了,刚适应王老师的讲课风格。王老师讲课进度非常快,能按照自己的思路把上课的内容每一个地方都贯彻下去。我觉得这样是非常好的,但是笔记方面还是南老师做的详细,各有各的风格吧。今天我们将要给大家介绍进程与计划任务,对我们的以后工作有非常大的帮助,因为我们以后工作尽可能的都自动化管理,不需要我们每天都去敲那些命令。所以我相信今天的…

    2017-09-09
  • Linux初识

    Linux

    2018-03-07
  • crond实现邮件告警

    实验环境:centos 6.8 所需软件:mailx或msmtp或smtpEmail等 smtp客户端程序 所需帐号:我这使用的是163邮箱。 本方案优点:安装软件少,无须启动postfix等邮件服务。无须配置postfix邮件服务。由于调用的是注册邮箱,所以也不会给移入到垃圾邮件中。  建议:生产中,不管是什么服务发送邮件的建议使用外部smtp帐…

    Linux干货 2016-07-10
  • sed和vim

    1、如何设置tab缩进为4个字符? vi .vimrc //编辑用户家目录下的vim配置文件 set tabstop=4 2、复制/etc/rc.d/init.d/functions文件至/tmp 目录;替换/tmp/functions 文件中的/etc/sysconfig/init 为/var/log; ~]# cp /etc/rc.d/init.d/fu…

    Linux干货 2016-08-10

评论列表(1条)

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

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