find 命令:
find命令是linux系统查找文件的命令,最大的作用是帮助用户在使用linux 系统时候能快速的找出自己所需要的文件。
find命令文件查询常用的参数及意义有以下几个:
1.find -name:直接根据文件名字来查找
[root@centos7-01 ~]# find / -name "huangxin*"
/var/spool/mail/huangxin
/tmp/huangxin
/home/huangxin
/huangxin
[root@centos7-01 ~]#
2.find -perm:根据文件权限来查找
[root@centos7-01 ~]# find /tmp/ -perm 633
[root@centos7-01 ~]# find /tmp/ -perm 755
/tmp/lntest
/tmp/lntest/test
[root@centos7-01 ~]#
3.find -mtine -n(+n):根据文件的更改时间来查找,
其中-n代表n天之内的文件,+n代表n天之前的文件,
比如:find / -mtime -1:查找1天内修改过的文件
4.find -type:查找某一类型的文件,后带一些参数:
-d:目录
-p:管道文件
-f:普通文件
-i:符号链接文件
5.-iname "PATERN" :不区分名称字母大小写
find /tmp -iname "a*"
6.根据文件从属关系查找(拓展):
-user USERNAME:查找属主指定用户的所有文件;
[root@centos7-01 ~]# find /tmp/ -user huangxin
/tmp/1231231
[root@centos7-01 ~]# find /tmp/ -user huangxin | xargs ls -l
-rw-rw-r--. 1 huangxin huangxin 0 6月 7 23:44 /tmp/1231231
[root@centos7-01 ~]#
-group GRPNAME:查找属组指定组的所有文件;
[root@centos7-01 ~]# find /tmp/ -group huangxin| xargs ls -l
-rw-rw-r--. 1 huangxin huangxin 0 6月 7 23:44 /tmp/1231231
[root@centos7-01 ~]#
-uid UID:查找属主指定的UID的所有文件;
-gid GID:查找属组指定的GID的所有文件;
-nouser:查找没有属主的文件;
-nogroup:查找没有属组的文件;
7.处理动作:
-print:输出至标准输出;默认的动作;
-ls:类似于对查找到的文件执行“ls -l”命令,输出文件的详细信息;
delete:删除查找到的文件;
-fls /PATH/TO/SOMEFILE:把查找到的所有文件的长格式信息保存至指定文件中;
-ok COMMAND {} \; :对查找到的每个文件执行由COMMAND表示的命令;每次操作都由用户进行确认;
-exec COMMAND {} \; :对查找到的每个文件执行由COMMAND表示的命令;
注意:find传递查找到的文件路径至后面的命令时,是先查找出所有符合条件的文件路径,并一次性传递给后面的命令;
但是有些命令不能接受过长的参数,此时命令执行会失败;另一种方式可规避此问题:
find | xargs COMMAND