技巧get | Linux文件检索

最近有开发小哥咨询了一个问题,问题挺简单不过挺实用,记录一下分享给有需要的朋友。

问题如下:

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内置命令,不是则显示绝对路径。如命令有别名则会显示别名。

以上内容,大家可以收藏起来,那天有需要可以快速用起来!

觉得本文有用,请转发、点赞或点击“在看”聚焦技术与人文,分享干货,共同成长更多内容请关注“数据与人”

为您推荐

发表评论

您的电子邮箱地址不会被公开。