linux常用命令--find
来源:互联网 发布:贴图软件 编辑:程序博客网 时间:2024/06/03 22:50
find命令释义:
在某个目录及其子目录下查找文件,可以根据文件名、更改时间、文件权限、文件类型、所属用户组等条件查找文件。(注意:不带参数时为只在当前目录下查找)
find命令使用格式:
首先来看看man find里列出的格式:find [-H] [-L] [-P] [-D debugopts] [-0level] [path...] [expression]
但其实[-H] [-L] [-P] [-D debugopts] [-0level] 这5个选项在平时查找文件时是基本用不上的;
所以find的普遍使用格式是:
find [path] [expression]
path就是指文件的路径,如:.表示当前目录,/表示系统根目录,或者是其它具体的目录
expression的形式通常是“-options [-print -exec -ok...]”:
- -options是指find命令常用选项,如:-name、-perm、-user、-group、-prune等,后面会有示例详解
- -print是指find将匹配的文件输出到标准输出
- -exec指find对匹配的文件执行该参数给出的shell命令。如:find . -name "*.o" -exec rm {} \; 意思是查找出本目录及子目录下的所以.o文件并执行rm命令,主要rm与{}之间有空格,{}与\;之间有空格。还有另外的格式,详情请参考文末的链接
- -ok作用与-exec一样,格式基本也一样,只是每次执行shell命令是都会询问是否执行,所以说-ok比-exec更安全。示例:find . -name "*.o" -ok ls {} \; 与上面的意思 是一样
下面着重-option参数,如果只是为了查找出某个文件所在位置,那通常可以用这种格式:
find [path] [-option]这就是查找文件所用的最简单格式
path在上面已经介绍,即为指定的目录,如:.或./表示的是当前目录及子目录,/表示根目录,/dir指某个任意目录等
-option可以是:
- -name:按照文件名查找文件。
find /dir -name filename 在/dir目录及其子目录查找filename的文件;
find /dir -name “*.c” 在/dir目录及其子目录查找扩展名为.c的文件;
- -mtime n -n +n:modify time文件内容被更改时间来查找文件,n表示n到n+1天之间,-n表示n天以内,+n表示n+1天以前
-ctime n -n +n:change time文件状态改变时间,文件i节点改变的时间,如用chmod可改变ctime,n意思同上
[-mmin] [-amin] [-cmin] n -n +n:把上面的天变成分钟就对应了;
find ./ -mtime 3 在当前目录及子目录下查找3~4天之间内容被更改的文件;
find ./ -mtime -3 在当前目录及子目录下查找3天以内内容被更改的文件;
find ./ -mtime +3 在当前目录及子目录下查找4天以前内容被更改的文件 ;
- -size n -n +n[c][k][M][G]:以文件的大小查找文件。n表示文件大小,n==n,-n<n,+n>n;c、k、M、G表示n的参数单位;
find ./ -size n在当前目录及子目录查找等于n块(512字节一块)的文件
find ./ -size nc在当前目录及子目录查找等于n字节的文件
find ./ -size-nk在当前目录及子目录查找小于nkB的文件
find ./ -size+nM在当前目录及子目录查找大于nMB的文件
- -type [b][d][c][p][l][f]: 查找某一类型的文件
b:块设备文件;d:目录;c:字符设备文件;p:管道文件;l:符号链接文件;f:普通文件
find / -type d在根目录下查找所以的目录
find / ! -type d在根目录下查找除目录外的所有类型文件
find /dir -type l在dir目录及其子目录下查找所有的符号链接文件
- -perm:按文件权限查找文件
find /dir -perm 755 -print在dir目录下查找权限为755的文件,文件属主可以读写执行,其它用户可以读执行;-print在前面有介绍,不用这个参数效果也一样
- -depth:先在当前目录查找文件,再找其子目录查找
find / -name "con.file" -depth它将在根目录匹配所有文件,再进入目录查找
- -prune:指定不查找文件的目录,若与-depth同时使用则该参数被忽略
find /dir -path “/dir/dir1" -prune -o在/dir目录下及其子目录除了/dir/dir1目录下查找文件
find /dir -path "/dir/dir1" -prune -o -name "*.c"在dir目录下查找除了/dir/dir1目录下的所有c文件
-path是指定查找的路径,为了与-prune指定的路径区别开,没有-path是查不到文件的
-o是prune的一个参数,测试时没有-o屏幕就不会打印出文件的路径
- -user:按照文件属主查找文件
find ~ -user username -print在$HOME目录中查找属主为username的文件
- -group:按文件所属的组查找文件
find /dir -group group1在dir目录下查找属于group1用户组的文件
- -nogroup:查找无有效所属组的文件,即所属的组不在/etc/groups中
find /dir -nogroup -print在dir目录下查找无有效所属组的文件
- -nouser:查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在
find /dir -nouser在dir目录下查找无有效属主的文件
- -newer file1 ! file2:查找更改时间比file1新但比file2旧的文件
find /dir -newer file1 ! file2
- -mount:在查找文件时不跨越文件系统mount点
find . name "*.xc" -mount从当前目录查找位于本文件系统中以.xc结尾的文件,不进入其他文件系统
- -follow:如果find命令遇到符号链接文件,就跟踪至链接所指向的文件
后记:本文大部分参考第一条链接的文章,详情可到第一条链接处查看
参考:http://www.cnblogs.com/skynet/archive/2010/12/25/1916873.html
参考:http://blog.csdn.net/abcdef0966/article/details/7607545
参考:http://www.92csz.com/11/921.html
- Linux常用命令:find
- linux常用命令(3)-find
- linux 常用命令find
- Linux find 常用命令
- Linux常用命令-find grep
- 【Linux常用命令】find命令
- linux常用命令find
- linux常用命令--find
- linux常用命令:find
- Linux Find 常用命令小结
- linux常用命令-find
- linux常用命令find笔记
- Linux常用命令之find
- linux常用命令 find
- Linux下find命令常用命令
- Linux常用命令(十八) - find概述
- Linux常用命令(十八) - find概述
- Linux常用命令:find 命令概览
- Android Studio如何配置adb以及常用命令
- java利用SHA1withRSA进行签名与验签
- 差点被坑死,Fragment onAttach方法没有被调用
- 16 - 11 - 23 得分 - UVA 1585 --《算法竞赛入门经典》
- ”选择”的一点思考
- linux常用命令--find
- js 的时间的横竖屏事件
- iOS 开发 多线程详解之GCD基本概念
- 反射的引出和概念
- linux命令之 cut awk sed grep 篇
- Javascript DAY2
- activiti的流程实例的活动id
- LeetCode 417. Pacific Atlantic Water Flow 题解
- 64位win10下安装xgboost python包的教程