Linux模糊查找文件的N種方法,歡迎收藏和留言

2019-08-28     Linux學習教程

請關注本頭條號,每天堅持更新原創乾貨技術文章。

如需學習視頻,請在微信搜索公眾號「智傳網優」直接開始自助視頻學習

1. 前言

本文主要講解如何在Linux系統下使用命令行工具模糊查找文件,本文的工具包括find命令的用法也介紹grep命令的使用方法,同時也有find與grep兩者結合,能更精確根據條件查找文件。

linux模糊查找文件命令

2. 根據文件名模糊查找文件

例如:

在目錄/var/zcwyou里,找到.txt後綴的文件,文件名大小寫敏感。即只能匹配.txt後綴的

[root@zcwyou ~]# find /var/zcwyou -name '*.txt'

在目錄/var/zcwyou里,找到.txt後綴的文件,忽略大小定。即可以匹配.txt後綴,也可以匹配.Txt後綴,也可以匹配.TXT後綴的文件。

[root@zcwyou ~]# find /var/zcwyou -iname '*.txt'

linux根據文件名模糊查找文件

3. 根據文件名和文件內容模糊查找文件

使用方法:

結合find命令與xargs和grep -i 『目標匹配關鍵字』

案例1:

在當前目錄搜索文件內容含有某字符串(大小寫敏感)的文件:

語法:

find /etc/ -type f | xargs grep '目標關鍵詞'

案例2:

在/etc/目錄下,查找帶zcwyou關鍵詞的文件

[root@zcwyou ~]# find /etc/ -type f | xargs grep 'zcwyou'

可以找到以下文件和文件對應的內容:

/etc/group-:zcwyou:x:1000:

/etc/gshadow-:zcwyou:!!::

/etc/passwd-:zcwyou:x:1000:1000:zcwyou:/home/zcwyou:/bin/bash

/etc/group:zcwyou:x:1000:zcwyou

/etc/shadow-:zcwyou:

是不是非常高效?

案例3:

在當前目錄搜索文件內容含有某字符串(忽略大小寫)的特定文件:

借用find命令查找當前目錄下所有以.c後綴結尾的文件和子目錄里以.c後綴結尾的文件,並把結果以參數形式傳遞給grep,由grep進行搜索和過濾。

[root@zcwyou ~]#find . -type f -name 『*.c』 | xargs grep -i '目標搜索關鍵詞'

linux根據文件名和文件內容模糊查找文件

4. 使用`find`命令模糊查找linux文件

在當前目錄下,模糊查找在系統中最後10分鐘訪問的文件

[root@zcwyou ~]# find . -amin -10

在當前目錄下,模糊查找在系統中最後48小時訪問的文件

[root@zcwyou ~]# find . -atime -2

在當前目錄下,查找在系統中為空的文件或者文件夾

[root@zcwyou ~]# find . -empty

在當前目錄下,查找在系統中屬於group cat的文件

[root@zcwyou ~]# find . -group cat

模糊查找在系統中最後5分鐘里修改過的文件

[root@zcwyou ~]# find . -mmin -5

查找在系統中最後24小時里修改過的文件

[root@zcwyou ~]# find . -mtime -1

使用find命令模糊查找linux文件

5. 根據用戶屬性模糊查找Linux文件

查找在系統中屬於作廢用戶的文件

[root@zcwyou ~]# find . -nouser

查找在系統中屬於zcwyou這個用戶的文件

[root@zcwyou ~]# find . -user zcwyou

根據用戶屬性模糊查找Linux文件

6. 通過文件大小模糊查找文件

查找根目錄下超過1M的文件,並列印

[root@zcwyou ~]# find / -size +1M -type f -print

查找當前目錄下等於500位元組的文件,包括子目錄,並列印結果

[root@zcwyou ~]# find -size 500c -print

查找home目錄下小於600k的文件

[root@zcwyou ~]# find /home -size -600k -print

linux通過文件大小模糊查找文件

7. 通過文件新舊查找文件

查找比old.txt新的文件

[root@zcwyou ~]# find -newer "old.txt" -type f -print

查找比newer.txt舊的文件

[root@zcwyou ~]# find ! -newer "newer.log" -type f -print

查找比old.txt新,比newer.txt舊的文件

[root@zcwyou ~]# find -newer 'old.txt' ! -newer 'newer.txt' -type f -print

本文已同步至博客站,尊重原創,轉載時請在正文中附帶以下連結:

https://www.linuxrumen.com/rmxx/1137.html

點擊了解更多,快速查看更多的技術文章列表。

文章來源: https://twgreatdaily.com/zh-tw/Auk72mwBJleJMoPMt2rp.html