`
leeyouser
  • 浏览: 24846 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

find命令

阅读更多
找出/etc下面,文件容量大于50KB且文件所有者不是root的文件名,并且将文件完整地列出(ls-l)
找出/etc下面,容量大于1500KB以及容量等于0的文件


find /etc -size +50k -a ! -user root -exec ls -ld {} \;
find /etc -size +50k -a ! -user root -type f -exec ls -l {} \;
上面两式均可!注意到 ! ,那个 ! 代表的是反向选择,亦即『不是后面的项目』之意!

find /etc -size +1500k -o -size 0
相对于 -a ,那个 -o 就是或 (or) 的意思

find (查找档案,功能强大,就是耗时间和硬盘):
find [PATH] [option] [action] 档案或目录名称
参数:
1. 与时间有关的参数:
-atime n :n 为数字,意义为在 n 天之前的『一天之内』被 access 过的档案;
-ctime n :n 为数字,意义为在 n 天之前的『一天之内』被 change 过状态的档案;
-mtime n :n 为数字,意义为在 n 天之前的『一天之内』被 modification 过的档案;
-newer file :file 为一个存在的档案,意思是说,只要档案比 file 还要新,
就会被列出来~
2. 与使用者或群组名称有关的参数:
-uid n :n 为数字,这个数字是使用者的账号 ID,亦即 UID ,这个 UID 是记录在
/etc/passwd 里面与账号名称对应的数字。这方面我们会在第四篇介绍。
-gid n :n 为数字,这个数字是群组名称的 ID,亦即 GID,这个 GID 记录在
/etc/group,相关的介绍我们会第四篇说明~
-user name :name 为使用者账号名称喔!例如 dmtsai
-group name:name 为群组名称喔,例如 users ;
-nouser :寻找档案的拥有者不存在 /etc/passwd 的人!
-nogroup :寻找档案的拥有群组不存在于 /etc/group 的档案!
当您自行安装软件时,很可能该软件的属性当中并没有档案拥有者,
这是可能的!在这个时候,就可以使用 -nouser 与 -nogroup 搜寻。
3. 与档案权限及名称有关的参数:
-name filename:搜寻文件名称为 filename 的档案;
-size [+-]SIZE:搜寻比 SIZE 还要大(+)或小(-)的档案。这个 SIZE 的规格有:
c: 代表 byte, k: 代表 1024bytes。所以,要找比 50KB
还要大的档案,就是『 -size +50k 』
-type TYPE :搜寻档案的类型为 TYPE 的,类型主要有:一般正规档案 (f),
装置档案 (b, c), 目录 (d), 连结档 (l), socket (s),
及 FIFO (p) 等属性。
-perm mode :搜寻档案属性『刚好等于』 mode 的档案,这个 mode 为类似 chmod
的属性值,举例来说, -rwsr-xr-x 的属性为 4755 !
-perm -mode :搜寻档案属性『必须要全部囊括 mode 的属性』的档案,举例来说,
我们要搜寻 -rwxr–r– ,亦即 0744 的档案,使用 -perm -0744,
当一个档案的属性为 -rwsr-xr-x ,亦即 4755 时,也会被列出来,
因为 -rwsr-xr-x 的属性已经囊括了 -rwxr–r– 的属性了。
-perm +mode :搜寻档案属性『包含任一 mode 的属性』的档案,举例来说,我们搜寻
-rwxr-xr-x ,亦即 -perm +755 时,但一个档案属性为 -rw——-
也会被列出来,因为他有 -rw…. 的属性存在!
4. 额外可进行的动作:
-exec command :command 为其它指令,-exec 后面可再接额外的指令来处理搜寻到
的结果。
-print :将结果打印到屏幕上,这个动作是预设动作!

范例:
范例一:将过去系统上面 24 小时内有更动过内容 (mtime) 的档案列出
[root@linux ~]# find / -mtime 0
# 那个 0 是重点!0 代表目前的时间,所以,从现在开始到 24 小时前,
# 有变动过内容的档案都会被列出来!那如果是三天前的 24 小时内?
# find / -mtime 3 ,意思是说今天之前的 3*24 ~ 4*24 小时之间
# 有变动过的档案都被列出的意思!同时 -atime 与 -ctime 的用法相同。

范例二:寻找 /etc 底下的档案,如果档案日期比 /etc/passwd 新就列出
[root@linux ~]# find /etc -newer /etc/passwd
# -newer 用在分辨两个档案之间的新旧关系是很有用的!
范例三:搜寻 /home 底下属于 dmtsai 的档案
[root@linux ~]# find /home -user dmtsai
# 这个东西也很有用的~当我们要找出任何一个使用者在系统当中的所有档案时,
# 就可以利用这个指令将属于某个使用者的所有档案都找出来喔!
范例四:搜寻系统中不属于任何人的档案
[root@linux ~]# find / -nouser
# 透过这个指令,可以轻易的就找出那些不太正常的档案。
# 如果有找到不属于系统任何人的档案时,不要太紧张,
# 那有时候是正常的~尤其是您曾经以原始码自行编译软件时。
范例五:找出档名为 passwd 这个档案
[root@linux ~]# find / -name passwd
# 利用这个 -name 可以搜寻档名啊!
范例六:搜寻档案属性为 f (一般档案) 的档案
[root@linux ~]# find /home -type f
# 这个 -type 的属性也很有帮助喔!尤其是要找出那些怪异的档案,
# 例如 socket 与 FIFO 档案,可以用 find /var -type p 或 -type s 来找!
范例七:搜寻档案当中含有 SGID/SUID/SBIT 的属性
[root@linux ~]# find / -perm +7000
# 所谓的 7000 就是 —s–s–t ,那么只要含有 s 或 t 的就列出,
# 所以当然要使用 +7000 ,使用 -7000 表示要含有 —s–s–t 的所有三个权限,因此,就是 +7000 。
范例八:将上个范例找到的档案使用 ls -l 列出来
[root@linux ~]# find / -perm +7000 -exec ls -l {} \;
# 注意到,那个 -exec 后面的 ls -l 就是额外的指令,
# 而那个 {} 代表的是『由 find 找到的内容』的意思~所以, -exec ls -l {}
# 就是将前面找到的那些档案以 ls -l 列出长的数据!至于 \; 则是表示
# -exec 的指令到此为止的意思~意思是说,整个指令其实只有在
# -exec (里面就是指令下达) \;
# 也就是说,-exec 最后一定要以 \; 结束才行!这样了解了吗?!
范例九:找出系统中,大于 1MB 的档案
[root@linux ~]# find / -size +1000k
# 也可以使用 M 与 G 分别代表 MB 与 GB
分享到:
评论

相关推荐

    Linux Find命令详解---教你认识强大的Linux Find命令

    Linux Find命令是Linux系统中一个极其重要的工具,它允许用户在文件系统中查找符合特定条件的文件和目录。这个命令的灵活性和强大性使得它成为系统管理员和开发者的必备技能。下面将详细介绍Linux Find命令的一些...

    linux下find命令的用法

    "linux下find命令的用法" Linux 操作系统下的文件查找命令是 find 命令,这个命令可以帮助用户在 Linux 系统中快速查找需要的文件。find 命令的使用方法非常多样化,可以根据文件名、文件大小、文件类型、修改时间...

    使用find命令查找Linux中的隐藏文件的方法.docx

    使用find命令查找Linux中的隐藏文件的方法 find命令是Linux和Unix系统中最强大和灵活的命令之一,能够根据不同的选项和参数来实现各种文件搜索和管理任务。下面将详细介绍如何使用find命令查找Linux中的隐藏文件。 ...

    linux下find命令查找排除命令(简单明了)

    ### Linux下的find命令查找与排除命令详解 在Linux系统中,`find`命令是一个非常强大的工具,用于在文件系统中搜索文件。通过结合不同的选项和参数,用户可以精确地定位到所需的文件或目录。本文将重点介绍如何使用...

    Linux实现类似find命令的myfind

    仿照unix操作系统中的find命令,在实现一个myfind命令。myfind命令从指定的目录下开始,递归地查找指定文件

    find命令和xargs命令配合使用

    find命令和xargs命令配合使用,自己总结的,觉得还好

    运用tasklist和find命令来检测进程是否存在

    运用tasklist和find命令来检测进程是否存在

    find命令参数详解

    find 命令参数详解 find 命令是 Unix/Linux 系统中一个功能强大且灵活的命令,用于在文件系统中搜索和查找文件。该命令具有强大的功能,因此它的选项也很多,详细了解每个参数可以帮助我们更好地使用 find 命令。 ...

    Linux中find命令的用法汇总

    Linux系统中的 find 命令在查找文件时非常有用而且方便。它可以根据不同的条件来查找文件,例如权限、拥有者、修改日期/时间、文件大小等等。在这篇文章中,我们将学习如何使用 find 命令以及它所提供的选项来查找...

    Linux中Find命令的使用

    ### Linux中的Find命令详解 在Linux系统中,`find`命令是极其强大的工具之一,用于在文件系统中搜索文件。其功能强大且灵活,能够基于多种条件进行查找,包括文件名、类型、权限、大小、拥有者等。下面将详细介绍`...

    find 命令的 7 种用法.doc

    find 命令的 7 种用法.doc

    find命令 查找和搜索文件

    find命令可以根据给定的路径和表达式查找的文件或目录。find参数选项很多,并且支持正则,功能强大。和管道结合使用可以实现复杂的功能,是系统管理者和普通用户必须掌握的命令。 find如不加任何参数,表示查找当前...

    linux find命令使用手册

    ### Linux Find 命令使用手册详解 #### 概述 `find` 是一个功能强大的命令行工具,用于在Linux系统中的目录树中查找文件。它支持多种选项和表达式来帮助用户根据特定条件筛选出目标文件。此文档将详细介绍`find`...

    linux find命令说明

    Linux find 命令说明 Linux find 命令是 Linux 系统中一个功能强大且灵活的命令,它可以根据各种条件来查找文件和目录。Find 命令的基本语法是 `find [pathname] [expression]`,其中 `pathname` 是要搜索的目录或...

    详尽的find 命令查找技巧.docx

    Linux 命令 find 的高级查找技巧 find 命令是 Linux 中最常用的命令之一,掌握了 find 命令的高级查找技巧可以使很多操作达到事半功倍的效果。本文将详细介绍 find 命令的格式、参数、表达式、tests、actions、...

    浅谈find命令下的atime,ctime,mtime

    Linux下的find命令在目录结构中搜索文件,并执行指定的操作。linux下的find命令提供了相当多的查找条件,功能很强大,由于find的功能很强大,所以他的选项也很多,今天我们来细说一下find命令下的三个时间参数atime,...

    linux下find命令

    Linux 下 find 命令详解 find 命令是 Linux 系统中一个功能强大且常用的命令,用于在文件系统中搜索文件。它可以根据文件的各种属性,如名称、权限、所有者、组、时间戳、大小等,来查找指定的文件。 基本语法 ...

    linux find 命令大全

    ### Linux Find 命令详解 #### 概述 `find` 命令是 Linux 系统中一个非常强大的工具,用于在指定路径下查找文件。它支持多种选项来帮助用户精确地定位到需要的文件。通过 `find` 命令,用户可以基于文件名、文件...

Global site tag (gtag.js) - Google Analytics