tar和xargs和find的用法
tar命令
常见参数
-x 从备份文件中还原文件
-c 建立新的备份文件
-v 显示指令执行过程
-f 指定备份文件
-t 列出备份文件的内容
-C 切换到指定的目录
-exclude=<范本样式> 排除符合范本样式的文件
-z 通过gzip指令处理备份文件
-j 相当于bzip2压缩工具
-J 相当于xz压缩工具
命令使用场景
1.各种类型的文件压缩
root@localost:/tmp/test_dir>ls -lrt
total 12
-rwxr-xr-x 1 root root 4 Jul 5 10:26 file1.txt
-rwxr-xr-x 1 root root 4 Jul 5 10:26 file2.conf
-rwxr-xr-x 1 root root 4 Jul 5 10:27 file3.md
root@localost:/tmp/test_dir>tar -cvf test.tar *
file1.txt
file2.conf
file3.md
root@localost:/tmp/test_dir>tar -czvf test.tar.gz * --exclude=*tar*
file1.txt
file2.conf
file3.md
root@localost:/tmp/test_dir>tar -cjvf test.tar.bz2 * --exclude=*tar*
file1.txt
file2.conf
file3.md
root@localost:/tmp/test_dir>tar -cJvf test.tar.xz * --exclude=*tar*
file1.txt
file2.conf
file3.md
2.各种类型的文件解压
root@localost:/tmp/test_dir>tar -xvf test.tar -C tar
file1.txt
file2.conf
file3.md
root@localost:/tmp/test_dir>tar -xzvf test.tar.gz -C tar.gz
file1.txt
file2.conf
file3.md
root@localost:/tmp/test_dir>tar -xjvf test.tar.bz2 -C tar.bz2
file1.txt
file2.conf
file3.md
root@localost:/tmp/test_dir>tar -xJvf test.tar.xz -C tar.xz
file1.txt
file2.conf
file3.md
3.查看文件内容
root@localost:/tmp/test_dir>tar -tf test.tar.xz
file1.txt
file2.conf
file3.md
root@localost:/tmp/test_dir>tar -tf test.tar.bz2
file1.txt
file2.conf
file3.md
root@localost:/tmp/test_dir>tar -tf test.tar.gz
file1.txt
file2.conf
file3.md
root@localost:/tmp/test_dir>tar -tf test.tar
file1.txt
file2.conf
file3.md
xargs
常见参数
-n Use at most max-args arguments per command line.Fewer than max-args arguments will be used if the size (see the -s option) is exceeded, unless the -x option is given, in which case xargs will exit.
命令使用场景
1.文本分列
root@localhost:/usr/local/src>echo {1..10}|xargs -n2
1 2
3 4
5 6
7 8
9 10
2.重定向
root@localhost:/usr/local/src>ps -ef|grep java|grep -v grep|xargs kill -9
find
常见参数
-maxdepth level 最大搜索目录深度,指定目录下的文件为第1级
-mindepth level 最小搜索目录深度
-name 文件名称
-iname 文件名称:不区分字母大小写
-type 文件类型 f:文件 d:目录
-user USERNAME:查找属主为指定用户(UID)的文件
-group GRPNAME: 查找属组为指定组(GID)的文件
-uid UserID:查找属主为指定的UID号的文件
-gid GroupID:查找属组为指定的GID号的文件
-nouser:查找没有属主的文件
-nogroup:查找没有属组的文件
-empty 空文件或者目录
-size [+|-] 常用单位:k, M, G
-atime access,以天为单位
-mtime modify,以天为单位
-ctime create,以天为单位
-amin access,以分钟为单位
-mmin modify,以分钟为单位
-cmin create,以分钟为单位
-perm 权限
MODE: 精确权限匹配
/MODE:任何一类(u,g,o)对象的权限中只要能一位匹配即可(任意)
-MODE:每一类对象都必须同时拥有指定权限,与关系(每个)
-a 与
-o 或
-not 非
命令使用场景
1.最大深度和最小深度
[root@server01 etc]# find /opt/ -maxdepth 2
/opt/
/opt/nginx-1.12.1-1.el7.ngx.x86_64.rpm
/opt/freeware
/opt/freeware/ngx_devel_kit-master.zip
[root@server01 etc]# find /opt/ -mindepth 2
/opt/temp/request-key.conf
/opt/temp/id_resolver.conf
/opt/temp/idmapd.conf
/opt/temp/nfsmount.conf
/opt/backup/etc_20210705.tar.gz
/opt/backup/etc_bak_20210705.tar.gz
2.查找用户和组为fop,以conf结尾的文件
[root@server01 etc]# find / -type f -name \*.conf -user fop -group fop
/home/ap/fop/jdk1.8.0_151/lib/visualvm/etc/visualvm.conf
/home/ap/fop/.jenkins/secrets/whitelisted-callables.d/default.conf
/home/ap/fop/.jenkins/secrets/filepath-filters.d/30-default.conf
/home/ap/fop/1.conf
/home/ap/fop/2.conf
/home/ap/fop/3.conf
3.查找空文件
[root@server01 etc]# >aaa.txt
[root@server01 etc]# find . -empty -type f -maxdepth 1
find: 警告: 您在非选项参数 -empty 后定义了 -maxdepth 选项,但选项不是位置选项 (-maxdepth 影响在它之前或之后的指定的比较测试)。请在其它参数之前指定选项。
./crypttab
./.pwd.lock
./environment
./exports
./motd
./subgid
./subuid
./cron.deny
./aaa.txt
4.查找权限为700的文件
[root@server01 etc]# find /root -perm 700
/root/.ssh
5.查找访问时间7天内的文件
[root@server01 etc]# find /home/ap/fop -atime -7 -type f
/home/ap/fop/.bashrc
/home/ap/fop/.bash_profile
/home/ap/fop/.bash_history
/home/ap/fop/1.conf
/home/ap/fop/2.conf
/home/ap/fop/3.conf
/home/ap/fop/.vim/.netrwhist
/home/ap/fop/.viminfo
6.查找大于200M的文件
[root@server01 etc]# find / -type f -size +200M
/proc/kcore
find: ‘/proc/1971/task/1971/fdinfo/6’: 没有那个文件或目录
find: ‘/proc/1971/fdinfo/6’: 没有那个文件或目录
/var/ftp/pub/iso/LiveOS/squashfs.img
/home/ap/fop/jenkins_20210402.tar.gz

浙公网安备 33010602011771号