文件寻踪和文件压缩

文件查找工具:

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

文件查找工具: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

相关推荐

  • Linux 别名与二进制的使用。

    二进制 一般二进制这个名词听上去高深莫测,然而当你了解它之后其实并不复杂,在计算机里处理数据一般都是由二进制处理。 平时我们计数都是以10为进制,比如平时数数:1、2、3、4、5、6、7、8、9,数到10时就会导致个位变成0,十位变成了1,因为9+1要向十位进一,十进制意味着数字的每一位最小为0,最大为9。同理,二进制意味着数字的每一位最小为0,最大为1,十…

    Linux干货 2017-05-20
  • Linux之SELinux

      Linux之SELinux     本文包括以下内容SELinux概念启用SELinux管理文件安全标签管理端口标签管理SELinux布尔值开关管理日志查看SELinux帮助   SELinux介绍SELinux: Secure Enhanced Linux,是美国国家安全局(NSA=The National Se…

    Linux干货 2016-09-21
  • linux基础中的基础 —- 用户管理、文本处理、正则表达式等命令的使用(博客第三周作业)

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。     who | cut -d' ' -f1 | uniq 2、取出最后登录到当前系统的用户的相关信息。     who | tail -1 3、取出当前系统上被用户当作其默认shell的最…

    Linux干货 2016-07-22
  • 到处都是Unix的胎记

    一说起Unix编程,不必多说,最著名的系统调用就是fork,pipe,exec,kill或是socket了(fork(2),execve(2), pipe(2), socketpair(2), select(2), kill(2), sigaction(2))这些系统调用都像是Unix编程的胎记或签名一样,表…

    Linux干货 2015-04-03
  • LVM 与快照

    LVM: Logical Volume Manager 概念 它就是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。 允许对卷进行方便操作的抽象层,包括重新设定 文件系统的大小  允许在多个物理设备间重新组织文件系统 • 将设备指定为物理卷 • 用一个或者多个物理卷来创建一个卷组 • 物理卷是用固…

    Linux干货 2016-09-05
  • 正则表达式及grep用法总结

    描述: grep: Global search REgular expression and Print outthe line. 作用:文本搜索工具,根据用户指定的“模式”对目标文本逐行进行匹配检查;打印匹配到的行; 模式:由正则表达式字符及文本字符所编写的过滤条件 语法格式:grep [OPTIONS] PATTERN [FILE…] OPT…

    Linux干货 2016-08-08

评论列表(1条)

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

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