使用 Linux 命令删除垃圾文件

  • 删除用户后遗留下的垃圾文件

这里我们使用到的主要命令是 find 。举个例子: 我们删除一个账户之后,还会存在一些无用垃圾文件及目录,我们要找出属于这个用户的垃圾东西,使用 find / -user 用户名 :就可以找到根目录下属于这个用户的相关文件 ,使用命令:

  1. #find ./ -nouser  |xargs rm –rf 
  • core 文件

当我们在系统下运行某个程序出错的时候,系统会自动将残留在内存中的数据存成 core 文件,久而久之,系统中遗留下来的 core 会越来越多,就像灰尘一样散落在系统的每一个角落里很是烦人。这个时候,我们就可以应用 find 命令加上—exec 参数来清理它们。使用命令:

  1. # find / -name core -print -exec rm -rf {} \; 
  • 多余的手册页

另外 Linux 提供了众多语言的手册页man)比如 Ubuntu 的 手册页位于/usr/share/man 目录下 ,可以使用命令删除多余语言的手册页保留中英文即可。

  1. # cd /usr/share/man 
  2. # find ./ -maxdepth 1 -type d | tail -n +2 | grep -E -v '(en|zh|man).*' | \ 
  3. while read d; do rm -rf $d; done 

说明:关键字是(en|zh|man) ,您可以根据自己的情况修改。

  • 使用 fdupes 工具删除指定目录下重复文件

fdupes 是一个命令行工具,它会查找和删除指定目录的重复文件,它通过文件的大小和 MD5 值进行比较 。一个字节一个字节进行对比。 首先安装这个工具

  1. # apt-get install fdupes 

在 /etc 目录查找重复文件 ,使用如下命令:

  1. #fdupes /etc 

可以与 Linux 命令组合使用,删除文件 :

  1. #fdupes -r -f . | grep -v ^$ | tee duplicate.txt cat duplicate.txt | \ 
  2. while read file; do rm -v "$file"; done 

另外也可以与 sed 命令组合使用,删除文件 :

  1. # fdupes -r -n -S /tmp | sed -r “s/^/#rm \”/” | sed -r “s/$/\”/” >duplicate-files.sh 
  • 删除缓存文件

清理旧版本的软件缓存

  1. # apt-get autoclean 

清理所有软件缓存:

  1. #apt-get clean 

删除系统不再使用的孤立软件

这三个命令主要清理升级缓存以及无用包的。


相关内容