文件寻踪和文件压缩

文件查找工具:

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

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

相关推荐

  • 运维工程师技能需求排行

    这是我今天在拉勾网搜索运维,翻完了4四页也招聘信息之后得到的,我的目的是想要看看之后的学习,哪个更应该成为重点,有些在我意料之中,有些还真的没想到,算是努力了一个小时的收获吧,分享给大家。
    注意:其中的看法仅代表个人观点,很多都是依靠我自己的学习经验和工作经验累积的

    Linux干货 2017-12-12
  • vi(vim)编辑器的使用

    vim编辑器:全屏编辑器,模式编辑器 vim模式:     编辑模式:     输入模式:     末行模式:     转换模式:      &nbs…

    Linux干货 2016-08-15
  • 磁盘管理

    一、磁盘结构     设备文件         I/O Ports: I/O设备地址         一切皆文件:    &nbs…

    Linux干货 2016-09-01
  • sed 高级编辑命令、模式空间、保持空间、vi 可视化模式、vimrc、地址定界

    sed 高级编辑命令、模式空间、保持空间、vi 可视化模式、vimrc、地址定界 sed(stream deitor):行编辑器 【概述】sed是一种流式编辑器,它一次处理一行内容。处理时,把当前处理的行的所有内容存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,逐行处理,不修改文件。sed主要…

    Linux干货 2016-08-11
  • 学习Linux的第一周 之screen

         1.来到马哥的感想:      已经接触Linux已经一周,在紧张的而又条理的学习当中,我学到了很多东西单说量我就很佩服自己,在大学的两年当中已经快把自己学习新知识的渴望忘记了!来到马哥这短短一周我感觉我真的长大了很多,我把手机王者荣耀卸载了。只想对自己说加油坚持下去。…

    Linux干货 2017-07-16
  • Linux简单的磁盘分区、格式化和挂载

     一.分区: 1.查看分区fdisk -l 通过fdisk -l 查看机器所挂硬盘个数及分区情况   2.通过上面的信息,我们知道此机器中挂载两个硬盘分别是:/dev/sda和/dev/sdb, 其中sda有两个主分区/dev/sda1和sda2; 其中sdb有1个扩展类型/dev/sdb3和3个逻辑分区sd…

    Linux干货 2016-02-28

评论列表(1条)

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

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