美文网首页
Find命令用法

Find命令用法

作者: 荒原_狼 | 来源:发表于2018-08-21 16:41 被阅读0次

Linux find命令用来在指定目录下查找文件。

使用格式

 find  [指定查找目录]  [查找规则]  [查找完后执行的action]

举例

  • 指定查找目录
[root@VM-Sonar-104 ssh]# find /etc/ssh  /usr/local/sonarqube/bin/linux-x86-64/
/etc/ssh
/etc/ssh/ssh_config
/etc/ssh/ssh_host_key
/etc/ssh/sshd_config
/etc/ssh/ssh_host_dsa_key
/etc/ssh/ssh_host_dsa_key.pub
/etc/ssh/ssh_host_key.pub
/etc/ssh/ssh_host_rsa_key.pub
/etc/ssh/moduli
/etc/ssh/ssh_host_rsa_key
/usr/local/sonarqube/bin/linux-x86-64/
/usr/local/sonarqube/bin/linux-x86-64/sonar.sh
/usr/local/sonarqube/bin/linux-x86-64/SonarQube.pid
/usr/local/sonarqube/bin/linux-x86-64/wrapper
/usr/local/sonarqube/bin/linux-x86-64/lib
/usr/local/sonarqube/bin/linux-x86-64/lib/libwrapper.so

这里要注意的是目录之间要用空格分开

  • 指定查找规则

a.根据文件名查找,精确查找

[root@VM-Sonar-104 ssh]# find /etc/ssh -name ssh_config
/etc/ssh/ssh_config

b.根据文件名查找,但不区分大小写

[root@VM-Sonar-104 ssh]# find /etc/ssh -iname ssh_config
/etc/ssh/ssh_config

c.根据文件所属用户和所属组来查找文件

[root@VM-Sonar-104 ssh]# find /etc/ssh -user root
/etc/ssh
/etc/ssh/ssh_config
/etc/ssh/ssh_host_key
/etc/ssh/sshd_config
/etc/ssh/ssh_host_dsa_key
/etc/ssh/ssh_host_dsa_key.pub
/etc/ssh/ssh_host_key.pub
/etc/ssh/ssh_host_rsa_key.pub
/etc/ssh/moduli
/etc/ssh/ssh_host_rsa_key

d.根据文件时间戳的相关属性来查找文件
我们可以使用stat命令来查看一个文件的时间信息如下:

[root@VM-Sonar-104 ssh]# stat /etc/ssh
  File: `/etc/ssh'
  Size: 4096        Blocks: 8          IO Block: 4096   directory
Device: 803h/2051d  Inode: 12059408    Links: 2
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-08-21 15:00:04.353831471 +0800
Modify: 2017-12-01 14:19:49.535425401 +0800
Change: 2017-12-01 14:19:49.535425401 +0800

查找五天内没有访问过的文件

[root@VM-Sonar-104 ssh]# find ./ -atime +5

查找五天内访问过的文件

[root@VM-Sonar-104 ssh]# find ./ -atime -5

时间戳:


e.根据文件类型来查找文件,加参数-type

[root@VM-Sonar-104 ssh]# find /usr/test -type d
[root@VM-Sonar-104 ssh]# find /usr/test  -d
//f     普通文件
//d     目录文件
//l     链接文件
//b     块设备文件
//c     字符设备文件
//p     管道文件
//s     socket文件

f.根据大小来查找文件-size

[root@VM-Sonar-104 ssh]#find  /tmp  -size   2M //查找在/tmp目录下等于2M的文件

g.根据文件权限查找文件-perm

[root@VM-Sonar-104 ssh]#find  /tmp  -perm  755  //查找在/tmp目录下权限是755的文件
  • 查找完执行的action
[root@VM-Sonar-104 ssh]# find ./ -atime -5 -print //-print默认情况下的动作
[root@VM-Sonar-104 ssh]# find ./ -atime -5 -ls //-ls查找到后用ls显示出来

删除5天之前的文件和目录,执行命令时先询问

[root@VM-Sonar-104 ssh]# find /Users/test -mtime +5 -name "*" -ok rm -rf {} \;//-ok [commend]查找后执行命令的时候询问用户是否要执行

删除5天之前的文件和目录,执行命令时不用询问

[root@VM-Sonar-104 ssh]# find /Users/test -mtime +5 -name "*" -exec rm -rf {} \; //-exec查找后执行命令的时候不询问用户直接执行

注:用{}来替代查找到的文件,;表示使用-exec的结束符,是固定格式。

实践
我们在用jenkins做持续集成时,要删除checkout 的.svn文件时,就可以用find命令来处理。具体命令如下:

find ${WORKSPACE} -type d -name ".svn"|xargs rm -rf

注:xargs可以把从 stdin 接受到的输入,用空白符分隔开,然后依次作为参数去调用xargs后面的命令。

相关文章

  • find--linux

    Linux中find常见用法示例(转) find命令的参数; pathname: find命令所查找的目录路径。例...

  • Linux查询文件与目录之find命令

    本文主要介绍find命令的两种常见用法。 1、我们可以通过find --help查看find命令的参数信息: 2、...

  • find -mtime用法/find 命令用法

    find file_name -mtime +1 表示文件修改时间为大于1天的文件,即距离当前时间2天(48小时)...

  • linux命令之find

    find命令 1、命令概述: Linux find用来查找文件,可以带参数查找,也可不加参数查找。 2、命令用法,...

  • Find命令用法

    Linux find命令用来在指定目录下查找文件。 使用格式 举例 指定查找目录 这里要注意的是目录之间要用空格分...

  • find命令用法

    介绍 find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不...

  • linux文本查找工具

    find用法 文件查找命令:which,locate,find 1.which命令 查找二进制数或二进制命令,由P...

  • linux上的find命令

    关于 find 命令的一些用法 find [PATH] [OPTION] [ACTION] 查找文件 与文件权限及...

  • 2018-08-05 Ubuntu学习笔记

    2.3.3快速查找文件 1.find命令 解释:find 目录名 -name全的txt文档 用法:find /us...

  • 14.搜索、帮助与查询

    在Linux中,有几种搜索命令可以很快速的搜索出你想知道的内容。 搜索命令: find 用法:find /etc...

网友评论

      本文标题:Find命令用法

      本文链接:https://www.haomeiwen.com/subject/tphjiftx.html