暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

find用法

原创 乔宏涛 2021-07-12
316

stat 信息量很大
stat opt 显示三个时间

Access: 2020-11-19 11:21:02.840370968 +0800
Modify: 2020-08-05 11:01:11.630506958 +0800
Change: 2020-09-22 16:03:29.091352316 +0800

ll --time=ctime /opt
ll --time=atime /opt

以天为单位
-atime [+|-]#
#:[#,#+1]
+#:[#+1,无穷大]
-#:[0,#]
-mtime
-ctime

以分钟为单位:
-amin
-mmin
-cmin

find /etc -mmin -1
查找一分钟内修改过的文件,-1 指的是 [0,1]

find -perm 666 -ls
查找权限为 666的文件 精确匹配
find -perm /666 -ls
斜线 所有者 所属组 other 三者之间是 或的关系 , 并集

find -perm - 666 -ls 交集
斜线 所有者 所属组 other 三者之间都有(包含)6的权限
777 包含 666

搜索出来的文件 处理动作

-print
-ls
-delete
-fls file 找到文件的长格式,保存到指定文件, 重定向
find -perm /222 -fls /root/find2.log
-ok COMMAND {} ;

find -name “f*” -ok rm {} ;
询问是否删除
find -name “f*” -exec rm {} ;
批量删除
例如备份脚本:find /opt/databackup/databk -type f -mtime +7 -exec rm -rf {} ;
{} 用于引用查找到的文件名称自身
find -perm -666 -exec mv {} {}.bak ; 查找出来的文件全部重命名备份f
find -name “*.conf” -exec cp {} {}.org ; 备份配置文件,添加扩展名
find /tmp -ctime +3 -user joe -ok rm {} ;
提示删除存在3天以上的 joe的临时文件
find ~ -perm -002 -exec chmod o-w {} ;
在主目录中可被其他用户写入文件,去掉写权限

find /data -type f -perm 644 -name “*.sh” -exec chmod 755 {} ;
data 目录下 权限为 644的shell文件,增加执行权限

find /home -type d -ls 查看Home的目录

find -size +10M -exec mv {} /home/ ;
找到10M以上的文件 移动到指定目录

echo f{1…10000}|xargs -n1 touch
体会这个 xargs 的作用

由于很多命令不支持管道传递参数,而日常工作中有这个必要,
所以就有了 xargs

xargs 用于产生某个命令的参数, xargs 可以读入 stdin 的数据,并且以
空格符或回车符将stdin 的数据分割成为 arguments

注意 :文件名或是其他意义的名词内含空格的情况
有些命令不接受过多的参数 ,xrgs解决

例如:
ls f*| xargs rm
find /sbin -perm +700 |ls -l 这个命令错误
find /sbin -perm +700 |xargs ls -l

find 和 xargs : find |xargs commd

ps -ef|grep AdminServer|grep -v grep|awk ‘{ print $2 }’|xargs kill -9
kill -9 ps -ef|grep weblogic|grep -v grep|tr -s ' ' |cut -d' ' -f2
这两种都是可以的。

压缩:

compress/uncompress .Z

compress m --> m.z 并且默认删除源文件
compress -d m.z 解压
compress -c m >m.z 结果输出至标准输出,不删除原文件
-v 显示详情
uncompress 解压
zcat file.z > file 解压到文件

gzip/gunzip 压缩比 比compressge更好

gzip m -->m.gz 也是默认删除源文件
gzip -d m.gz --> m 解压缩 登记 gunzip
gzip -c m > m.gz 结果输出至标准输出,重定向,并保留原文件
-#:1-9 指定压缩比,值越大 压缩比越大 默认是6

gzip -c messages >message.gz
gzip -c -d message.gz > messages
zcat message.gz > messages 不解压缩的前提下,查看文本内容

bzip2

-k: keep 保留原文件
-d: 解压
-#:压缩比 1-9 默认9
bzcat 不解压的情况下提前查看内容

xz

-k: keep 保留原文件
-d: 解压
-#:压缩比 1-9 默认9
xzcat 不解压的情况下提前查看内容
bzip2 f8 f9 f10

以上都支持一次性压缩多个: 压缩的都是文件。
配合打包工具 tar 来压缩文件夹。

打包压缩:
zip/unzip
zip -r /testdir/sysconfig /etc/sysconfig
zip -r /home/test2 /opt/shell/test

解包解压缩
unzip test2 .zip
unzip -p message > message
cat /var/log/messages |zip messages -

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论