邓毓
作者邓毓2020-04-09 15:06
系统工程师, 江西农信

技术技巧---Linux文件检索

字数 1069阅读 333评论 0赞 1

摘要

本文主要介绍Linux系统中如何进行文件检索,包括普通文件、二进制文件等。对于二进制文件如何获得其绝对路径、源代码以及说明等信息。/

文件查找

通过文件名查找

find  /目录  -name  ‘*.log’      //查找某目录下以".log"结尾的文件,注意元字符*必须使用单引号括起来

通过文件大小查找

find /目录  -size   +1G  //查找某目录下大于1G的文件

通过修改时间查找

find /目录 -type f -mtime   -7   //查找某目录下7天内修改过的文件, -type f 定义查找类型为普通文件。

查找文件并做相应处理

find  /目录   -size  +1G    -exec rm  {} \;                     \\寻找某目录下大于1G的文件并删除,此命令删除文件不会提示,确保删除正确文件


find /目录   -size +1G   -ok rm {} \;                             \\与上一条相同,但是会提示是否删除,更安全


find /目录  -size  +1G -print0 |xargs -0 rm {}                \\与 exec 相同,加上 -print0 和xargs -0 是为了确保文件中空格,引号等无法处理

注: exec 与xargs 差别为前者参数为一个一个传递的,能处理特殊字符。 后者参数为一次性传递需加特定参数处理特殊字符。

文件名快速查找

locate -i ftp       //查找包含ftp关键字的文件和目录,-i为忽略大小写


locate /etc/sh   //查找/etc/下以sh开头的文件或目录

注: locate 命令使用系统自带的搜索数据库/var/lib/locatedb,因此查找文件比find -name 要快很多。该数据库每天更新一次,因此当天变更需要使用updatedb命令手动更新数据库。

定位可执行文件

whereis grep     //查找grep命令的man信息文件,命令绝对路径和源代码

注: whereis 与locate一样依赖/var/lig/locatedb 进行查找,当天变更使用updatedb更新

which grep  //查找程命令绝对路径


type grep   //检索命令文件是否为shell内置命令,不是则显示绝对路径。如命令有别名则会显示别名。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

1

添加新评论0 条评论

Ctrl+Enter 发表