(转)Linux中find命令用法全汇总

声明:
本文转载自
作者:马哥Linux运维
链接:https://mp.weixin.qq.com/s/hSbXN9ur11N-yBQkQIligQ
來源:微信公众号
如有侵权,请留言联系作者进行删除

  Linux 查找命令是Linux系统中最重要和最常用的命令之一。查找用于根据与参数匹配的文件指定的条件来搜索和查找文件和目录列表的命令。查找可以在各种条件下使用,您可以通过权限,用户,组,文件类型,日期,大小等可能的条件查找文件。
  通过这篇文章,我们以实例的形式分享我们的日常Linux查找命令体验及其用法。在本文中,我们将向您展示Linux中最常用的35查找命令示例。我们将该部分分为五个部分,从基本到提前使用find命令。


  • 第一部分:查找名称查找文件的基本查找命令

  • 第二部分:根据他们的权限查找文件

  • 第三部分:基于所有者和组的搜索文件

  • 第四部分:根据日期和时间查找文件和目录

  • 第五部分:根据大小查找文件和目录


第一部分 - 查找名称查找文件的基本查找命令

1.使用当前目录中的名称查找文件。
在当前工作目录中查找名称为1.sh的文件。

[root@jianshu cm]# find 1.sh 
1.sh
[root@jianshu cm]# 

2.在主目录下查找文件
查找/opt/cm/目录下的名称为2文件。

[root@jianshu cm]# find /opt/cm/ -name 2
/opt/cm/2
[root@jianshu cm]# 

3.使用名称和忽略案例查找文件
找到当前目录下名称为cc.sh的所有文件,并且不区分大小写。

[root@jianshu cm]# find -iname cc.sh
./cc.sh
./Cc.sh
[root@jianshu cm]# 

4.使用名称查找目录
在 / 目录中查找名称为cm的目录。

[root@jianshu opt]# find / -type d -name cm
/opt/cm
[root@jianshu opt]# 

5.使用名称查找sh文件
在当前工作目录中查找名为test.sh的所有sh文件。

[root@jianshu opt]# find -name test.sh 
./cm/test.sh
./test.sh

[root@jianshu opt]# find -type f -name test.sh 
./cm/test.sh
./test.sh
[root@jianshu opt]# 

6.查找目录中的所有sh文件
查找目录中的所有sh文件。

[root@jianshu opt]# find -type f -name "*.sh"
./cm/cc.sh
./cm/1.sh
./cm/Cc.sh
./cm/test.sh
./test.sh
[root@jianshu opt]# ls
cm  test.sh

[root@jianshu opt]# find -name "*.sh"
./cm/cc.sh
./cm/1.sh
./cm/Cc.sh
./cm/test.sh
./test.sh


第二部分 - 根据他们的权限查找文件

7.查找权限为777文件
查找权限为777的所有文件

[root@jianshu cm]# ll
total 4
-rwxrwxrwx 1 root root 4 Sep 13 09:05 1.sh
-rw-r--r-- 1 root root 0 Sep 13 09:08 2
-rw-r--r-- 1 root root 0 Sep 13 09:13 cc.sh
-rw-r--r-- 1 root root 0 Sep 13 09:13 Cc.sh
-rw-r--r-- 1 root root 0 Sep 13 09:48 test.sh
[root@jianshu cm]# find -type f -perm 777 -print
./1.sh
[root@jianshu cm]# 

8.查找没有777权限的文件

[root@jianshu cm]# find -type f ! -perm 777
./cc.sh
./Cc.sh
./test.sh
./2
[root@jianshu cm]# 

9.查找只读文件

[root@jianshu cm]# find / -perm /u=r

10.查找可执行文件

[root@jianshu cm]# find / -perm /a=x

11.查找所有777权限文件,并使用chmod命令将权限设置为644

[root@jianshu cm]# ll
total 4
-rwxrwxrwx 1 root root 4 Sep 13 09:05 1.sh
-rw-r--r-- 1 root root 0 Sep 13 09:08 2
-rw-r--r-- 1 root root 0 Sep 13 09:13 cc.sh
-rw-r--r-- 1 root root 0 Sep 13 09:13 Cc.sh
-rw-r--r-- 1 root root 0 Sep 13 09:48 test.sh
[root@jianshu cm]# find -type f -perm 777 -print -exec chmod 644 {} \;
./1.sh
[root@jianshu cm]# ll
total 4
-rw-r--r-- 1 root root 4 Sep 13 09:05 1.sh
-rw-r--r-- 1 root root 0 Sep 13 09:08 2
-rw-r--r-- 1 root root 0 Sep 13 09:13 cc.sh
-rw-r--r-- 1 root root 0 Sep 13 09:13 Cc.sh
-rw-r--r-- 1 root root 0 Sep 13 09:48 test.sh
[root@jianshu cm]# 

12.查找所有具有777权限的目录,并使用chmod命令将权限设置为755。

[root@jianshu cm]# ll
total 12
-rw-r--r-- 1 root root    4 Sep 13 09:05 1.sh
-rw-r--r-- 1 root root    0 Sep 13 09:08 2
-rw-r--r-- 1 root root    0 Sep 13 09:13 cc.sh
-rw-r--r-- 1 root root    0 Sep 13 09:13 Cc.sh
drwxrwxrwx 2 root root 4096 Sep 13 15:04 test
drwxr-xr-x 2 root root 4096 Sep 13 15:04 test1
-rw-r--r-- 1 root root    0 Sep 13 09:48 test.sh
[root@jianshu cm]# find / -type d -perm 777 -print -exec chmod 755 {} \;
/opt/cm/test
[root@jianshu cm]# ll
total 12
-rw-r--r-- 1 root root    4 Sep 13 09:05 1.sh
-rw-r--r-- 1 root root    0 Sep 13 09:08 2
-rw-r--r-- 1 root root    0 Sep 13 09:13 cc.sh
-rw-r--r-- 1 root root    0 Sep 13 09:13 Cc.sh
drwxr-xr-x 2 root root 4096 Sep 13 15:04 test
drwxr-xr-x 2 root root 4096 Sep 13 15:04 test1
-rw-r--r-- 1 root root    0 Sep 13 09:48 test.sh
[root@jianshu cm]# 

13.查找并删除单个文件
找到一个名为test.c的文件并将其删除

[root@jianshu cm]# find -name "test.c"
./test.c
[root@jianshu cm]# find -name "test.c" -exec rm -f {} \;
[root@jianshu cm]# ll
total 12
-rw-r--r-- 1 root root    4 Sep 13 09:05 1.sh
-rw-r--r-- 1 root root    0 Sep 13 09:08 2
-rw-r--r-- 1 root root    0 Sep 13 09:13 cc.sh
-rw-r--r-- 1 root root    0 Sep 13 09:13 Cc.sh
drwxr-xr-x 2 root root 4096 Sep 13 15:04 test
drwxr-xr-x 2 root root 4096 Sep 13 15:04 test1
-rw-r--r-- 1 root root    0 Sep 13 09:48 test.sh
[root@jianshu cm]# 

14.查找并删除多个文件
查找和删除多个文件,*.txt,然后使用。

[root@jianshu cm]# find -type f -name "*.txt" -exec rm -f {} \;

15.查找所有空文件
在特定路径下查找所有空文件。

[root@jianshu cm]# find / tmp -type f -empty
/sys/kernel/debug/tracing/events/syscalls/sys_enter_fstatfs/enable
[root@jianshu cm]# cat /sys/kernel/debug/tracing/events/syscalls/sys_enter_fstatfs/enable
0

16.查找所有空目录
将特定路径下的所有空目录归档。

[root@jianshu cm]# find /opt/cm/ -type d -empty 
/opt/cm/test
/opt/cm/test1
[root@jianshu cm]# cd /opt/cm/test
[root@jianshu test]# ll
total 0
[root@jianshu test]# 

17.要查找所有隐藏的文件,请使用以下命令。

[root@jianshu test]# find /var/lib/rpm/ -type f -name ".*"
/var/lib/rpm/.dbenv.lock
/var/lib/rpm/.rpm.lock
[root@jianshu test]# cd /var/lib/rpm/
[root@jianshu rpm]# ls
Basenames     __db.001  __db.003  Group       Name          Packages     Requirename  Sigmd5
Conflictname  __db.002  Dirnames  Installtid  Obsoletename  Providename  Sha1header   Triggername


第三部分 - 基于所有者和组的搜索文件

18.查找基于用户的单个文件
查找所有者为root的 / 目录下名为1.sh的所有或单个文件。

[root@jianshu cm]# find / -user root -name 1.sh
/opt/cm/1.sh
[root@jianshu cm]# 

19 .查找基于用户的所有文件
查找当前目录下属于cm用户的所有文件

[root@jianshu cm]# ll
total 12
-rw-r--r-- 1 cm   root    4 Sep 13 09:05 1.sh
-rw-r--r-- 1 root cm      0 Sep 13 09:08 2
-rw-r--r-- 1 root root    0 Sep 13 09:13 cc.sh
-rw-r--r-- 1 root root    0 Sep 13 09:13 Cc.sh
drwxr-xr-x 2 root root 4096 Sep 13 15:04 test
drwxr-xr-x 2 root root 4096 Sep 13 15:04 test1
-rw-r--r-- 1 root root    0 Sep 13 09:48 test.sh
[root@jianshu cm]# find -user cm
./1.sh
[root@jianshu cm]# 

20..查找基于组的所有文件
查找当前目录下,属于cm组的所有文件

[root@jianshu cm]# ll
total 12
-rw-r--r-- 1 cm   root    4 Sep 13 09:05 1.sh
-rw-r--r-- 1 root cm      0 Sep 13 09:08 2
-rw-r--r-- 1 root root    0 Sep 13 09:13 cc.sh
-rw-r--r-- 1 root root    0 Sep 13 09:13 Cc.sh
drwxr-xr-x 2 root root 4096 Sep 13 15:04 test
drwxr-xr-x 2 root root 4096 Sep 13 15:04 test1
-rw-r--r-- 1 root root    0 Sep 13 09:48 test.sh
[root@jianshu cm]# find -group cm
./2

21..查找用户的特定文件
查找当前目录下属于用户cm的所有.sh文件


[root@jianshu cm]# ll
total 12
-rw-r--r-- 1 cm   root    4 Sep 13 09:05 1.sh
-rw-r--r-- 1 root cm      0 Sep 13 09:08 2
-rw-r--r-- 1 cm   root    0 Sep 14 14:24 2.sh
-rw-r--r-- 1 root root    0 Sep 14 14:25 3.sh
-rw-r--r-- 1 cm   root    0 Sep 13 09:13 cc.sh
-rw-r--r-- 1 cm   root    0 Sep 13 09:13 Cc.sh
drwxr-xr-x 2 root root 4096 Sep 13 15:04 test
drwxr-xr-x 2 root root 4096 Sep 13 15:04 test1
-rw-r--r-- 1 root root    0 Sep 13 09:48 test.sh
[root@jianshu cm]# find -user cm -iname "*.sh"
./cc.sh
./2.sh
./1.sh
./Cc.sh
[root@jianshu cm]# 


第四部分 - 根据日期和时间查找文件和目录

22.在根目录下20-50天内修改过的文件

[root@jianshu cm]# find / -mtime +20 -a -mtime -50 -type f
/var/log/sa/sa23
/var/log/sa/sa18
/var/log/sa/sa17
……
/var/log/sa/sar19
/var/log/sa/sar23
/var/log/sa/sa20
/var/log/sa/sa21
/var/log/sa/sa16
/var/log/sa/sar17

23.查找最近1天访问的文件

[root@jianshu cm]# find -atime 1
./cc.sh
./Cc.sh
./test.sh
./2
[root@jianshu cm]# 

24.查找当前目录最近1小时内更改的所有文件

[root@jianshu cm]# find -cmin -60
.
./cc.sh
./3.sh
./2.sh
./1.sh
./Cc.sh
./2
[root@jianshu cm]# 

25.查找当前目录最近1小时内访问的所有文件。

[root@jianshu cm]# find -atime -60
.
./cc.sh
./3.sh
./test
./2.sh
./1.sh
./test1
./Cc.sh
./test.sh
./2
[root@jianshu cm]# 


第五部分 - 根据大小查找文件和目录

26.找到16MB的文件

[root@jianshu ~]# find -size 16M
./clamav-0.99.2.tar.gz
[root@jianshu ~]# du -sh ./clamav-0.99.2.tar.gz
16M ./clamav-0.99.2.tar.gz
[root@jianshu ~]# 

27.查找大小在10MB到20MB之间文件

[root@jianshu ~]# find -size +10M -size -20M
./clamav-0.99.2.tar.gz
[root@jianshu ~]# 

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,752评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,100评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,244评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,099评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,210评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,307评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,346评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,133评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,546评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,849评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,019评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,702评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,331评论 3 319
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,030评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,260评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,871评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,898评论 2 351

推荐阅读更多精彩内容