我在linux上我想知道如何在目录中找到最新的可执行文件? 我已经知道如何找到最新的:
ls -rt1 | tail -1
但如何过滤掉可执行文件?
编辑: 我找到了解决方案:
find path/to/dir/myfile* -perm /u=x,g=x,o=x -mtime 0 | tail -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" "