linux - 目录大小奇怪。尺寸过大

标签 linux command-line size tmp

我实际上正在 Linux 环境中工作,我的 tmp 文件夹中的文件有一些问题,今晚创建了很多大小为 0 的文件,我们今天早上设法清除了它们,但仍然存在一个问题,.该目录的大小约为 21 mb,这似乎不对,有什么方法可以解释里面的内容以及如何将其大小重置为更常见的大小?

$ls -al
total 87644
drwxrwxrwt  3 root root 21905408 Dec  5 11:06 .
drwxr-xr-x 30 root root     4096 Dec  4 22:10 ..

今天早上我们在这个目录中有大约九百万个文件,我认为这是一些存储文件名或目录日志的数据库,有人可以帮我阐明这一点吗? 谢谢

最佳答案

我不认为目录会自行减小大小,尽管它可能对于某些文件系统类型(但我不知道)。换句话说,它保持在其峰值大小。

如果你想减少它,最简单的方法通常是在与旧目录相同的位置创建一个目录,移动文件,然后删除旧目录并重命名新目录来替换它。

如果您的系统很重要,您可能必须在单用户模式下执行此操作,以尽量减少影响其他用户的可能性。如果这只是您的盒子,您可能可以在没有其他东西运行的情况下只使用它。

这是 /tmp 目录的起点:

mkdir /tmp_new
mv /tmp/* /tmp_new ; mv /tmp /tmp_old ; mv /tmp_new /tmp

然后您可以检查以确保 /tmp_old 为空,然后再将其完全删除。

另一种可能性是尝试:

mv /tmp /tmp_old ; mkdir /tmp ; chmod 777 /tmp

这有望保留 /tmp_old 目录中打开的文件( inode ),并在全新(较小)目录中创建新的临时文件。然后,如果可能的话,只需重新启动您的盒子(干净地)并删除 /tmp_old 目录。

您可能需要检查当前 /tmp 目录的权限,以确保为新目录正确设置它们。

关于linux - 目录大小奇怪。尺寸过大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20397262/

相关文章:

linux - 在不同的脚本/终端中使用 wlan0 或 eth0

command-line - 如何使用命令行直接在 Firefox 私有(private)模式下打开网站(在我的例子中为 cmd 提示符)

macos - 如何在 Mac 中使用命令行显示窗口

jquery - 如何使用 iframe 正确调整 jQuery.ui 对话框的大小

javascript - 在javascript中使用鼠标调整文本/div的大小

linux - 在 Windows 机器上安装的 sftp 服务器上是否可以进行基于 ssh key 的身份验证?

linux - 嵌套 for 循环的问题

python - 是否有工具可以帮助将文件视为数据库中的表?

javascript - 如何读取用户输入的 Node.js - 使用 Promises 重构

java - 获取绘制图像的大小,而不是实际图像的大小