如何使用“查找”删除隐藏文件和文件夹

如何使用“查找”删除隐藏文件和文件夹

如何查找并删除所有不带扩展名的文件(包括隐藏文件)java。我知道如何使用 find 删除文件并运行以下命令:

find . -not -name "*.java" -type f -delete 

这将递归搜索所有文件夹中不以 *.java 结尾的所有文件。但该命令会遗漏隐藏文件夹中的文件。

我运行命令发现这里ls -lahR我发现我运行的命令遗漏了一些文件。例如:

./node_modules/.bin:
total 24
drwxr-xr-x  5 whitecat  staff   170B Apr  5 12:47 .
drwxr-xr-x  4 whitecat  staff   136B Apr  5 02:25 ..
lrwxr-xr-x  1 whitecat  staff    19B Apr  5 12:47 nopt -> ../nopt/bin/nopt.js
lrwxr-xr-x  1 whitecat  staff    20B Apr  5 12:47 semver -> ../semver/bin/semver
lrwxr-xr-x  1 whitecat  staff    19B Apr  5 12:47 shjs -> ../shelljs/bin/shjs

我需要什么标志才能不错过这些“隐藏”文件。我见过“如何使用 Linux `find` 命令查看隐藏文件“并且只显示命令find /path -type f -iname ".java" -ls。我已经使用过该命令但仍然找不到隐藏文件。

答案1

-type f正在寻找文件。

您提到的三个文件是符号链接:

rwxr-xr-x 1 whitecat staff 19B Apr 5 12:47 nopt -> ../nopt/bin/nopt.js

要查找您需要查找的链接-type l

因此,要删除此符号链接,您必须将命令更改为(根据下面 Whitecat 的评论进行编辑):

find . -not -name "*.java" -type f -delete -o -type l -delete 

相关内容