带有初学者示例的 mktemp 命令教程

我们已经知道如何 创建一定大小的文件 在 Linux 中。 在许多情况下,创建具有给定大小的文件会很有帮助。 为了 example,部署新的文件服务器后,您可能需要检查文件的上传限制、最大上传大小和下载速度等。在这种情况下,您可以创建特定大小的文件并在文件服务器上进行测试。 还有一个专用的命令行工具,名为 “mktemp” 可用于创建临时文件和目录。

mktemp 命令安全地创建一个临时文件或目录并打印其名称。 所有文件和目录都会保存在系统的临时目录中,即 /tmp. 所以你不需要手动清理它们。 重新启动系统后,临时文件将消失。

mktemp 命令教程

Mktemp 是的一部分 GNU 核心工具 包裹。 所以不用费心安装。 我们现在将看到一些实际的例子。

要创建一个新的临时文件,只需运行:

$ mktemp

您将看到如下输出:

/tmp/tmp.U0C3cgGFpk

使用 mktemp 命令创建临时文件

正如您在输出中看到的,一个具有随机名称的新临时文件 “tmp.U0C3cgGFpk” 在 /tmp 目录中创建。 这个文件只是一个空文件。

您还可以创建具有指定后缀的临时文件。 以下命令将创建一个带有“.txt”扩展名的临时文件:

$ mktemp --suffix ".txt"
/tmp/tmp.sux7uKNgIA.txt

临时目录怎么样? 是的,这也是可能的! 要创建一个临时目录,请使用 -d 选项。

$ mktemp -d

这将在 /tmp 文件夹中创建一个随机的空目录。

样本输出:

/tmp/tmp.PE7tDnm4uN

使用 mktemp 命令创建临时目录

所有文件都将使用 u+rw 权限和目录 u+rwx, 减去 umask 限制。 换句话说,生成的文件将对当前用户具有读写权限,但对组或其他人没有权限。 并且生成的目录将对当前用户具有读、写和可执行权限,但对组或其他人没有权限。

您可以使用“ls”命令验证文件权限:

$ ls -al /tmp/tmp.U0C3cgGFpk
-rw------- 1 sk sk 0 May 14 13:20 /tmp/tmp.U0C3cgGFpk

使用“ls”命令验证目录权限:

$ ls -ld /tmp/tmp.PE7tDnm4uN
drwx------ 2 sk sk 4096 May 14 13:25 /tmp/tmp.PE7tDnm4uN

检查 Linux 中的文件和目录权限

检查 Linux 中的文件和目录权限

建议阅读:

  • 如何在 Linux 中从文本文件创建目录

使用 mktemp 命令创建具有自定义名称的临时文件或目录

正如我已经说过的,所有文件和目录都是使用随机文件名创建的。 我们还可以使用自定义名称创建临时文件或目录。 为此,只需添加至少 3 个连续的“X” 在文件名的末尾,如下所示。

$ mktemp ostechnixXXX
ostechnixq70

同样,要创建目录,只需运行:

$ mktemp -d ostechnixXXX
ostechnixcBO

请注意,如果您选择自定义名称,文件/目录将在当前工作目录中创建, 不是 /tmp 位置. 在这种情况下,您需要手动清理它们。

此外,您可能会注意到,文件名中的 X 被替换为随机字符。 但是,您可以添加您选择的任何后缀。

例如,我想在文件名的末尾添加“博客”。 因此,我的命令是:

$ mktemp ostechnixXXX --suffix=blog
ostechnixZuZblog

现在我们在文件名的末尾有了后缀“blog”。

如果您不想创建任何文件或目录,您可以简单地执行如下所示的空运行。

$ mktemp -u
/tmp/tmp.oK4N4U6rDG

如需帮助,请运行:

$ mktemp --help

为什么我们实际上需要 mktemp?

您可能想知道为什么我们需要“mktemp”,而我们可以使用“touch filename”命令轻松创建空文件。 mktemp 命令主要用于 创建具有随机名称的临时文件/目录. 所以,我们不需要费心去弄清楚名字。 由于 mktemp 将名称随机化,因此不会发生任何名称冲突。 此外,mktemp 安全地创建权限为 600(rw) 的文件和权限为 700(rwx) 的目录,因此其他用户无法访问它。 有关更多详细信息,请查看手册页。

$ man mktemp