教你怎么在Linux使用命令行清理磁盘来增加空间的技巧

时间:2015-05-14172举报小编:123

很多用户都说磁盘空间用的久了,空间就满了,影响速度。那么,我们该怎么解决这个问题呢?定时清理是一个不错的方法,今天我就教大家如何使用命令行清理系统垃圾吧。大家快去试试吧


解决方法:

1、linux 下查找大于10M的文件

find . -type f -size +10000k

2、删除所有空目录

find /data -type d -empty -exec rm -rf {} \;

3、linux下批量删除空文件(大小等于0的文件)的方法

find /data -type f -size 0c -exec rm -rf {} \;

find /data -type f -size 0c|xargs rm –f

4、删除五天前的文件

find /data -mtime +5 -type f -exec rm -rf {} \;

5、删除两个文件重复的部份,打印其它

cat 1.txt 3.txt |sort |uniq

安装:rpm -ivh gcc-c++-4.1.1-52.el5.x86_64.rpm

删除:rpm -e gcc-c++-4.1.2-44.el5 --nodeps

查看安装包:rpm -q gcc-c++

补充一下方法

1.定期监控重要的文件系统

定期对重要的文件系统进行扫描,并比较每次扫描的结果,分析出那些文件经常被读写。通过分析,预测出空间的增长情况,同时,可以考虑对不经常读写的大文件进行压缩存储,以减少它们占用的空间。

#ls -lR /home >files.txt

#diff filesold.txt files.txt

对不经常读写的目录/home/odd进行压缩:

#tar cvf odd.bak /home/odd

#compress odd.bak

2. 查看inodes消耗

用下面命令查看空间被占满的文件系统的inodes消耗,如果还有大量inodes可用,说明是大文件占用了空间,否则可能是大量的小文件占用了空间。

#df -i /home

3.找出占用空间较大的目录

查看/home 占用的空间:

#du -hs /home

查看/home 下占用空间超过1000MB的目录:

#du |awk '$1>2000'

4. 找出占用空间较大的文件

查找占用空间大于2000KB的文件:

#find /home -size +2000k

查找大小为500KB到1000KB之间的文件:

#find -type f -size +500k -and -size -1000k

5.找出最近修改或创建的文件

如果文件系统昨天还是正常的,今天空间就被占满了,那就需要查出哪些文件被更新过,哪些文件是新创建的,以便找出并处理不正常的大文件。先“touch”一个文件,时间戳根据具体情况定为比较近的日期,再使用find命令找出比这个文件更新的文件。

#touch -t 08190800 test

#find /home -newer test -print

6.删除日志、邮件等没用的文件

删除core、mbox等文件:

#find / -name core | xargs rm -rf

#find / -name mbox | xargs rm -rf

删除日志文件:

#rm -rf /var/log/*

7.对文件系统做链接

对已经没有空间的文件体统做链接,链接到还有空间的文件系统。

#ln -s /home /usr/home

8.检查并修复文件系统

#fsck -y /home

9.找出耗费大量空间的进程

有的应用会占用很多磁盘空间,这种情况无法具体说明,需要根据不同的应用选择优化的方法。比如,邮件系统和Web代理系统可以通过设置文件保留时间和占用磁盘空间百分比等办法控制磁盘空间的占用。

10.重启机器

重新启动系统会对文件系统进行扫描,还会初始化进程、内存和磁盘空间的管理,是解决很多问题的好办法。有了以上几招,应该可以解决大部分问题,但关键还是要在安装时就规划好分区。另外,发现文件系统被占满时,要认真分析原因,小心应对,不要删错了文件。如果这些招数都试过了还是没有解决问题,就只有采取增加硬盘、重新安装系统等办法了。

11.找出占用磁盘空间最大的目录进入逐步查找

du -h --max-depth=1|grep G|sort -n

如果你的磁盘总是很容易就没有空间的话,那么就用这些命令行进行清理吧。这样相比手动清理可以减少你不少的时间哦。