Linux之细说find查找

在Linux中,一切皆文件。所以查找文件是使用Linux系统的家常便饭。下面就细说一下find 查找命令。

格式:  find [目录路径] [条件1]...[条件2]......

[root@localhost ~]# find /root/   # 查找/root目录下所有的文件

常用条件:

  -type:类型(f 文本文件、d 目录、l 快捷方式)

  -name:文档名称

  -size:文件大小

  -user:用户

1、查找快捷方式

[root@localhost ~]# find /boot/ -type l  #查找/boot目录下的快捷方式

2、查找目录

[root@localhost ~]# find /boot/ -type d  #查找/boot 目录下的目录

3、查找文件

[root@localhost ~]# find /boot/ -type f  #查找/boot 目录下的所有文件

4、查找以名字开头、结尾的文件

[root@localhost ~]# find /root/ -name '*.zone'  #查找/root 目录下所有以.zone名结尾的文件

[root@localhost ~]# find /etc/ -name '*tab'  #查找/etc 目录下以tab名结尾的所有文件

[root@localhost ~]# find /etc/ -name 'zh*'  #查找/etc 目录下以zh名开头的所有文件


5、查找用户的所有文件

[root@localhost ~]# find /home/ -user vincen  #查找用户vincen的/home 目录下的所有文件

6、查找指定大小的文件

[root@localhost ~]# find /boot/ -size +10M  #查找/boot 路径下大于10M的文件

[root@localhost ~]# find /boot/ -size +1G   #查找/boot 路径下大于1G的文件

[root@localhost ~]# find /boot/ -size +1k   #查找/boot 路径下大于1k的文件

将find查找的结果进一步处理

格式:find  [路径目录]  [条件]  -exce  处理命令  {}  \;

[root@localhost ~]# find /boot/ -size +1k -exec cp {} /root \;
#将在/boot 路径下查找到大于1k的文件复制到/root 路径下

[root@localhost ~]# find /home -user vincen -type f -exec mv {} /root \;
#把查找到用户vincen在/home 目录下的文件移动到/root路径下 

注意:-exec 只能和find命令配合使用,其中处理命令可以是mv(移动)和cp(复制),{} 代表查找的结果,最后要以\;作为结束

猜你喜欢

转载自blog.csdn.net/vincen123/article/details/81515101