图文表述find指令参数的用法以及tar指令的批量用法

结合图像形象化的解释find指令find –maxdepth -mindepth, find -size以及tar指令的批量用法

 

  1. find –maxdepth -mindepth 结合tree来精确查找最大和最小目录搜索深度
  • 在当前目录下建立三个文件夹,互为父子关系

mkdir -p a/b/c

  • 分别在a,b,c三个文件夹下随机建立三个文件,最终的结果如下:

[root@CentOS6 findtest#]tree

└── a

├── b

│   ├── c

│   │   ├── f7.log

│   │   ├── f8.log

│   │   └── f9.log

│   ├── f4

│   ├── f5

│   └── f6

├── f1.txt

├── f2.txt

└── f3.txt

3 directories, 9 files

从tree显示中,a目录是第一级,b目录以及a目录下的三个文件f1.txt,f2.txt,f3.txt为第二级,c目录和b目录下的三个文件f4,f5,f6为第三级,c目录下的三个文件f7.log,f8.log,f9.log为第四级。

  • find –maxdepth 3:结果能查到除c目录下三个文件之外的所有文件及文件夹

./a

./a/f2.txt

./a/f1.txt

./a/b

./a/b/f4

./a/b/f6

./a/b/c

./a/b/f5

./a/f3.txt

  • find -maxdepth 3 -mindepth 2:结果能查到第二级和第三级包含的所有文件及文件夹

./a/f2.txt

./a/f1.txt

./a/b

./a/b/f4

./a/b/f6

./a/b/c

./a/b/f5

./a/f3.txt

  • find -maxdepth 3 -mindepth 3:结果只能查到第三级包含的所有文件及文件夹

./a/b/f4

./a/b/f6

./a/b/c

./a/b/f5

 

  1. find size 结合图

find_sizeparameter

如图所示:

find -size n的范围:n-1 < file <= n

find -size -n的范围:0 <= file <= n-1

find -size +n的范围:n< file < 无穷大

测试:

  • 创建两个文件,分别为1023,1024byte

dd if=/dev/zero of=/data/filesizetest/f1 bs=1 count=1024

dd if=/dev/zero of=/data/filesizetest/f2 bs=1 count=1023

  • 搜索条件 find /data/filesizetest/ -size 1k

/data/filesizetest/f2

/data/filesizetest/f1

  • 搜索条件 find /data/filesizetest/ -size 1024c

/data/filesizetest/f1

  • 搜索条件find /data/filesizetest/ -size -1024c

/data/filesizetest/f2

  • 搜索条件find /data/filesizetest/ -size -1k

结果为空

  • 搜索条件find /data/filesizetest/ -size +1k

结果为空

 

同理,find当查找条件为时间戳时,即find -atime, find -mtime, find -ctime时,也存在和以文件大小为查找条件时,只是算法有不同,以天为单位:

find -aime 1,表示查找 <= 1天 atime < 2 天的文件

find -atime +1,表示查找 2天 <= atime 天的文件

find -atime -1,表示查找     atime < 1天的文件

  1. 批量打包用法

打包工具tar配合-T -X选项可以同时实现批量打包并且选择要排除的文件列表(包括目录和文件)

-T 指定输入文件

-X 指定包含要排除的文件列表

需求:同时打包/etc /var两个目录并表排除/etc/sane.d/目录下的文件

步骤:

  • 创建includefilelist,内容为

/etc/

/var/

  • 创建excludefilelist,内容为

/etc/sane.d

  • tar zcvf mybackup.tar -T includefilelist -X excludefilelist
  • tar -tf mybackup.tar,包括了/etc/ /var两个目录,同时排除了/etc/sane.d/的文件及目录

 

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/96223

(1)
Evan LiangEvan Liang
上一篇 2018-04-15 21:40
下一篇 2018-04-15 22:33

相关推荐

  • Web Service基础、httpd-2.2、httpd-2.4

    Web Service 传输层:提供进程地址 port number: tcp:传输控制协议,面向连接的协议,通信前需要建立虚拟链路,结束后拆除链路;端口:0-65535 udp:user datagram protocol,无连接的协议;端口:0-65535   IANA: 0-1023:特权端口,永久分配给固定应用使用 1024-41951:注…

    Linux笔记 2018-04-24
  • linux

    输入、输出重定向  >若文件不存在,则创建,并将正确的输出填充,若文件已存在,则覆盖原内容 >> 若文件不存在,则创建,并将正确的输出内容填充,若文件已存在,则追加内容 2> 若文件不存在,则创建,并将错误的输出填充,若文件已存在,则覆盖原内容2>> 若文件不存在,则创建,并将错误的输出内容填充,若文件已存在,则追加内容 …

    Linux笔记 2018-05-26
  • SELinux简介

    SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是Linux历史上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。

    2018-05-15
  • 第九周

    总结

    Linux笔记 2018-05-27
  • 日志管理

    日志介绍 日志配置 日志管理 远程日志 基于MYSQL的日志

    Linux笔记 2018-06-25
  • YUM安装的MySQL(MariaDB)实现多实例运行

    生产环境中,可能需要多个数据库同时在线。但一台服务器只运行一个数据库实例势必会引起资源的浪费,因此,本文介绍如何将yum安装的MySQL多开,实现多实例运行。(二进制与编译安装步骤与此类似)

    Linux笔记 2018-06-12