跟着笨鸟学Linux-查找文件

    技术2022-07-10  155

    跟着笨鸟学Linux-查找文件

    find命令使用方式查找条件处理动作 locate命令使用方式选项

    find命令

    find命令为精确查找,查找时会遍历整个文件系统

    使用方式

    find [选项] [查找路径] [查找条件] [处理动作]

    [选项] 有很多,不怎么常用,可以man一下 [查找路径]根据指定的路径开始查找,不指定的情况下默认是从当前路径开始查找 [查找条件]可根据文件名、大小、属主属组信息、类型、选项等等标准进行查找,默认为查找出该路径下所有文件 [处理动作]列出,输出、执行等等

    查找条件

    根据文件名查找

    -name 根据文件名查找

    [root@localhost ~]# find /etc -name "passwd" /etc/passwd /etc/pam.d/passwd

    -iname 根据文件名查找,并忽略大小写

    [root@localhost test]# find /etc -iname "passwd" /etc/passwd /etc/pam.d/passwd /etc/test/Passwd

    查找时还可以使用文件名通配,模糊查找

    * 任意长度任意字符 ? 任意单个字符 []范围内的任意单个字符 []范围外的任意单个字符

    [root@localhost test]# find /etc -iname "*passwd*" /etc/passwd /etc/pam.d/passwd /etc/passwd- /etc/security/opasswd /etc/test/Passwd 根据从属关系查找

    -user 查找该用户的所有文件 -group 查找该用户组的所有文件 -uid UID 查找uid为该UID的所有文件 -gid GID 查找gid为该GID的所有文件 -nouser 查找没有属主的所有文件 -nogroup 查找没有属主的所有文件

    根据文件类型查找 -type f:普通文件 d:目录文件 l:符号链接文件 b:块设备 c:字符文件 p:管道文件 s:套接字文件

    查找条件可以组合使用 -a 并且,满足条件A,并且满足条件B(不加任何选项的情况下默认是该选项) -0 或者,满足条件A,或者满足条件B -not 取反,不满足该条件的情况

    根据文件大小查找 -size 大小或者范围

    根据时间戳查找 -mtime 时间范围 -atime -ctime

    根据权限查找 -perm [/|-]mode mode:精确权限匹配; /mode:任何一类用户(u,g,o)的权限中的任何一位(r,w,x)符合条件即满足; 9位权限之间存在“或”关系; -mode:每一类用户(u,g,o)的权限中的每一位(r,w,x)同时符合条件即满足; 9位权限之间存在“与”关系;

    处理动作

    -ls 列出文件的详细信息 -delete 删除找到的文件 -ok 命令 {} \: 查找后执行后面的命令,{}为对找到内容的引用,\:为固定格式,使用该方式在执行命令时会让你确认 -exec 命令 {} \: 查找后执行后面的命令,{}为对找到内容的引用,\:为固定格式,使用该方式在执行命令不需要确认

    locate命令

    locate为模糊查找,查找前先建立索引,是在索引库中查找,查找到的内容不一定实时,若没有更新到索引库中的内容将不会被找到。

    使用方式

    locate [OPTION]… PATTERN…

    选项

    -b 查找文件基名 -A 仅输出匹配到所有条目的项,满足A且满足B,默认是或,A或B -i 忽略大小写

    当在locate中查不到内容时可以更新索引库,使用updatedb命令,该命令将会消耗机器性能

    Processed: 0.009, SQL: 10