为Linux系统减肥,常用工具的使用方法和技巧

为Linux系统减肥,常用工具的使用方法和技巧

Linux 计算机安装后,在我们不断的使用过程中,因为添加、删除软件和上网冲浪、调试程序等行为,硬盘中会产生各种各样的垃圾文件,而随着这些垃圾文件的不断膨胀,它们不仅会平白吞噬掉我们宝贵的硬盘空间,更会拖累机器的运行速度,影响我们的工作效率。本文介绍一下给 Linux 系统减肥的方法和工具的使用技巧,本文使用的 Linux 发行版本是 Ubuntu 12.04 。本文介绍的工具包括:Activity Log Manager、BleachBit、find、fdupes、Geeqie、GConf Cleaner,这些工具都是开源工具,Linux 用户可以通过下载编译源代码在其他流行的 Linux 版本(如 Redhat、SUSE 等)上使用。

Linux 下哪些文件属于垃圾文件

软件安装过程中产生的临时文件

许多 bin 格式的软件在安装时,首先要把自身的安装文件解压缩到一个临时目录(一般为/tmp 目录)然后再进行安装。如果软件设计有疏忽或者系统有问题,当安装结束后,这些临时文件就会变得并不“临时”,成为硬盘里的一堆垃圾,很多时候它们以*.tmp 的面孔出现。

软件运行过程中产生的临时文件

和安装过程一样,在软件的运行过程中通常也会产生一些临时交换文件,有些软件运行过后遗留下来的垃圾甚至多达数百兆,比如 SSH 服务器和客户端连接过程中时产生的文件。还有虚拟机运行时产生的文件。另外我们删除一个账户之后,还会存在一些无用垃圾文件及目录。

上网冲浪产生的临时文件

我们在上网的时候,浏览器总是将网页文件下载到本地机器上,这些缓存文件不但占用了宝贵的磁盘空间,还常常会把我们的个人隐私公之于众。

一些不常用的鸡肋文件

比如一些应用软件自带的帮助和系统手册页等。既然食之无味索性也将它们视作垃圾文件的一种表现。占用空间甚大,更会严重拖累系统和一些图形处理软件的运行速度。另外还有一些损坏的桌面文件,它包括损坏的应用程序菜单按钮和文件关联。

各种缓存文件

如果 Linux 用户安装使用 GIMP 或者 Geeqie 等图形编辑工具,在这些软件都有图片预览功能,在保存了图片的文件夹下会产生一个名为“Thumbs.db”的文件,这个文件会随着图片文件的增加而膨胀。还有就是.DS_Store 文件,DS_Store 文件是用来存储这个文件夹的显示属性的:比如文件图标的摆放位置。删除以后的副作用就是这些信息的失去。另外还有使用 apt 或者 YUM 软件包安装过程中生成的缓存文件。

使用 Linux 命令删除垃圾文件

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

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

#find ./ -nouser |xargs rm –rf

core 文件

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

# find / -name core -print -exec rm -rf {} \;

多余的手册页

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

# cd /usr/share/man

# find ./ -maxdepth 1 -type d | tail -n +2 | grep -E -v '(en|zh|man).*' | \

while read d; do rm -rf $d; done

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

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

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

# apt-get install fdupes

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

#fdupes /etc

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

#fdupes -r -f . | grep -v ^$ | tee duplicate.txt cat duplicate.txt | \

while read file; do rm -v "$file"; done

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

# fdupes -r -n -S /tmp | sed -r “s/^/#rm \”/” | sed -r “s/$/\”/” >duplicate-files.sh

删除缓存文件

清理旧版本的软件缓存

# apt-get autoclean

清理所有软件缓存:

#apt-get clean

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

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