如何删除 /tmp/ 文件夹中的所有内容?

如何删除 /tmp/ 文件夹中的所有内容?

我执行了“sudo rm *”,但它并没有删除所有内容。(我可能有很多不需要的对象。)

我并不是问是否可以删除 tmp 中的所有内容 - 我是问如何做:)

是否有一个 shell 脚本可以实现这个功能?

答案1

你不应该这样做,因为那里可能正在使用(或需要)unix套接字,等等。

但是,如果你愿意的话:

rm -rf /tmp/*

答案2

正如其他发帖者所提到的,很难回答不合作的提问者,但这是我能找到的最接近的答案,可能不需要你真正提供更多有关具体问题的详细信息。它解决了 glob 扩展问题的可能性(“*”是以 root 还是用户身份扩展?它是否超出了 shell 的(相当大的)内置限制?)或当前目录问题(sudo 之后你还在 /tmp 中吗?)。

if `sudo id` | grep uid=0; then
  sudo find /tmp/ -maxdepth 1 \! -name . -exec rm -rf {} \;
else
 echo The problem, Alex, is that sudo "isn't" actually giving you root.
fi

答案3

首先,我不够精明,无法就此事为任何人提供建议,但是,我可以发布我过去为解决这些问题所做的事情。

sudo -- rm -rf /tmp/
sudo -- cd /tmp/
sudo -- chmod 777 /tmp

然后重新启动服务器,重新启动后,所有需要的 tmp 文件将被系统重写入 /tmp/...

包括服务器上任何网站软件等所需要的 /tmp/ 文件。

这将永久删除任何 /tmp/session 文件并释放大量空间....

答案4

如果问题与隐藏文件有关,那么这个问题可能就不那么愚蠢了。有关更多详细信息,请参见此处:https://askubuntu.com/questions/72446/how-to-remove-all-files-and-subdirectories-in-a-directory-without-deleting-the-d

相关内容