linux下搜索find命令详解

find是linux下很强大的搜索工具,但速度慢且很费硬盘。但不管怎么说,此命令的使用频率依然很高。

使用选项:
find [路径] <表达式> [操作]

1、name选项,按名称查找
查找当前目录下的manage.py 文件:find . -name ‘manage.py’

2、atime/ctime/mtime选项,根据时间(24小时为单位)查找 
注:a表示access,c表示create,m表示modify
查找24小时之内创建的文件: find . -ctime -1
查找24小时之前创建的文件: find . -ctime 1
注:atime和mtime用法一致

3、amin/cmin/mmin选项,根据时间查找
查找10分钟之内创建的文件: find . -cmin -10
查找10分钟之前创建的文件: find . -cmin 10
注:amin和mmin用法一致

4、anewer/cnewer/mnewer,查找比某一文件新的文件
查找在hello.py之后访问过的文件:find . -anewer hello.py

5、user
查找属于某一用户的文件:find . -user the5fire

6、type
查找所有文件:find . -type f
查找所有目录包含demo的目录:find . -type d -name ‘*demo*’

7、exec,据说是很强大的参数
查找’setup.py’文件,然后打开: find . -name ‘setup.py’ -exec vim {} \;
另外一个最常用的,强制删除项目下面的所有.svn文件目录,find . -name ‘.svn’ -exec rm -rf {} \;

8、empty
显示所有的空白文件,并显示详细:find . -empty -ls #加ls完全画蛇添足,只是为了说明这个参数。

9、size
显示大小为10k的文件:find . -size 10k
显示所有大于10k的文件:find . -size +10k
显示所有小于10k的文件:find .-size -10k

10、or、and、not, 或、与、非查询
查找大于10k或者名称含有demo的文件:find . -size +10k -o -name ‘*demo*’
查找大于10k且小于100k的文件:find . -size +10k -a -size -100k
查找大于10k并且名称不含有demo的文件:find . -size +10k ! -name ‘*demo*’

11、perm,根据文件权限查找
注:如查找权限为600的文件:find . -perm 600,如果权限前面加“-”号,表示满足一位匹配即可,
如:find . -perm 007会匹配权限为007、077、777的文件

12、regex,用正则表达式查找
如: find . -regex ‘.*/[0-9]\w.*’(匹配以数字开头的文件)

13、-maxdepth,限制目录深度查找
查找一级目录下的所有py文件:find . -name ‘*.py’ -maxdepth 1

输入find -help之后还有很多,就不一一列了,这些应该能满足日常需求了。欢迎补充^_^


原文链接:http://blogread.cn/it/article/6194?f=wb

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你好!关于Linux中的grep和find命令,我很乐意为您进行详细解释。 1. grep命令: grep命令用于在文本文件中搜索指定的模式,并将匹配到的行打印出来。其基本的语法如下: ``` grep [选项] 模式 [文件...] ``` 选项: - `-i`:忽略大小写进行匹配。 - `-v`:反向选择,即打印不匹配的行。 - `-r`:递归地搜索目录下的所有文件。 - `-l`:仅打印匹配到的文件名。 - `-n`:显示匹配到的行及其行号。 示例: ``` grep "pattern" file.txt # 在file.txt文件中搜索包含"pattern"的行 grep -i "pattern" file.txt # 忽略大小写,在file.txt文件中搜索包含"pattern"的行 grep -r "pattern" /path/to/dir # 在目录/path/to/dir及其子目录中递归搜索包含"pattern"的行 grep -l "pattern" file1.txt file2.txt # 仅打印匹配到"pattern"的文件名 grep -n "pattern" file.txt # 显示匹配到的行及其行号 ``` 2. find命令: find命令用于按照指定的条件搜索文件和目录。其基本的语法如下: ``` find [路径] [表达式] ``` 路径:指定搜索的起始路径。 表达式:用于指定搜索的条件。 示例: ``` find /path/to/search -name "*.txt" # 在/path/to/search路径下搜索所有扩展名为.txt的文件 find /path/to/search -type d # 在/path/to/search路径下搜索所有目录 find /path/to/search -type f -size +10M # 在/path/to/search路径下搜索大小超过10M的文件 find /path/to/search -user username # 在/path/to/search路径下搜索所有属于指定用户的文件 ``` 希望以上解释对您有帮助。如果您还有其他问题,请随时提问!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值