智传网优云课堂,专注分享IT技术
与IT技术爱好者一起共同学习进步

使用mktemp命令创建随机名称的目录和指定大小的文件

1. 前言

本教程主要讲解如何使用mktemp命令创建指定大小的临时文件。

我们已经知道如何在Linux中创建特定大小的文件。在许多情况下,创建具有指定大小的文件是很有帮助的。例如,在部署新文件服务器之后,您可能需要检查文件的上传限制、最大上传大小和下载速度等。在这种情况下,可以创建特定大小的文件并在文件服务器上测试它们。还有一个名为mktemp的专用命令行工具可用来创建临时文件和目录。mktemp命令安全地创建一个临时文件或目录并打印其名称。所有文件和目录将保存在系统的临时目录中,比如/tmp,所以你不需要手动清理它们。重新启动系统后,临时文件将消失。

使用mktemp命令创建随机名称的目录和指定大小的文件

2. mktemp命令使用教程及其示例

mktemp是GNU coreutils包的一部分。所以不需要安装。现在我们来看一些实际的例子。

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

mktemp

您将看到如下输出:

/tmp/tmp.U0C3cgGFpk

mktemp命令使用教程及其示例

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

还可以创建具有指定后缀的临时文件。下面的命令将用创建一个带.txt后缀的临时文件。

mktemp --suffix ".txt"

/tmp/tmp.sux7uKNgIA.txt

如果要创建临时目录,请使用-d选项。

mktemp -d

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

/tmp/tmp.PE7tDnm4uN

所有文件都将使用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

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

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

如前所述,所有文件和目录都是用随机文件名创建的。我们还可以创建一个具有自定义名称的临时文件或目录。要做到这一点,只需在文件名末尾添加至少三个连续的’x,如下所示。

mktemp ostechnixXXX

ostechnixq70

类似地,要创建目录,只需运行:

mktemp -d ostechnixXXX

ostechnixcBO

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

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

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

mktemp ostechnixXXX --suffix=blog

ostechnixZuZblog

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

如果您不想创建任何文件或目录,您可以像下面这样简单地执行一次测试。

mktemp -u

/tmp/tmp.oK4N4U6rDG

如果想要更多帮助,请查看相关命令的帮助:

mktemp --help

4. 总结

本文主要讲解如何使用mktemp命令创建临时文件和目录
您可能想知道为什么我们需要mktemp,而我们可以使用touch filename命令轻松创建空文件。mktemp命令主要用于创建具有随机名称的临时文件或目录。所以,我们不需要费心去定义它们的名字。因为mktemp将名称随机化,所以不会有任何名称冲突。而且,mktemp使用权限600(rw)安全地创建文件,使用权限700(rwx)安全地创建目录,因此其他用户无法访问它。有关更多细节,请查看man手册页。

赞(0)
分享到: 更多 (0)

学习QQ群:557371664

关注微信公众号自助视频学习

评论 抢沙发

评论前必须登录!