我已经开始使用本指南学习 bash 脚本:http : //www.tldp.org/LDP/abs/abs-guide.pdf
但是我被困在第一个脚本上:
cd /var/log
cat /dev/null > messages
cat /dev/null > wtmp
echo "Log files cleaned up."
Run Code Online (Sandbox Code Playgroud)
第 2 行和第 3 行在 Ubuntu 中做什么(我理解cat)?它仅适用于其他 Linux 发行版吗?以 root 身份运行此脚本后,我得到的输出是Log files cleaned up.但/var/log仍包含所有文件。
我的计算机上包含 Ubuntu 的磁盘115GB大小合适。
当磁盘114.7GB已满时。
我开始在这里和那里删除一些文件以释放周围的5GB.
但是我注意到磁盘又被114GB填满了。我认为这是一些缓存或交换的东西,所以没有考虑太多,继续40GB通过将一些媒体文件移出磁盘来释放。
我在一小时左右收到通知,磁盘又满了!!
40GB!!!全没了!
所以我将问题调试到/var/log/syslog最初肯定小于20GB. 我知道这是因为/var文件夹是17GB在我清除内存之前。
/var/log/syslog文件是当前55.9GB!
有人能如此亲切地解释这种异常现象吗?这是一个错误吗?还是我受到某些恶意软件或病毒的影响?
我有一个没有任何分区的 80 GB 硬盘。有一天,我意识到我丢失了大部分可用磁盘空间。我发现它/var/log/kern.log.1占用了 25 GB 的空间,并且该文件没有删除选项。
这是问题的屏幕截图:

我是 Ubuntu/Linux 的新手。请帮忙。谢谢你。
如果您正在寻找解决方案,请参阅编辑 #3。
我正在运行 Xubuntu 16.04 LTS,并且我有一个 ~40 GB 的根分区,根据系统监视器(以 root 身份),该分区已 100% 已满。它肯定是满的,因为许多程序无法正常运行。
但是,出于某种原因,我似乎无法弄清楚空间的用途!Baobab(以 root 身份)仅报告我的 root 分区上总共使用了 15.5 GB!
编辑:另外,这里是 /var - 人们说它很大。Baobab 只报告 1 GB 的 /var,而 /var/log 是空的。我试过跑步sudo rm -R /var/log,没有效果。
那么,如何找出正在使用我的磁盘空间的内容,以及如何防止它填满我的根分区?这是一个很大的问题,请帮助!先感谢您 :)
编辑 2:正如在答案部分中发布的,sudo lsof / | awk '{if(\$7 > 1048576) print \$7/1048576 \"MB\" \" \" \$9 }' | sort -n -u返回11222.7MB /var/log/kern.log 11222.9MB /var/log/syslog,但是,我似乎无法弄清楚如何删除这些文件,此外,我想弄清楚如何永久防止这些文件变大。这个对另一个问题的回答建议我查看日志,看看是什么填满了它们,所以理想情况下,我想要某种方式来阅读这些神秘文件的内容。
编辑 3:我通过在单独的分区上安装 /var/log 暂时解决了这个问题。
但是,仍然存在某种错误导致这种情况。请,如果您希望修复此错误,请将信息(或至少引起注意)带到错误报告中:https: //bugs.launchpad.net/ubuntu/+source/linux/+bug/1643719和https: //bugzilla.kernel.org/show_bug.cgi?id=188331谢谢:)
因此,我将我的程序放在启动应用程序中。该目录/var/log占用大约 36 GB 空间。
我可以删除syslog和syslog.1归档在/var/log目录中占用最高存储百分比的文件吗?
disk-usage ×2
log ×2
syslog ×2
acpi ×1
bash ×1
command-line ×1
files ×1
filesystem ×1
kernel ×1
scripts ×1