Linux 中的“/tmp”或 tmp 目录(临时目录)是任何程序存储在执行会话期间可以使用的必要文件的地方。 它是 Linux 中最常用的目录之一。 假设您正在编写文档。 你在 vscode 中这样做。 vscode 会将您的文档的临时副本保存在 tmp 文件中,并会定期更新它。 您可以随时去那里并在必要时恢复它。
如果您想成为一名有效的 Linux 用户,必须彻底了解 tmp 目录。 知道它是如何工作的,这个目录的属性是什么等等,将会大大增强你的 Linux 控制能力。 我们将回答您可能想到的所有可能的问题。 和我们一起学习。
Linux tmp 目录:目的是什么?
/tmp 目录包含在程序执行期间“临时”需要的所有必需文件。 如果发生任何崩溃或意外事件,您可以从目录中检索文件。 此外,您还可以查看在程序执行期间正在使用哪些子程序。
当您将文件保存在所需的目的地并正确退出程序时,所有临时程序或文档都会消失,目录为空。 如果它没有清空,那么在你的电脑重新启动后,它就会变空。
这个目录可以填吗?
对于一个普通的 Linux 用户来说,填满 tmp 目录真的很难。 存储在 tmp 目录中的文件非常小,只有几千字节。 因此,您必须在那里收集大量文件才能填充目录。 这并非不可能,但真的很难。
通常,我们在 PC 上运行一两个用户并经常关闭 PC。 使用较少数量的用户会创建较少数量的临时文件。 关闭 PC 会清除所有临时文件——无需担心。
如果您正在运行一个包含大量用户的服务器,那么 tmp 目录会让人头疼。 您不能经常关闭服务器,因此没有机会自动清空。 对于这种情况,您必须手动删除临时文件。
手动清空 tmp 目录
作为一个普通的 Linux 用户,不建议手动清空这个 tmp 目录。 这将导致系统崩溃,因为存储在其中的文件是运行当前打开的程序所必需的。
如果您正在运行服务器,那么有一种系统化的方法可以清空 tmp 目录。 在接下来的部分中,我们将详细讨论这种方法。
要有效地从 tmp 目录中删除文件,您的系统中必须有 crontab。 如果您对 crontab 没有任何想法,那么让我简要介绍一下。
crontab 是一个应用程序,它在 Linux 系统中执行某种预先计划的操作。 为了 example,让我们认为您必须定期更新系统。
crontab 允许您完成此任务。 您只需要告诉它何时进行操作以及应该如何进行操作。 在那个特定的时刻,crontab 将根据您的指示完成工作。
在服务器中,有大量用户,每个用户都有自己的临时文件。 随意删除会严重干扰用户的活动。 您必须搜索那些不再使用的临时文件,然后必须删除它们。 这是一件相当乏味和单调的事情。 此外,它会消磨你的时间。
一个可行的解决方案是在一段时间后自动删除那些在该时间段内未被访问的文件。 这种自动化过程既高效又省时。 此外,它还可以节省您的劳动力。
要执行这些自动化操作,您需要从 crontab 获得帮助。 这就是为什么我刚才讨论过它。 假设您想每周从 tmp 目录中删除一次未使用的文件。
首先,将此通知您服务器的用户。 告诉他们您将删除一周内未访问的临时文件。 在不宣布政策的情况下执行操作可能会导致大屠杀。
清理目录的过程
然后,您必须键入要查找所需文件的脚本。 命令如下:
find /tmp -type f ( ! -user root ) -atime +7
执行后,您将能够找到过去 7 天内未访问的所有文件(除了 root 用户的文件)。 现在你已经完成了一半。 您已找到要删除的那些不必要的文件。 要删除它们,您必须执行以下操作:
find /tmp -type f ( ! -user root ) -atime +7 -delete
所以,我们找到了一种系统的清空Linux中tmp目录的方法。 但是服务器的所有者必须每周手动执行脚本。 这可以通过使用 crontab 来避免。 为了使脚本定期可执行,让我们创建一个包含语法的文件。 现在我们正在制作一个名为“tmp.swipe.sh”的文件(不包括引号)。
然后设置一个 crontab 命令。 首先,执行这个:
crontab -e
它将打开 crontab 文件。 然后在那里执行这个命令。 它将在每周一中午 12 点运行我们的脚本。
0 0 * * mon /opt/scripts/tmp.swipe.sh
写完后,保存退出。
因此,我们创建了一种每周清理一次 tmp 目录的方法。 您不必再考虑它了。 节省您的时间、空间和劳动力。 您还可以根据自己的方便更改时间间隔。 在这里,我们仅将 7 天期限用作 example 演示程序。
有一个名为 /var/tmp 的目录。 这和 /tmp 有什么区别?
两者在操作系统中的作用基本相同。 唯一的区别是删除期。
如果我们重新启动系统,/tmp 中的文件会自动删除,而保留在 /var/temp 中的文件不会仅在系统重新启动时删除。
此外,/tmp 中的文件会在十天后自动清空。 相反,/var/tmp 中的文件每月删除一次。
如果我不小心删除了 tmp 目录怎么办?
经常需要恢复 tmp 目录,因为许多 Linux 用户不小心删除了整个目录。 恢复过程根本不是一项艰巨的任务。 执行以下命令:
sudo mkdir /tmp
sudo chmod 1777 /tmp
“mkdir”创建一个新的 tmp 目录。 然后,我们授予用户对目录的访问权限。 通过执行以下命令仔细检查权限:
ls -ld /tmp
现在关闭你的电脑。 并再次打开它。 您的新 tmp 目录已准备好使用。 你们都完成了。
结论
我们在这里讨论了很多关于 Linux 中的 tmp 目录的内容。 牢记这些要点足以让任何用户轻松运行 Linux 系统。
虽然,在我看来,这就足够了,也许你有一些想法应该在这篇文章中介绍,但我没有这样做。 对人来说是错误的。 对这里应该提到的必要部分发表评论。 这就是今天的全部内容。