本文主要介绍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 条评论