find 命令和 xargs

一、find 常用命令

1、 列出目录中最大的20个文件

bash 复制代码
ls -lSh /data/log/ | head -20

2、查找目录下最大的5个文件:

bash 复制代码
find /etc -type f -printf "%s\t%p\n" | sort -n | tail -5 | xargs ls -Slh

3、查询大于200M的文件

bash 复制代码
find / -type f -size +200M | xargs ls -Slh

4、查询100M和200M之间的文件

matlab 复制代码
find / -type f -size +100M -size +200M | xargs ls -Slh

5、查询root目录下最大的5个文件

bash 复制代码
find /root -type f -exec ls -s {} +  | sort -n | tail -n 5 | xargs ls -Slh

6、删除超200M,超过10天无人访问的文件

bash 复制代码
find /minioData/disk_zip/ -atime +10 -size +200M | xargs rm -rf

7、统计目录中修改时间在10天内,文件大小大200M 的文件总和

bash 复制代码
find /minioData/ -mtime -10 -size +200M -type f | xargs du -sh -c

二、xargs 命令

1、要将当前目录下所有 .txt 文件删除

bash 复制代码
ls *.txt | xargs rm

2、要在当前目录下的所有 .txt 文件中搜索 "hello" 并显示匹配行的上下文,请使用以下命令:

bash 复制代码
ls *.txt | xargs -I{} grep -C2 "hello" {}

此命令将把 ls 命令的输出作为 xargs 命令的输入,并将每个文件名替换为 {}。xargs 命令会将每个文件名作为参数传递给 grep 命令并执行它。

3、批量杀死进程

perl 复制代码
ps -ef |grep "process_name" |grep -v grep |awk '{print $2}' |xargs kill -9
  • process_name:表示进程名
  • awk '{print $2}':表示获取第2列(PID列)
  • xargs kill -9 :以PID作为输入,kill杀死进程

4、批量拷贝文件

bash 复制代码
find ./ -type f -name "*" |xargs -I {} cp {} file/

find ./ -type f -name "*" |xargs -i cp {} ./
  • find ./ -type f -name "*":查找当前路径下所有文件
  • -I {}:指定标准输入为{}
  • cp {} file/:将查到的文件拷贝到 file 下

5、批量打包目录

bash 复制代码
当前路径下所有文件/目录打包成一个tar

ls ./ |xargs tar -cvf dir.tar

6、批量修改文件/目录名称

bash 复制代码
ls |grep ".log" |xargs -i mv {} "{}.out"
  • -i:指定标准输入为 {}
  • mv {} "{}.out":{} 表示标准输入。将文件/目录名修改为 [原名].out

7、批量修改文件权限

arduino 复制代码
find ./ -perm 644 | xargs chmod 700
相关推荐
萧曵 丶27 分钟前
Rust 所有权系统:深入浅出指南
开发语言·后端·rust
老任与码1 小时前
Spring AI Alibaba(1)——基本使用
java·人工智能·后端·springaialibaba
华子w9089258591 小时前
基于 SpringBoot+VueJS 的农产品研究报告管理系统设计与实现
vue.js·spring boot·后端
星辰离彬2 小时前
Java 与 MySQL 性能优化:Java应用中MySQL慢SQL诊断与优化实战
java·后端·sql·mysql·性能优化
GetcharZp3 小时前
彻底告别数据焦虑!这款开源神器 RustDesk,让你自建一个比向日葵、ToDesk 更安全的远程桌面
后端·rust
jack_yin4 小时前
Telegram DeepSeek Bot 管理平台 发布啦!
后端
小码编匠4 小时前
C# 上位机开发怎么学?给自动化工程师的建议
后端·c#·.net
库森学长4 小时前
面试官:发生OOM后,JVM还能运行吗?
jvm·后端·面试
转转技术团队4 小时前
二奢仓店的静默打印代理实现
java·后端
蓝易云4 小时前
CentOS 7上安装X virtual framebuffer (Xvfb) 的步骤以及如何解决无X服务器的问题
前端·后端·centos