在这篇文章,我们将会向你展现如何通过 rm、 find 和 globignore 命令删除一个目录下除了指定文件扩展名或者类型的之外的文件。想起Linux中删除目录下的所有文件的方法;整理了几个,如有不足,还望读者不吝赐教!
有的时候,或许你可能会遇到这种情况,你需要删除一个目录下的所有文件,或者只是简单的通过删除除了一些指定类型(以指定扩展名结尾)之外的文件来清理一个目录。
删除当前目录下的文件
1.rm -f *
#最经典的方法,删除当前目录下的所有类型的文件
2.find . -type f -delete或find . -type f -exec rm -f {} \;
#用find命令查找普通文件并删除or用find命令的处理动作将其删除
3.find . -type f | xargs rm -f
#用于参数列表过长;要删除的文件太多
4.rm-f `find . -type f`
#删除全部普通文件
5.for delete in `ls -l`;do rm -f * ;done
#用for循环语句删除当前目录下的所有类型的文件
使用 truncate 命令来清空文件内容
truncate 可被用来将一个文件缩小或者扩展到某个给定的大小。你可以利用它和 -s 参数来特别指定文件的大小。要清空文件的内容,则在下面的命令中将文件的大小设定为 0:
# truncate -s 0 access.log
我要介绍的就是这么多了。在本文中,我们介绍了几种通过使用一些简单的命令行工具和 shell 重定向机制来清除或清空文件内容的方法。