rm 递归删除 特定文件夹
使用规则:
rm -rf 目录名字
-r 向下递归,不管有多少级目录,一并删除
-f 直接强行删除,没有任何提示
linux下递归删除目录下所有指定的文件
find . -name '*.*' -type f -print -exec rm -rf {} \
(1) "." 表示从当前目录开始递归查找
(2) “ -name '*.*' "根据名称来查找,要查找所有以.*结尾的文件夹或者文件
(3) " -type f "查找的类型为文件
(4) "-print" 输出查找的文件目录名
(5) exec选项后边跟着一个所要执行的命令,表示将find出来的文件或目录执行该命令。 《Linux就该这么学》 一起学习更多linux知识。
exec选项后面跟随着所要执行的命令或脚本,然后是一对儿{},一个空格和一个\,最后是一个分号
import java.io.Filepublic class DeleteDirectory {
/**
* 删除空目录
* @param dir 将要删除的目录路径
*/
private static void doDeleteEmptyDir(String dir) {
boolean success = (new File(dir)).delete()
if (success) {
System.out.println("Successfully deleted empty directory: " + dir)
} else {
System.out.println("Failed to delete empty directory: " + dir)
}
}
/**
* 递归删除目录下的所有文件及子目录下所有文件
* @param dir 将要删除的文件目录
* @return boolean Returns "true" if all deletions were successful.
* If a deletion fails, the method stops attempting to
* delete and returns "false".
*/
private static boolean deleteDir(File dir) {
if (dir.isDirectory()) {
String[] children = dir.list()
//递归删除目录中的子目录下
for (int i=0 i<children.length i++) {
boolean success = deleteDir(new File(dir, children[i]))
if (!success) {
return false
}
}
}
// 目录此时为空,可以删除
return dir.delete()
}
/**
*测试
*/
public static void main(String[] args) {
doDeleteEmptyDir("new_dir1")
String newDir2 = "new_dir2"
boolean success = deleteDir(new File(newDir2))
if (success) {
System.out.println("Successfully deleted populated directory: " + newDir2)
} else {
System.out.println("Failed to delete populated directory: " + newDir2)
}
}
}