特殊查找数据方法:
根据目录层级查找数据:
-maxdepth:查找数据层级最深深度
-mindepth:查找数据层级最浅最深
1)如何只找/oldboy目录中名称为oldboy.txt文件,不要在子目录查找?
find /oldboy -maxdepth 1 -name "oldboy.txt"
多个查找条件参数组合方式:
and方式:多个条件是并且关系(默认) -a
or方式:多个条件是或者关系 -o
not方式:多个条件有条件取反操作 -not
2)如何查找连个文件是否存在
find /oldboy -name "oldboy.txt" -o -name "oldgirl.txt"
find /oldboy -type f ! -name "olddog.txt
练习:
1.将old开头所有信息找出来, 但是不要显示oldgirl02信息?
find /oldboy -name "old*" ! -name "oldgirl02"
2.请找出大小大于100K文件, 但是不要显示图片文件信息?
find -size +100k ! -name "*.jpg"
- 排除指定目录不进行数据查找:
find ./ -path ./oldboy02 -prune -o -type f -name "oldboy.txt" -print
```bash
1.如何多查找出来的数据信息进行批量处理
如何将找出的数据进行删除:
`find /oldboy/ -type f -delete`
`find /oldboy/ -type f -exec rm -f {} \;`
`find /oldboy/ -type f |xargs rm``
`xargs命令:`
01. 将多个信息进行分组显示
[root@linux67 oldboy]# echo 01 02 03 04 05 06|xargs -n2
01 02
03 04
05 06
02. 将所有信息转化命令参数信息
如何将找出的数据进行复制:
find /oldboy/ -type f -exec cp {} /tmp \;
find /oldboy/ -tyoe f | xargs cp -t /tmp
find /oldboy/ -type f | xargs -i cp {} /tmp
根据文件权限
根据文件时间
根据文件inode号码查找
根据文件用户信息查找`
tree --- 显示目录数据结构信息
[root@linux67 oldboy]# tree /oldboy/
/oldboy/
|-- oldboy01
|-- oldgirl01 |-- oldboy01.txt |-- oldboy02 |-- oldboy02.txt
-- oldboy03
指定显示目录结构层级信息
[root@linux67 oldboy]# `tree -L 1 / `
/
|-- bin -> usr/bin
|-- boot
|-- dev
|-- etc
|-- home
|-- lib -> usr/lib
|-- lib64 -> usr/lib64
|-- media
|-- mnt
指定显示目录信息 不显示文件信息
[root@linux67 oldboy]# tree -d /oldboy
/oldboy
|-- oldboy01
| `-- oldgirl01
|-- oldboy02
`-- oldboy03
tar --- 压缩数据命令
压缩数据:
tar zcvf 压缩包 压缩数据信息
相对路径压缩
tar zcvf ./oldboy.tar.gz oldboy01.txt oldboy02.txt oldboy03.txt
绝对路径压缩
# tar zcvf /oldboy/oldboy.tar.gz /oldboy/oldboy01.txt /oldboy/oldboy02.txt /oldboy/oldboy03.txt
tar: Removing leading `/' from member names
z --- 压缩数据方式 gzip
c --- 创建一个压缩包
v --- 显示压缩数据过程
f --- 指定压缩文件路径信息 以及 压缩文件名称信息
解压数据:
tar xf 压缩包
x extract --- 提取压缩的数据 == 解压
tar xf oldboy.tar.gz
tar xf /oldboy/oldboy.tar.gz -C /oldboy/
-C --- 将压缩包解压后的数据保存到指定目录中
查看压缩数据:
tar tf 压缩包
练习题:
01. 将/oldboy目录中所有以.txt结尾文件进行打包压缩
思路: 找出.txt结尾 + 将数据进行压缩
find /oldboy/ -type f -name "*.txt" -exec tar zcvf /oldboy/oldboy.tar.gz {} +;
find /oldboy/ -type f -name "*.txt"|xargs tar zcvf /oldboy/oldboy.tar.gz
tar zcvf /oldboy/oldboy.tar.gz *.txt
02. 依据以下目录结构信息进行压缩数据
[root@linux67 oldboy]# tree
.
|-- oldboy01 所有数据都压缩
| |-- 01.txt
| |-- 02.txt
| `-- 03.txt
|-- oldboy02 除了02.txt不压缩, 其他数据都压缩
| |-- 01.txt
| |-- 02.txt 不压缩
| `-- 03.txt
`-- oldboy03 除了03.txt不压缩, 其他数据都压缩
|-- 01.txt
|-- 02.txt
`-- 03.txt 不压缩
--exclude=PATTERN exclude files, given as a PATTERN
排除指定文件数据不要进行压缩
tar zcvf oldboy.tar.gz oldboy01/ oldboy02/ oldboy03/ --exclude=oldboy02/02.txt --exclude=oldboy03/03.txt
-X, --exclude-from=FILE exclude patterns listed in FILE ???
网友评论