乐趣区

关于linux:Linux上如何查找文件

用处
find 命令用于在指定目录下查找文件。

全称

参数

-name:后跟须要匹配的文件名模式,须要应用引号引起来

上面是一些简略的示例查找:(~ 示意 $HOME 目录)

1. 查找以后 $HOME 下 ’.log’ 结尾的文件

find ~ –name “*.log” –print

2. 当前目录与子目录下查找所有 ’.log’ 结尾的文件

find . –name “*.log” –print

3. 当前目录与子目录下查找文件名以一个大写字母结尾的文件

find . –name “[A-Z]” –print

4. 在 /etc 目录下查找文件名以 host 结尾的文件

find /etc –name “host*” –print

5. 在当前目录查找文件名以一个小写字母结尾,最初是 4 到 9 加上.txt 完结的文件

find . –name “[a-z]*[4-9].txt” –print

find file by name

-iname:依据文件名查找文件,不辨别大小写

1. 查找文件名为.log 结尾的文件, 不辨别大小写

find . –iname “*.log” –print

-perm:后跟文件权限,按文件权限模式来查找文件

1. 查找当前目录下文件权限为 777 的文件

find . –perm 777 –print

how to Find file in Linux

-prune:疏忽某个目录

1. 心愿在 tmp 下查找,但不心愿在 /tmp/tmp1 下查找

find test –path “/tmp/tmp1” –prune –o –print

2. 心愿在 tmp 下查找,但不心愿在 /tmp/tmp1、/tmp/tm2、/tmp/tmp3 等多个文件夹下查找

find test (–path tmp/tmp1 –o –path tmp/tmp2 –o –path tmp/tmp2) –prune –o –print

-user 与 nouser:依据文件属主查找与查找属主账户曾经被删除的文件

1. 查找文件属主为 qinys 的所有文件

find ~ –user qinys –print

2. 查找删除用户 Tom 的文件

find /home –nouser –print

-group 与 nogroup:依据文件属于的用户组查找与查找属用户组曾经被删除的文件

1. 查找文件属主为 qinys 的所有文件

find ~ –group gp1 –print

2. 查找删除用户 Tom 的文件

find /home –nogroup –print

-mtime\atime\ctime:依据更改工夫或者拜访工夫等查找文件

1. 在根目录下查找更改工夫在 5 日以内的文件

find / –mtime -5 –print

2. 查找 /home 目录下 3 日以前的文件

find / –mtime +3 –print

10 Linux find exec examples

-newer:查找更改工夫比某个文件新但另外一个文件旧的所有文件

语法:new_file_name ! old_file_name

其中!是逻辑非符号

1. 查找更改工夫比文件 a.log 新,但比文件 b.log 旧的文件(如果当初是在目录 /home 下)

find –newer a.log ! -newer b.log

2. 查找更改工夫比 tmp.log 新的文件

find . –newer tmp.log

-size:依据文件大小来查找文件(这里的文件长度既能够应用块来计量,也能够应用字节来计量)

1. 查找当前目录下文件长度大于 1M 字节的文件

find . –size +1000000c –print

2. 在目录 /home 下查找文件长度恰好为 100 字节的文件

find . –size 100c –print

3. 在当前目录下查找长度超过 10 块的文件(一块等于 512 字节)

find . –size +10 –print

-type:查找某一类型的文件,诸如:

b – 块设施文件。

d – 目录。

c – 字符设施文件。

p – 管道文件。

l – 符号链接文件。

f – 一般文件。

案例
1. 在目录中查找更改工夫在 6 日以前的文件并删除他们(注:明天是 20190109)

从上图咱们能够看出,合乎查找的文件 test.sh 曾经被删除

2. 在目录中查找更改工夫在 1 日以前后缀为.log 的文件并删除他们, 删除时候提醒

20 advanced Linux find Examples

退出移动版