文件寻踪和文件压缩

文件查找工具:

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

文件查找工具: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启动之grub详解,故障排除,自建linux

    概述     上篇我们以CentOS6为例介绍了一下系统启动流程,本篇将承接上篇,详细的介绍一下系统启动流程中的grub,以及系统启动过程中的各种故障的排除,以及利用现有内核自己构建一个能够正常启动的简单Linux系统。具体分为一下几个部分:     1、grub相关概念详解 &…

    Linux干货 2016-09-13
  • 使用CDN后,PHP如何获取用户的真是IP?

    在统计访问日志参数的时候IP是一个重要的参数,所有索取客户端的IP就至关重要。 在logformat配置中有两个变量是获取IP地址的: remoteaddr:客户端IP xforwardedfor:客户端的IP 从上面来看两个都是客户端IP,那这两个变量有什么不同? 首先当你访问某个网站,假设你中间不经过任何代理,那么webserver就会把remotead…

    Linux干货 2015-12-21
  • LVM 逻辑卷管理器-增大LV容量

    LVM 逻辑卷管理器-增大LV的容量   步骤: (1)新增一个8e systemID的分区; (2)用pvcreate命令构建PV; (3)用vgextend命令将PV加入vg_1; (4)用lvresize命令将新加入的PV内的PE加入lv_1中; (5)通过resize2fs命令将LV的容量扩充到整个文件系统;   (1)新增一个8…

    Linux干货 2016-09-19
  • 文件查找与解压缩

    文件查找 脚本文件名的查询 which(寻找执行文件) which [-a] command -a :将所有由PATH目录中可以找到的命令均列出,而不只是第一个被找到的命令名称 文件名的查找 文件查找:实时查找:遍历所有文件进行条件匹配;(find)非实时查找:根据索引查找;(whereis、locate) whereis whereis [-bmsu] […

    Linux干货 2017-04-08
  • 虚拟机的安装

    虚拟机的安装步骤: 1、打开VMware点击创建新的虚拟机 2、选择典型安装方式点击下一步 3、选择稍后安装操作系统点击下一步 4、客户机操作系统选择Linux,版本选择Centos 64位 5、设定虚拟机的名称及存放路径 6、设定磁盘的容量,选中将虚拟磁盘存储为单个文件 7、对虚拟设备进行设置 8、CD/DVD此项选中使用ISO映像文件并选择映像所在路径 …

    2018-03-27
  • 记一次CentOS7内核kernel的删除重装

    人生在于折腾,学习Linux更要多多折腾。在一次折腾中吸取教训,更易于记忆。 今天我们来折腾Linux的内核:删除系统内核后,通过光盘进行kernel的重安装。 友情提示:请在虚拟机环境进行,折腾前务必做好系统快照。慎重! 环境 本次系统环境是如下图: 删除 我们先到/boot目录下,强制删除kernel文件: 重启PC,此时系统报错找不到内核文件,无法登录…

    Linux干货 2016-08-24

评论列表(1条)

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

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