数码资讯
Linux操作系统的强大的find命令
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
因为find有一个强大的函数,它有很多选项,而且大多数选项都值得花时间去理解。即使系统包含一个网络文件系统(NFS),find命令在文件系统中同样有效,只有您拥有适当的权限…
因为find有一个强大的函数,它有很多选项,而且大多数选项都值得花时间去理解。即使系统包含一个网络文件系统(NFS),find命令在文件系统中同样有效,只有您拥有适当的权限。
当运行一个查找命令,消耗的资源非常多,许多人往往把它放在后台执行,因为它需要很长的时间来遍历一个大的文件系统(这是一个文件系统之上的30g字节)。
一、找到命令格式
1,find命令的一般形式是;
找到路径选择{ -打印-执行-好吧…}
2,find命令的参数;
通过路径找到的目录路径查找命令。例如,代表当前目录,用/来表示系统根目录。
打印:find命令将匹配的文件输出到标准输出。
- exec:找到执行命令的参数给定的匹配文件的shell命令。相应的命令的形式是of'command{ };注意他们之间的{ }和空间。
- OK:函数的作用与shell的相同,但是一个更安全的模式用于执行由这个参数给出的shell命令。在执行每个命令之前,给出一个提示,让用户决定是否执行。
3,找到命令选项
名称
根据文件的名称查找文件。
-烫发
根据文件权限查找文件。
修剪
使用此选项可以使find命令不在当前指定的目录中查找。如果同时使用深度选项,则会被find命令忽略。
-用户
根据文件的所有者找到文件。
-组
根据文件所属的组查找文件。
影评:N + N
根据文件更改时间搜索文件。n表示更改文件的时间少于n天。+ n表示文件更改时间现在是N天。find命令也有-个和ctime选项,但他们都有米的时间选择。
- nogroup
查找没有有效组的文件,即文件所属的组不存在于组中。
- nouser
找到一个没有有效的所有者,即文件,该文件的所有者不在/ etc / passwd文件存在。
-更新file1!源文件
找到一个新的文件,修改时间比文件file1 file2旧但比文件。
型
找到一种类型的文件,例如:
块设备文件。
d目录。
字符设备文件。
p管文件。
l符号链接文件。
普通文件。
大小n:{ }查找具有n个块的文件长度的文件,并且在使用C时,文件的长度为字节。
深度:寻找一个文件时,首先查找当前目录中的文件,然后在其子目录查找。
- fstype:查找文件在一个特定类型的文件系统。这些文件系统类型通常可以在配置文件/ etc / fstab中发现,其中包含在这个系统中文件系统的信息。
-挂载:在查找文件时不要越过文件系统挂载点。
-如下:如果find命令遇到一个符号链接文件,它跟踪指向链接的文件。
-从使用cpio命令配置文件备份这些文件到磁带设备。
此外,还有以下三个不同点:
阿明N
在系统中找到最后一分钟的访问文件
-一个n
查找系统中最后N×24小时访问的文件
- cmin n
查找更改系统中最后N分钟文件状态的文件。
- ctime n
查找在系统的最后24小时内更改过的文件。
- mmin n
查找更改系统中最后N分钟的文件数据的文件。
- mtime n
查找在系统中最后24小时内更改文件数据的文件
4。使用执行命令或执行命令来执行shell命令
在使用find时,只要在文件中写入所需的操作,就可以使用执行程序来匹配find搜索。非常方便。
在某些操作系统中,只有-exec选项允许执行命令,如L和LS -l.most用户使用此选项找到旧文件并将其删除。建议在你真正执行rm命令来删除一个文件,最好使用ls命令看到它们被删除的文件。
执行选项遵循您要执行的命令或脚本,然后是一对{、一个空格和一个分号,最后是一个分号。为了使用执行选项,您必须同时使用打印选项。如果您验证find命令,它会发现该命令仅从当前路径输出相对路径和文件名。
例如,为了用ls - L命令列出匹配的文件,ls - L命令可以放在find命令的执行选项中。
找到-type f -exec ls #。{ };
- rw-R -R - 1根34928 2003-02-25 / / httpd.conf配置。
- rw-R -R - 1根12959 2003-02-25 / /魔法中。
- rw-R -R - 1根180 2003-02-25。 / / conf.d自述
在上面的示例中,find命令与当前目录下的所有普通文件相匹配,并将它们与ls选项中的ls - L命令一起列出。
查找日志目录中的文件,以便在5天之前更改时间并删除它们:
为找到日志型F时间+ 5 -exec rm {};
记住:在以shell的任何方式删除文件之前,您应该首先检查相应的文件。小心!当使用诸如mv或RM这样的命令时,您可以使用安全选项——在执行每个匹配文件之前都会提示您。
在下面的例子中,find命令查找所有文件名在当前目录下,结束with.log,改变超过5天以上的文件,并删除它们,但只给予提示,删除前。
$ find。名称×conf170- 5 -好的rm {};
n
用Y键删除文件,按N键不删除。
任何形式的命令都可以在-执行选项中使用。
在下面的例子中,我们使用grep命令,指挥的第一场比赛,找到所有文件命名为passwd,*,和文件,如口令、passwd.old和passwd.bak,然后执行grep命令查看这些文件中有一个山姆用户。
#找到 /等名称passwd *-exec grep 山姆{ };
山姆:X:501:501:: / usr /山姆: /斌/狂欢
U3000 U3000
二,find命令的一个示例;
1。查找当前用户主目录中的所有文件。
可以使用以下两种方法
找美元打印
$查找-打印
2。让当前目录中的文件具有读写权限,文件组和其他用户的用户具有读取权限。
$ find。型F -烫发644 -执行ls - { };
三.为了找到系统中所有文件长度为0的普通文件,列出了它们的完整路径。
$查找-类型F大小0;
4。请在日志目录中查找公共文件,以便在7天之前更改时间,并在删除之前询问它们。
$ find /无功/日志型F时间+ 7好的rm {};
5。为了找到属于系统中根组的所有文件;
$ find。-组根执行ls;
- rw-R -R - 1根59510月31 01:09。 / FIE1
6、查找命令将删除admin.log文件,有一个数字后缀被访问目录中的7天。
此命令只检查三位数字,因此相应文件的后缀不超过999。
$ find。名称{ } {管理员登录0-9 0-9 } { 0-9 }-一- 7 -好的
RM { };
n
n
n
n
7。查找当前文件系统中的所有目录并进行排序。
$ find。式D类|
8。为了找出系统中所有的RMT磁带设备;
$ find / dev /可打印
三,xargs
xargs建立并执行从标准输入命令行
当匹配的文件是使用find命令的-exec选项处理,查找命令将所有匹配的文件执行死刑。但一些系统限制的命令,可以传递给exec,找到后命令运行几分钟的长度,一个溢出就会发生错误,错误信息通常是参数列太长或参数列溢出这是xargs命令的使用,特别是与查找命令。
find命令将匹配的文件到xargs命令,并且xargs命令只得到每个时间,文件的一部分不是全部,不像-exec选项。这使得它能够处理的文件的第一部分,然后下一步,继续。
在某些系统中,对于每一个匹配的文件,都会使用-执行选项,并启动相应的进程,这将不匹配所有的文档作为参数;在某些情况下,会有太多的进程,系统的退化,因此效率不高;
使用xargs命令,只有一个过程。此外,当我们使用xargs命令,我们需要把所有参数一次,或成批获得参数,参数采集及数量将根据命令在系统内核对应的可调参数的选择确定。
看看xargs命令使用find命令及举例。
以下示例查找系统中的每一个普通的文件并使用xargs命令来测试什么样的文件,它们分别属于。
#找到F型-打印xargs文件|。
。 / / /。KDE启动autorun.desktop:UTF-8 Unicode英语文本
。 / / /。KDE启动目录:ISO-8859文本。
…
找到内存信息转储文件(core dump)在整个系统中,然后将结果保存到 / / core.log TMP文件:
$ find /名称核心-打印xargs回声> / / tmp核心。日志|
上面的执行太慢了,我将它更改为在当前目录中查找
#找到。名称文件打印xargs回声 /温度/核心。日志> |
#猫/温度/ core.log
file6 /。
在当前目录中,查找所有用户已读、写和执行权限的文件,并收回相应的写权限。
# ls -l
drwxrwxrwx 2 Sam ADM 409610个月的30 file6 20:14
2山姆- rwxrwxrwx ADM 010月31 01:01 http3.conf
2山姆- rwxrwxrwx ADM 010月31 01:01 httpd.conf
#。-烫发- 7 -打印找到xargs chmod水包油|
# ls -l
drwxrwxr-x 2 Sam ADM 409610个月的30 file6 20:14
2山姆- rwxrwxr-x ADM 010月31 01:01 http3.conf
2山姆- rwxrwxr-x ADM 010月31 01:01 httpd.conf
使用grep命令来搜索所有普通文件的话,主机名:
#。- F型-打印找到xargs grep主机名|
。/ httpd1 conf:#不同的IP地址或主机名和他们的
。/ httpd1 conf:#虚拟主机:如果你想保持多个域名/主机名
在你的
使用grep命令来搜索当前目录中所有文件的常见词的主机名:
#。找到名字的F -打印xargs grep *型| 主机名
。/ httpd1 conf:#不同的IP地址或主机名和他们的
。/ httpd1 conf:#虚拟主机:如果你想保持多个域名/主机名
在你的
请注意,在上面的示例中,它用于取消shell中find命令中的*的特殊含义。
find命令,以执行和xargs使用相结合,允许用户在配套文件执行几乎所有的命令。
四个参数,查找命令
下面是find常用参数的一些示例。当它们有用时,检查它们。像上面的帖子一样,其中一些是被使用的。您也可以使用手册或检查其他手册的发现在论坛上。
1。使用名称选项
文件名选项是find命令最常用的选项,可以单独使用这个选项,也可以与其他选项一起使用。
您可以使用某种文件名模式来匹配文件,请记住用引号来绘制文件名。
不管目前的路径是什么,如果你想找的文件名匹配*。在你的根目录$家TXT文件,使用~ as'pathname'parameter,摇号代表你的$HOME目录。
查找名称
你想在当前目录及其子目录下找到所有的‘*。txtrsquo;文件可以:
$ find。-名称*-打印
在当前目录和子目录中,您希望找到一个以大写字母开头的文件,可以使用它:
$ find。名称{ A-Z } *打印
要查找在目录中以主机开头的文件,您可以使用:
查找名称主机
要在home目录中找到文件,您可以使用:
找到name*-打印或查找。-打印
要使系统在高负载下运行,请从根目录中查找所有文件。
查找-打印
如果你想找到当前目录中的文件名,从两个小写字母,后面跟着两个数,最后。txt文件,下面的命令可以返回文件名为ax37.txt。
$ find。名称{ } { } { 0字母A-Z,9 } { 0,9 }。txt打印
2。使用烫发选项
在文件权限模式下使用烫发选项以文件权限模式查找文件。最好使用八进制权限表示。
例如,在当前目录中,查找其权限为755的文件。也就是说,文件是用户可以读取、写入和执行的文件,以及用户可以读取和执行的其他文件。
$ find。-烫发755 -打印
另一种表达方式是在八进制数前面加一个水平条——表示匹配,例如007等于777,006等于666。
# ls -l
2山姆- rwxrwxr-x ADM 010月31 01:01 http3.conf
- RW RW RW 1山姆3489010个月31 00:57 httpd1.conf ADM
2山姆- rwxrwxr-x ADM 010月31 01:01 httpd.conf
DRW RW光碟2宝石集团409610月26岗位山姆
- RW RW RW 1根279210月31 20:19温度
#找到烫发006。
#找到-烫发- 006。
/山姆
httpd1.conf /。
临时温度
烫发模式:文件是按模式许可的。
+模式:文件许可部分符合模式
-烫发模式:文件允许完全符合模式
U3000 U3000
三.忽略一个目录
如果你想忽略目录寻找一个文件时,因为你知道,没有文件,你想在目录中找到,你可以使用-prune选项指出你想忽略目录。使用-prune选项时要小心,因为如果你同时使用-深度选项,选项的修剪,将通过查找命令忽略。
如果你想在应用程序目录中找到一个文件,你不想在这个目录中找到它,你可以使用它:
查找应用程序
4。如何在使用find查找文件时避免文件目录
例如,查找所有的文件不在目录的子目录 / usr /山姆目录下
发现/ usr /山姆-路径 / usr /山姆/目录-修剪- O -打印
查找路径列表后面的{路径{ } }是一个表达式
路径/ usr /山姆-修剪- O -打印路径 / usr /山姆一个李子啊
表达-打印根据求值顺序,A、O的短路,壳和路径| |类似如果 / usr /山姆是真的,那么评价-修剪,修剪时返回true,和逻辑表达是否正确;评价-修剪,和逻辑表达式是错误的。如果路径 / usr /山姆-修剪是假的,然后打印进行打印,返回真,或逻辑表达式为真;否则,它是不计算打印或逻辑表达式为真。
这个表达式的特殊组合可以写成伪代码。
如果路径 / usr /山姆
修剪
其他的
-打印
避免多个文件夹
发现/ usr /山姆(路径 / usr /山姆/目录- O -路径 / usr /山姆/ 1)-修剪- O -打印
括号表示表达式的组合。
它表示一个引用,这表明shell对下面的字符没有特别解释,只留下find命令来解释它的意义。
查找某个文件、名称和其他选项
#找到 / usr /山姆(路径 / usr /山姆/目录- O -路径 / usr /山姆/ 1)-修剪- O -叫临时打印
5。使用用户和nouser选项
该文件属于文件的主查找文件,例如在$ home目录中找到属于山姆的文件,可以使用:
$查找-用户山姆-打印
在/ etc的目录,发现属于主人的UUCP文件:
$ find /等用户UUCP打印
In order to find files that have been deleted from the main account, you can use the -nouser option.This allows you to find files that are not valid in the /etc/passwd file.When using the -nouser option, you don't have to give a username; the find command can do the work for you.
例如,您希望在主目录中查找所有这些文件,并可以使用它:
$ find /家nouser打印
6。使用组和nogroup选项
就像user和nouser,查找命令对用户群体的文件相同的选项。为了找到属于应用程序目录中的GEM用户组的文件,它可以使用:
寻找应用程序-组-宝石-打印
找到所有的文件不是有效的用户群,你可以使用nogroup选项。以下搜索命令查找从文件系统的根目录的文件
$ find / - nogroup打印
7。通过更改时间或访问时间等来查找文件。
如果你想通过改变时间找到一个文件,你可以使用时间,时间,或CTime选项。如果系统突然没有可用空间,它很可能是一个文件的长度将快速增长期间,所以我们可以利用时间选择找到这样的文件。
在文档的n天内用减号限制更改时间,并使用+从n文件更改前一天的时间限制。
希望在系统根目录中,在更改的5天内查找文件,这些文件可以使用:
$ find / -时间- 5 -打印
为了找到一个在3天内更改时间的文件,它可以使用:
$ find /无功/ ADM 170- 3 -打印
8。查找新文件或旧文件
如果你想找到一个文件的新文件,但是它比另一个文件旧,你可以使用更新的选项。它的一般形式是:
newest_file_name!oldest_file_name
其中,它是逻辑无符号的。
查找旧文件的变化时间比文件山姆,但比文件温度老:
示例:有两个文件
- rw-R -R - 1山姆010个月31、ADM 01:07
- RW RW RW 1山姆3489010个月31 00:57 httpd1.conf ADM
2山姆- rwxrwxr-x ADM 010月31 01:01 httpd.conf
DRW RW光碟2宝石集团409610月26岗位山姆
- RW RW RW 1根279210月31 20:19温度
#找到新的httpd1.conf -新的温度- LS!
10776690 - 2山姆rwxrwxr-x ADM 010个月31 01:01。 / httpd.conf
10776714 - RW RW RW 1根279210月31 20:19。 /温度
10776730 rw-R -R -山姆010个月31 1 ADM 01:07 /场。
查找新文件中的更改时间比临时文件:
$ find。-新的临时打印
9。使用类型选项
查找可以使用的目录中的所有目录:
$ find类型d打印
在当前目录中,查找除目录以外的所有类型的文件,这些文件可以使用:
找美元。!D型打印
查找目录中的所有符号链接文件,这些文件可以使用
查找类型L打印
10。使用大小选项
您可以根据文件的长度查找文件,其中可以通过块(块)或字节来测量文件的长度。
当文件按文件长度进行搜索时,通常用字节表示的文件长度来检查文件系统的大小,因为用块进行转换更容易。
在当前目录中,查找长度大于1 m字节的文件。
$ find。尺寸+ 1000000c打印
在目录中,查找文件长度为100字节的文件:
$ find /家/阿帕奇尺寸100c打印
查找当前目录中的10多个文件(一个块等于512字节):
$ find。-尺寸+ 10 -打印
11。使用深度选项
当使用查找命令,你可以把所有的文件,然后查找子目录,深度选项允许使用find命令这样做。原因之一是,当我们使用find命令备份文件系统的备份磁带,我们希望所有第一个文件,然后备份文件目录。
在下面的例子中,find命令从文件系统的根目录,寻找一个文件名为CON.FILE。
它首先匹配所有文件,然后在子目录中查找。
查找文件-深度打印
12。使用挂载选项
要查找当前文件系统中的文件(而不是其他文件系统),可以使用find命令的挂载选项。
从当前目录开始查找文件在XC端的文件系统中的文件系统:
$ find。名称*。XC安装打印
因为find有一个强大的函数,它有很多选项,而且大多数选项都值得花时间去理解。即使系统包含一个网络文件系统(NFS),find命令在文件系统中同样有效,只有您拥有适当的权限。
当运行一个查找命令,消耗的资源非常多,许多人往往把它放在后台执行,因为它需要很长的时间来遍历一个大的文件系统(这是一个文件系统之上的30g字节)。
一、找到命令格式
1,find命令的一般形式是;
找到路径选择{ -打印-执行-好吧…}
2,find命令的参数;
通过路径找到的目录路径查找命令。例如,代表当前目录,用/来表示系统根目录。
打印:find命令将匹配的文件输出到标准输出。
- exec:找到执行命令的参数给定的匹配文件的shell命令。相应的命令的形式是of'command{ };注意他们之间的{ }和空间。
- OK:函数的作用与shell的相同,但是一个更安全的模式用于执行由这个参数给出的shell命令。在执行每个命令之前,给出一个提示,让用户决定是否执行。
3,找到命令选项
名称
根据文件的名称查找文件。
-烫发
根据文件权限查找文件。
修剪
使用此选项可以使find命令不在当前指定的目录中查找。如果同时使用深度选项,则会被find命令忽略。
-用户
根据文件的所有者找到文件。
-组
根据文件所属的组查找文件。
影评:N + N
根据文件更改时间搜索文件。n表示更改文件的时间少于n天。+ n表示文件更改时间现在是N天。find命令也有-个和ctime选项,但他们都有米的时间选择。
- nogroup
查找没有有效组的文件,即文件所属的组不存在于组中。
- nouser
找到一个没有有效的所有者,即文件,该文件的所有者不在/ etc / passwd文件存在。
-更新file1!源文件
找到一个新的文件,修改时间比文件file1 file2旧但比文件。
型
找到一种类型的文件,例如:
块设备文件。
d目录。
字符设备文件。
p管文件。
l符号链接文件。
普通文件。
大小n:{ }查找具有n个块的文件长度的文件,并且在使用C时,文件的长度为字节。
深度:寻找一个文件时,首先查找当前目录中的文件,然后在其子目录查找。
- fstype:查找文件在一个特定类型的文件系统。这些文件系统类型通常可以在配置文件/ etc / fstab中发现,其中包含在这个系统中文件系统的信息。
-挂载:在查找文件时不要越过文件系统挂载点。
-如下:如果find命令遇到一个符号链接文件,它跟踪指向链接的文件。
-从使用cpio命令配置文件备份这些文件到磁带设备。
此外,还有以下三个不同点:
阿明N
在系统中找到最后一分钟的访问文件
-一个n
查找系统中最后N×24小时访问的文件
- cmin n
查找更改系统中最后N分钟文件状态的文件。
- ctime n
查找在系统的最后24小时内更改过的文件。
- mmin n
查找更改系统中最后N分钟的文件数据的文件。
- mtime n
查找在系统中最后24小时内更改文件数据的文件
4。使用执行命令或执行命令来执行shell命令
在使用find时,只要在文件中写入所需的操作,就可以使用执行程序来匹配find搜索。非常方便。
在某些操作系统中,只有-exec选项允许执行命令,如L和LS -l.most用户使用此选项找到旧文件并将其删除。建议在你真正执行rm命令来删除一个文件,最好使用ls命令看到它们被删除的文件。
执行选项遵循您要执行的命令或脚本,然后是一对{、一个空格和一个分号,最后是一个分号。为了使用执行选项,您必须同时使用打印选项。如果您验证find命令,它会发现该命令仅从当前路径输出相对路径和文件名。
例如,为了用ls - L命令列出匹配的文件,ls - L命令可以放在find命令的执行选项中。
找到-type f -exec ls #。{ };
- rw-R -R - 1根34928 2003-02-25 / / httpd.conf配置。
- rw-R -R - 1根12959 2003-02-25 / /魔法中。
- rw-R -R - 1根180 2003-02-25。 / / conf.d自述
在上面的示例中,find命令与当前目录下的所有普通文件相匹配,并将它们与ls选项中的ls - L命令一起列出。
查找日志目录中的文件,以便在5天之前更改时间并删除它们:
为找到日志型F时间+ 5 -exec rm {};
记住:在以shell的任何方式删除文件之前,您应该首先检查相应的文件。小心!当使用诸如mv或RM这样的命令时,您可以使用安全选项——在执行每个匹配文件之前都会提示您。
在下面的例子中,find命令查找所有文件名在当前目录下,结束with.log,改变超过5天以上的文件,并删除它们,但只给予提示,删除前。
$ find。名称×conf170- 5 -好的rm {};
n
用Y键删除文件,按N键不删除。
任何形式的命令都可以在-执行选项中使用。
在下面的例子中,我们使用grep命令,指挥的第一场比赛,找到所有文件命名为passwd,*,和文件,如口令、passwd.old和passwd.bak,然后执行grep命令查看这些文件中有一个山姆用户。
#找到 /等名称passwd *-exec grep 山姆{ };
山姆:X:501:501:: / usr /山姆: /斌/狂欢
U3000 U3000
二,find命令的一个示例;
1。查找当前用户主目录中的所有文件。
可以使用以下两种方法
找美元打印
$查找-打印
2。让当前目录中的文件具有读写权限,文件组和其他用户的用户具有读取权限。
$ find。型F -烫发644 -执行ls - { };
三.为了找到系统中所有文件长度为0的普通文件,列出了它们的完整路径。
$查找-类型F大小0;
4。请在日志目录中查找公共文件,以便在7天之前更改时间,并在删除之前询问它们。
$ find /无功/日志型F时间+ 7好的rm {};
5。为了找到属于系统中根组的所有文件;
$ find。-组根执行ls;
- rw-R -R - 1根59510月31 01:09。 / FIE1
6、查找命令将删除admin.log文件,有一个数字后缀被访问目录中的7天。
此命令只检查三位数字,因此相应文件的后缀不超过999。
$ find。名称{ } {管理员登录0-9 0-9 } { 0-9 }-一- 7 -好的
RM { };
n
n
n
n
7。查找当前文件系统中的所有目录并进行排序。
$ find。式D类|
8。为了找出系统中所有的RMT磁带设备;
$ find / dev /可打印
三,xargs
xargs建立并执行从标准输入命令行
当匹配的文件是使用find命令的-exec选项处理,查找命令将所有匹配的文件执行死刑。但一些系统限制的命令,可以传递给exec,找到后命令运行几分钟的长度,一个溢出就会发生错误,错误信息通常是参数列太长或参数列溢出这是xargs命令的使用,特别是与查找命令。
find命令将匹配的文件到xargs命令,并且xargs命令只得到每个时间,文件的一部分不是全部,不像-exec选项。这使得它能够处理的文件的第一部分,然后下一步,继续。
在某些系统中,对于每一个匹配的文件,都会使用-执行选项,并启动相应的进程,这将不匹配所有的文档作为参数;在某些情况下,会有太多的进程,系统的退化,因此效率不高;
使用xargs命令,只有一个过程。此外,当我们使用xargs命令,我们需要把所有参数一次,或成批获得参数,参数采集及数量将根据命令在系统内核对应的可调参数的选择确定。
看看xargs命令使用find命令及举例。
以下示例查找系统中的每一个普通的文件并使用xargs命令来测试什么样的文件,它们分别属于。
#找到F型-打印xargs文件|。
。 / / /。KDE启动autorun.desktop:UTF-8 Unicode英语文本
。 / / /。KDE启动目录:ISO-8859文本。
…
找到内存信息转储文件(core dump)在整个系统中,然后将结果保存到 / / core.log TMP文件:
$ find /名称核心-打印xargs回声> / / tmp核心。日志|
上面的执行太慢了,我将它更改为在当前目录中查找
#找到。名称文件打印xargs回声 /温度/核心。日志> |
#猫/温度/ core.log
file6 /。
在当前目录中,查找所有用户已读、写和执行权限的文件,并收回相应的写权限。
# ls -l
drwxrwxrwx 2 Sam ADM 409610个月的30 file6 20:14
2山姆- rwxrwxrwx ADM 010月31 01:01 http3.conf
2山姆- rwxrwxrwx ADM 010月31 01:01 httpd.conf
#。-烫发- 7 -打印找到xargs chmod水包油|
# ls -l
drwxrwxr-x 2 Sam ADM 409610个月的30 file6 20:14
2山姆- rwxrwxr-x ADM 010月31 01:01 http3.conf
2山姆- rwxrwxr-x ADM 010月31 01:01 httpd.conf
使用grep命令来搜索所有普通文件的话,主机名:
#。- F型-打印找到xargs grep主机名|
。/ httpd1 conf:#不同的IP地址或主机名和他们的
。/ httpd1 conf:#虚拟主机:如果你想保持多个域名/主机名
在你的
使用grep命令来搜索当前目录中所有文件的常见词的主机名:
#。找到名字的F -打印xargs grep *型| 主机名
。/ httpd1 conf:#不同的IP地址或主机名和他们的
。/ httpd1 conf:#虚拟主机:如果你想保持多个域名/主机名
在你的
请注意,在上面的示例中,它用于取消shell中find命令中的*的特殊含义。
find命令,以执行和xargs使用相结合,允许用户在配套文件执行几乎所有的命令。
四个参数,查找命令
下面是find常用参数的一些示例。当它们有用时,检查它们。像上面的帖子一样,其中一些是被使用的。您也可以使用手册或检查其他手册的发现在论坛上。
1。使用名称选项
文件名选项是find命令最常用的选项,可以单独使用这个选项,也可以与其他选项一起使用。
您可以使用某种文件名模式来匹配文件,请记住用引号来绘制文件名。
不管目前的路径是什么,如果你想找的文件名匹配*。在你的根目录$家TXT文件,使用~ as'pathname'parameter,摇号代表你的$HOME目录。
查找名称
你想在当前目录及其子目录下找到所有的‘*。txtrsquo;文件可以:
$ find。-名称*-打印
在当前目录和子目录中,您希望找到一个以大写字母开头的文件,可以使用它:
$ find。名称{ A-Z } *打印
要查找在目录中以主机开头的文件,您可以使用:
查找名称主机
要在home目录中找到文件,您可以使用:
找到name*-打印或查找。-打印
要使系统在高负载下运行,请从根目录中查找所有文件。
查找-打印
如果你想找到当前目录中的文件名,从两个小写字母,后面跟着两个数,最后。txt文件,下面的命令可以返回文件名为ax37.txt。
$ find。名称{ } { } { 0字母A-Z,9 } { 0,9 }。txt打印
2。使用烫发选项
在文件权限模式下使用烫发选项以文件权限模式查找文件。最好使用八进制权限表示。
例如,在当前目录中,查找其权限为755的文件。也就是说,文件是用户可以读取、写入和执行的文件,以及用户可以读取和执行的其他文件。
$ find。-烫发755 -打印
另一种表达方式是在八进制数前面加一个水平条——表示匹配,例如007等于777,006等于666。
# ls -l
2山姆- rwxrwxr-x ADM 010月31 01:01 http3.conf
- RW RW RW 1山姆3489010个月31 00:57 httpd1.conf ADM
2山姆- rwxrwxr-x ADM 010月31 01:01 httpd.conf
DRW RW光碟2宝石集团409610月26岗位山姆
- RW RW RW 1根279210月31 20:19温度
#找到烫发006。
#找到-烫发- 006。
/山姆
httpd1.conf /。
临时温度
烫发模式:文件是按模式许可的。
+模式:文件许可部分符合模式
-烫发模式:文件允许完全符合模式
U3000 U3000
三.忽略一个目录
如果你想忽略目录寻找一个文件时,因为你知道,没有文件,你想在目录中找到,你可以使用-prune选项指出你想忽略目录。使用-prune选项时要小心,因为如果你同时使用-深度选项,选项的修剪,将通过查找命令忽略。
如果你想在应用程序目录中找到一个文件,你不想在这个目录中找到它,你可以使用它:
查找应用程序
4。如何在使用find查找文件时避免文件目录
例如,查找所有的文件不在目录的子目录 / usr /山姆目录下
发现/ usr /山姆-路径 / usr /山姆/目录-修剪- O -打印
查找路径列表后面的{路径{ } }是一个表达式
路径/ usr /山姆-修剪- O -打印路径 / usr /山姆一个李子啊
表达-打印根据求值顺序,A、O的短路,壳和路径| |类似如果 / usr /山姆是真的,那么评价-修剪,修剪时返回true,和逻辑表达是否正确;评价-修剪,和逻辑表达式是错误的。如果路径 / usr /山姆-修剪是假的,然后打印进行打印,返回真,或逻辑表达式为真;否则,它是不计算打印或逻辑表达式为真。
这个表达式的特殊组合可以写成伪代码。
如果路径 / usr /山姆
修剪
其他的
-打印
避免多个文件夹
发现/ usr /山姆(路径 / usr /山姆/目录- O -路径 / usr /山姆/ 1)-修剪- O -打印
括号表示表达式的组合。
它表示一个引用,这表明shell对下面的字符没有特别解释,只留下find命令来解释它的意义。
查找某个文件、名称和其他选项
#找到 / usr /山姆(路径 / usr /山姆/目录- O -路径 / usr /山姆/ 1)-修剪- O -叫临时打印
5。使用用户和nouser选项
该文件属于文件的主查找文件,例如在$ home目录中找到属于山姆的文件,可以使用:
$查找-用户山姆-打印
在/ etc的目录,发现属于主人的UUCP文件:
$ find /等用户UUCP打印
In order to find files that have been deleted from the main account, you can use the -nouser option.This allows you to find files that are not valid in the /etc/passwd file.When using the -nouser option, you don't have to give a username; the find command can do the work for you.
例如,您希望在主目录中查找所有这些文件,并可以使用它:
$ find /家nouser打印
6。使用组和nogroup选项
就像user和nouser,查找命令对用户群体的文件相同的选项。为了找到属于应用程序目录中的GEM用户组的文件,它可以使用:
寻找应用程序-组-宝石-打印
找到所有的文件不是有效的用户群,你可以使用nogroup选项。以下搜索命令查找从文件系统的根目录的文件
$ find / - nogroup打印
7。通过更改时间或访问时间等来查找文件。
如果你想通过改变时间找到一个文件,你可以使用时间,时间,或CTime选项。如果系统突然没有可用空间,它很可能是一个文件的长度将快速增长期间,所以我们可以利用时间选择找到这样的文件。
在文档的n天内用减号限制更改时间,并使用+从n文件更改前一天的时间限制。
希望在系统根目录中,在更改的5天内查找文件,这些文件可以使用:
$ find / -时间- 5 -打印
为了找到一个在3天内更改时间的文件,它可以使用:
$ find /无功/ ADM 170- 3 -打印
8。查找新文件或旧文件
如果你想找到一个文件的新文件,但是它比另一个文件旧,你可以使用更新的选项。它的一般形式是:
newest_file_name!oldest_file_name
其中,它是逻辑无符号的。
查找旧文件的变化时间比文件山姆,但比文件温度老:
示例:有两个文件
- rw-R -R - 1山姆010个月31、ADM 01:07
- RW RW RW 1山姆3489010个月31 00:57 httpd1.conf ADM
2山姆- rwxrwxr-x ADM 010月31 01:01 httpd.conf
DRW RW光碟2宝石集团409610月26岗位山姆
- RW RW RW 1根279210月31 20:19温度
#找到新的httpd1.conf -新的温度- LS!
10776690 - 2山姆rwxrwxr-x ADM 010个月31 01:01。 / httpd.conf
10776714 - RW RW RW 1根279210月31 20:19。 /温度
10776730 rw-R -R -山姆010个月31 1 ADM 01:07 /场。
查找新文件中的更改时间比临时文件:
$ find。-新的临时打印
9。使用类型选项
查找可以使用的目录中的所有目录:
$ find类型d打印
在当前目录中,查找除目录以外的所有类型的文件,这些文件可以使用:
找美元。!D型打印
查找目录中的所有符号链接文件,这些文件可以使用
查找类型L打印
10。使用大小选项
您可以根据文件的长度查找文件,其中可以通过块(块)或字节来测量文件的长度。
当文件按文件长度进行搜索时,通常用字节表示的文件长度来检查文件系统的大小,因为用块进行转换更容易。
在当前目录中,查找长度大于1 m字节的文件。
$ find。尺寸+ 1000000c打印
在目录中,查找文件长度为100字节的文件:
$ find /家/阿帕奇尺寸100c打印
查找当前目录中的10多个文件(一个块等于512字节):
$ find。-尺寸+ 10 -打印
11。使用深度选项
当使用查找命令,你可以把所有的文件,然后查找子目录,深度选项允许使用find命令这样做。原因之一是,当我们使用find命令备份文件系统的备份磁带,我们希望所有第一个文件,然后备份文件目录。
在下面的例子中,find命令从文件系统的根目录,寻找一个文件名为CON.FILE。
它首先匹配所有文件,然后在子目录中查找。
查找文件-深度打印
12。使用挂载选项
要查找当前文件系统中的文件(而不是其他文件系统),可以使用find命令的挂载选项。
从当前目录开始查找文件在XC端的文件系统中的文件系统:
$ find。名称*。XC安装打印
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。