如何在目录中查找最新的可执行文件

时间:2014-09-03 14:18:28

标签: linux bash find

我在linux上我想知道如何在目录中找到最新的可执行文件? 我已经知道如何找到最新的:

ls -rt1 | tail -1

但如何过滤掉可执行文件?


编辑: 我找到了解决方案:

find path/to/dir/myfile* -perm /u=x,g=x,o=x -mtime 0 | tail -1

这是保存吗?还是有更好的解决方案??

1 个答案:

答案 0 :(得分:1)

给定基本的find命令来查找从当前目录开始的文件:

find . -type f

让我们添加功能:

  • 要查找可执行文件,您可以使用-executable选项:

    find . -type f -executable
    
  • 要在一个深度级别上找到,即不在子目录中,请使用-maxdepth 1选项:

    find . -maxdepth 1 -type f
    
  • 要查找目录中的上次修改文件,您可以使用How to recursively find the latest modified file in a directory?

    find . -type f -printf '%T@ %p\n' | sort -n | tail -1 | cut -f2- -d" "
    

总之,这会在一个级别深度中查找上次修改的可执行文件:

find . -maxdepth 1 -type f -executable -printf '%T@ %p\n' | sort -n | tail -1 | cut -f2- -d" "