shell 拷贝文件到指定目录_使用mktemp命令创建随机名称的目录和指定大小的文件...

请关注本头条号,每天坚持更新原创干货技术文章。

如需学习视频,请在微信搜索公众号“智传网优”直接开始自助视频学习

1. 前言

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

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

535e2fad0db4b411a85a4cc8a0e765ef.png

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

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

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

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

mktemp

您将看到如下输出:

/tmp/tmp.U0C3cgGFpk
13289b7d555c58934830c7d6d20921db.png

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命令创建具有自定义名称的临时文件或目录

60789e7ab6fadc8e5d1d81915305bfa2.png

使用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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值