Linux中查找指定大小或者指定内容的文件

1、查找根目录下,文件大小大于1G的文件,并显示大小。

find / -size +1G | xargs du -sh

2、查找当前路径下,文件名包含“Hello”的所有文件。

find ./ -name "*Hello*"

3、查找当前路径下,文件内容中包含“Hello”字段的所有文件名,并输出行号。

grep -rn "Hello" ./

4、grep pattern1|pattern2 files:显示匹配 pattern1 或 pattern2 的行;
5、grep pattern1 files|grep pattern2:显示既匹配 pattern1 又匹配 pattern2 的行;

6、find命令的时间参数:
-mtime -n +n :按照文件的更改时间来查找文件,-n表示文件更改时间距现在n天以内,+n表示文件更改时间距现在n天以前。
find命令还有-atime(读取时间)和-ctime(权限和属性更改的时间)选项,但它们都和-mtime 选项用法相同。

例如:查找当前路径下,文件大小大于100M,并且2天内更新过的文件,显示出来

find ./ -size +10M -and -mtime -2

例如:查找当前路径下,文件大小大于100M,并且2天前更新过的文件,显示出来

find ./ -size +10M -and -mtime +2

7、locate命令:


Linux 系统中,查找指定文件可以采用多种命令方法,每种方法适用于不同的场景需求。以下是几种常用的查找方式: ### 1. 使用 `find` 命令进行查找 `find` 是一个功能强大的命令行工具,可以在指定目录下递归地查找文件目录,并支持多种筛选条件。 #### 示例: - **根据文件名精确查找** 在根目录 `/` 下查找名为 `file.java` 的文件: ```bash find / -name file.java ``` - **使用通配符模糊查找** 查找以 `fil` 开头的文件(例如 `file.java`, `filename.txt`): ```bash find / -name fil* ``` - **不区分大小查找** 查找名为 `file.java` 的文件,忽略大小写: ```bash find / -iname file.java ``` - **按文件类型查找** 查找普通文件(`-type f`): ```bash find /path -type f -name "filename" ``` - **按文件大小查找** 查找大于 10MB 的文件: ```bash find /path -type f -size +10M ``` - **按修改时间查找** 查找最近 7 天内修改过的文件: ```bash find /path -mtime -7 ``` - **按所有者或所属组查找** 查找属于特定用户或组的文件: ```bash find /path -user username find /path -group groupname ``` - **结合执行操作** 找到文件后删除它们(需谨慎使用): ```bash find /path -name "*.tmp" -exec rm {} \; ``` ### 2. 使用 `locate` 命令快速查找 `locate` 命令依赖于系统数据库,因此速度非常快,但不会实时反映最新创建的文件。 #### 示例: - **基本查找** 查找包含 `passwd` 的文件路径: ```bash locate passwd ``` - **忽略大小查找** 忽略大小写搜索当前目录下以 `r` 开头的文件: ```bash locate -i ~/r ``` - **使用正则表达式查找** 利用 `-r` 参数进行更复杂的匹配: ```bash locate -r '^/etc/passwd$' ``` - **仅显示数量** 统计匹配项的数量而不列出具体路径: ```bash locate -c ~/files ``` > 注意:`locate` 数据库通常每天更新一次,若要立即更新可运行 `updatedb` 命令。 ### 3. 使用 `which` `whereis` 查找可执行文件 这些命令主要用于查找命令的可执行文件路径或相关资源。 #### 示例: - **`which` 查找可执行文件路径** 查看某个命令的完整路径: ```bash which python3 ``` - **`whereis` 查找程序及其文档、源码等位置** 查找与 `passwd` 相关的文件: ```bash whereis passwd ``` ### 4. 使用 `grep` 配合 `find` 或管道查找内容 如果需要在文件查找特定内容,可以将 `find` 与 `grep` 结合使用。 #### 示例: - **在特定类型的文件查找文本内容** 查找 `.txt` 文件中包含 `hello` 的行: ```bash find /path -name "*.txt" -exec grep -l "hello" {} \; ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值