`
kanwoerzi
  • 浏览: 1643637 次
文章分类
社区版块
存档分类
最新评论

Linux笔记——命令:find

 
阅读更多

列表:

Linux笔记——vim常用操作及扩展补充[手册]

Linux笔记——linux常用命令集合

Linux笔记——命令:awk

Linux笔记——命令:sed

Linux笔记——命令:grep

Linux笔记——命令:find

Linux笔记——命令:Sort,uniq,join,cut,paste,split

Linux笔记——shell基础:变量&本地变量&位置变量&特定变量参数

Linux笔记——条件测试test

Linux笔记——控制流

Linux笔记——shell补充:参数传递&函数等

Linux笔记——正则表达式入门及应用

Linux笔记——linux进程

Linux笔记——SVN命令总结

rpm&yum包管理命令总结

鉴于博客,表格&排版&颜色标记等等无法显示,大家可以下载这个笔记的资源

12个文档,不需要积分,以目录+表格+颜色标记形式

下载资源地址http://download.csdn.net/detail/wklken/3815477

The end! Thx ! wklken的笔记

-----------------------------------------------



开始学,记录下,方便查......><


命令:find

功能

查找特定字符串的文件或目录

格式

find [pathName] [options ] [tests] [actions]

pathname:路径,当前为. 用户根目录为~ 系统根目录/

options:命令选项 见列表

test 一些针对属性的测试

actions [-print -exec -ok]

-print:将匹配文件输出到标准输出

-exec command:对匹配文件执行参数所给的shell命令,这个动作必须使用\;字符对结尾

-ok command:同上,但存在询问选择

-ls:对当前文件使用ls-dils

主要选项:

-name pattern

按文件名查找,不包含路径名,提供匹配模式pattern,pattern必须总是用引号括起

-perm 权限数值

按文件权限查找

-user username

按文件属主查找 find –user ken

-nouser

搜索不属于本机用户的文件

-group 组名

按文件所属的组查找

-nogroup

搜索不属于本机组的文件

-type

按文件类型查找 b块设备,p管道,d目录,l符号链接

C字符设备,f普通文件

--size n[c]

查文件长度为n的文件,c表以字符计,默认以块计算

-depth

查找时,首先在当前目录,之后再其子目录

-maxdepth N

最多搜索N层目录

-prune

使find不在当前指定的目录中查找,若使用-depth,本选项忽略

-atime n

文件在n天之前被最后访问过

-amin -n

-mtime –n +n

按文件更改时间查找 –n n天内, +n n天前

-mmin -n

查找在系统中最后n分钟里修改过的文件

-newer file1 ! file2

查找更改时间比file1新比file2旧的文件

-mount 或 -xdev

查找文件时不跨越文件系统,不搜索其他文件系统中的目录

-fstype

查找位于某一类型文件系统中的文件,文件系统类型可在/etc/fstab中找到

-follow

跟随符号链接

-cpio

对匹配文件使用cpio命令备份到磁带设备文件中

-empty

查找在系统中为空的文件或者文件夹

常用示例:

1. 按文件名

find . –name “myfile” –print

find ~ -name “[A-Z]*” –print 【使用了正则】

find . –name “*” -print

2. 按权限数值查找

find . –perm 755 -print

3. 按文件属主或属组

find . –user ken –print

find . –group mygroup -print

4. 按时间范围查找

find / -mtime -5 –print 【5天内的文件,内部计算其实精确到秒,从现在往前五天】

5. 按文件类型查找

find ~ -type f –print 【普通文件】

6. 查找比某个文件新或旧的文件

技巧:可通过touch –t 05042121 locateFile 创建时间坐标文件

find . –newer file1 ! –newer file2 –print [比file1新,比file2旧]

【使用-exec执行 查看找到的文件列表详情】

find . –newer file1 ! –newer file2 –exec ls –l {} \; 【注意分号和反斜杠间无空格】

7. 根据文件大小

默认单位以block,加c表字节

find . –size +1000c –print 【大于1000字节,若改为 -300c,表小于300字节】

8. 在当前文件系统查找,不进入其他文件系统

find . –name “*.xc” –mount -print

9. 使用-exec 或 –f 来执行shell命令

find . –type f –exec ls –l {} \;

find . –type f –mtime +5 –exec rm {} \;

find . –type f –mtime +5 –ok rm {} \;

二者区别是exec直接执行,ok还进行询问 【注意反斜扛和大括号之间的空格】

find . –newer while2 –print

find . –newer while2 –type f –print 在当前目录搜索比while2更新的,若是测试通过,使用-type f测试是否为普通文件

find . \( -name “_*” –or –newer while2 \) –type f –print

find . –newer while2 –type f –exec ls –l {} \;


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics