find命令详解 linux学习笔记十二之find命令详解
2013-06-17 20:49
821 查看
语法: find 【path...】 expression
1、按文件名称查找
例如查找/home 路径下文件名称中带有abc的文件
[root@bogon home]# find /home -name *abc*
/home/1abc2
[root@bogon home]#
2、按时间查找
例如查找5天前创建或修改过的文件
[root@bogon ~]# find /home -mtime +5
/home/ljk/.bashrc
/home/ljk/.bash_profile
/home/ljk/.bash_logout
/home/ljk/.mozilla
/home/ljk/.mozilla/extensions
/home/ljk/.mozilla/plugins
查找5天内的产生或修改过的文件
[root@bogon ~]# find /home -mtime -5
/home
/home/ljk
/home/ljk/.bash_history
/home/ljk/hellworld.sh
/home/ljk/shell
/home/ljk/test
/home/1abc2
如果是查找5天前并且名字中带abc的文件再删除可以执行为:find /home -mtime +5 -name *abc* -exec rm {} \;(这里用到了exec命令,可能是表示为将find的结果输入给exec然后执行后面的命令,个人感觉跟管道“|”类似)
3、按文件类型查找
例如查找类型为 d(文件夹)的文件夹
[root@bogon ~]# find /home -type d
/home
/home/ljk
/home/ljk/shell
/home/ljk/.mozilla
/home/ljk/.mozilla/extensions
/home/ljk/.mozilla/plugins
/home/ljk/test
查找类型为l(引用类型的文件)
[root@bogon ljk]# find ./ -type l -exec ls -l {} \;
lrwxrwxrwx 1 root root 12 Jun 17 20:24 ./lnhello -> hellworld.sh
4、按大小查找
find ./ -size +1000c 查找当前目录大小大于1000字节的文件
root@bogon ljk]# find ./ -size +10c
./
./.bash_history
./shell
./.bashrc
./lnhello
find ./ -size -1000c 查找当前目录小于1000字节的文件
[root@bogon ljk]# find ./ -size -10c
./hellworld.sh
上面的命令中将+(-)去掉则表示大小等于xxx大小的文件
5、按组或用户查找
例如查找home下属于ljk用户的文件
[root@bogon ljk]# find /home -user ljk
/home/ljk
/home/ljk/.bash_history
/home/ljk/hellworld.sh
/home/ljk/shell
/home/ljk/.bashrc
/home/ljk/.bash_profile
/home/ljk/.bash_logout
/home/ljk/.mozilla
/home/ljk/.mozilla/extensions
/home/ljk/.mozilla/plugins
/home/ljk/test
查找home路径下组属于ljk组的文件
[root@bogon ljk]# find /home -group ljk
/home/ljk
/home/ljk/.bash_history
/home/ljk/hellworld.sh
/home/ljk/shell
/home/ljk/.bashrc
/home/ljk/.bash_profile
/home/ljk/.bash_logout
/home/ljk/.mozilla
/home/ljk/.mozilla/extensions
/home/ljk/.mozilla/plugins
/home/ljk/test
查找没有用户的文件为:find /home -nouser
查找没有组的文件为: find /home -nogroup
6、按路径查找
查找当前目录下除了shell目录中所有的文件
[root@bogon ljk]# find ./ -path "./shell" -prune -o -type f
./.bash_history
./hellworld.sh
./shell
./.bashrc
./.bash_profile
./.bash_logout
find的功能很强大,如上面所有的命令都可以组合来查询,find还可以按其它的条件来查询,
tests (N can be +N or -N or N): -amin N -anewer FILE -atime N -cmin N
-cnewer FILE -ctime N -empty -false -fstype TYPE -gid N -group NAME
-ilname PATTERN -iname PATTERN -inum N -iwholename PATTERN -iregex PATTERN
-links N -lname PATTERN -mmin N -mtime N -name PATTERN -newer FILE
-nouser -nogroup -path PATTERN -perm [+-]MODE -regex PATTERN
-wholename PATTERN -size N[bcwkMG] -true -type [bcdpflsD] -uid N
-used N -user NAME -xtype [bcdpfls]
-context CONTEXT
在linux环境下敲find --help ,或man find 来查看find的用法,用法和上面所写的类似,这里不一一赘述。
1、按文件名称查找
例如查找/home 路径下文件名称中带有abc的文件
[root@bogon home]# find /home -name *abc*
/home/1abc2
[root@bogon home]#
2、按时间查找
例如查找5天前创建或修改过的文件
[root@bogon ~]# find /home -mtime +5
/home/ljk/.bashrc
/home/ljk/.bash_profile
/home/ljk/.bash_logout
/home/ljk/.mozilla
/home/ljk/.mozilla/extensions
/home/ljk/.mozilla/plugins
查找5天内的产生或修改过的文件
[root@bogon ~]# find /home -mtime -5
/home
/home/ljk
/home/ljk/.bash_history
/home/ljk/hellworld.sh
/home/ljk/shell
/home/ljk/test
/home/1abc2
如果是查找5天前并且名字中带abc的文件再删除可以执行为:find /home -mtime +5 -name *abc* -exec rm {} \;(这里用到了exec命令,可能是表示为将find的结果输入给exec然后执行后面的命令,个人感觉跟管道“|”类似)
3、按文件类型查找
例如查找类型为 d(文件夹)的文件夹
[root@bogon ~]# find /home -type d
/home
/home/ljk
/home/ljk/shell
/home/ljk/.mozilla
/home/ljk/.mozilla/extensions
/home/ljk/.mozilla/plugins
/home/ljk/test
查找类型为l(引用类型的文件)
[root@bogon ljk]# find ./ -type l -exec ls -l {} \;
lrwxrwxrwx 1 root root 12 Jun 17 20:24 ./lnhello -> hellworld.sh
4、按大小查找
find ./ -size +1000c 查找当前目录大小大于1000字节的文件
root@bogon ljk]# find ./ -size +10c
./
./.bash_history
./shell
./.bashrc
./lnhello
find ./ -size -1000c 查找当前目录小于1000字节的文件
[root@bogon ljk]# find ./ -size -10c
./hellworld.sh
上面的命令中将+(-)去掉则表示大小等于xxx大小的文件
5、按组或用户查找
例如查找home下属于ljk用户的文件
[root@bogon ljk]# find /home -user ljk
/home/ljk
/home/ljk/.bash_history
/home/ljk/hellworld.sh
/home/ljk/shell
/home/ljk/.bashrc
/home/ljk/.bash_profile
/home/ljk/.bash_logout
/home/ljk/.mozilla
/home/ljk/.mozilla/extensions
/home/ljk/.mozilla/plugins
/home/ljk/test
查找home路径下组属于ljk组的文件
[root@bogon ljk]# find /home -group ljk
/home/ljk
/home/ljk/.bash_history
/home/ljk/hellworld.sh
/home/ljk/shell
/home/ljk/.bashrc
/home/ljk/.bash_profile
/home/ljk/.bash_logout
/home/ljk/.mozilla
/home/ljk/.mozilla/extensions
/home/ljk/.mozilla/plugins
/home/ljk/test
查找没有用户的文件为:find /home -nouser
查找没有组的文件为: find /home -nogroup
6、按路径查找
查找当前目录下除了shell目录中所有的文件
[root@bogon ljk]# find ./ -path "./shell" -prune -o -type f
./.bash_history
./hellworld.sh
./shell
./.bashrc
./.bash_profile
./.bash_logout
find的功能很强大,如上面所有的命令都可以组合来查询,find还可以按其它的条件来查询,
tests (N can be +N or -N or N): -amin N -anewer FILE -atime N -cmin N
-cnewer FILE -ctime N -empty -false -fstype TYPE -gid N -group NAME
-ilname PATTERN -iname PATTERN -inum N -iwholename PATTERN -iregex PATTERN
-links N -lname PATTERN -mmin N -mtime N -name PATTERN -newer FILE
-nouser -nogroup -path PATTERN -perm [+-]MODE -regex PATTERN
-wholename PATTERN -size N[bcwkMG] -true -type [bcdpflsD] -uid N
-used N -user NAME -xtype [bcdpfls]
-context CONTEXT
在linux环境下敲find --help ,或man find 来查看find的用法,用法和上面所写的类似,这里不一一赘述。
相关文章推荐
- 每天一个linux命令(22):文件查找命令 find 命令的参数详解---学习笔记
- linux wget 命令用法详解(全解+实例说明)-【linux学习笔记】
- Linux学习笔记(ctrl命令,find命令,文件后缀名)
- linux命令学习笔记(21):find命令之xargs
- JAVA学习笔记(Linux)———Linux常用命令详解,带图!~
- Linux 防火墙iptables 学习笔记(三)iptables命令详解和举例
- Linux学习笔记——Linux压缩解压缩命令详解
- Linux学习笔记_基本命令复习(find,xargs)
- 菜鸟的Linux学习笔记之命令find
- Linux学习笔记——Linux高级命令详解及示例
- linux 学习笔记之fdisk命令详解
- JAVA学习笔记01——Linux常用命令详解
- Linux学习笔记--Linux文件管理类命令详解
- linux学习(五) find命令详解
- find命令的exec参数使用---Linux学习笔记
- Linux学习之:find命令详解
- Linux 防火墙iptables 学习笔记(三)iptables命令详解和举例
- Linux学习笔记3.1-Linux文件管理类命令详解
- Linux学习笔记(九、find命令)
- 马哥linux学习笔记:locate,find命令总结