mktemp命令的使用方法:创建临时文件或目录并打印其名称

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

 

mktemp命令的使用方法

Mktemp是GNU coreutils包的一部分,我们现在将看到一些实际的例子。

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

$ mktemp

将看到如下输出:

/tmp/tmp.yjcVSaKkuv

正如你在输出中看到的那样,在/tmp目录中创建了一个随机名称为“tmp.yjcVSaKkuv”的新临时文件,这个文件只是一个空文件。

要创建临时目录,请使用-d选项:

$ mktemp -d

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

样本输出:

/tmp/tmp.vrhruN1WVX

所有文件都将使用u+rw权限创建,目录使用u+rwx,减去umask限制。

你可以使用ls命令验证文件或目录权限:

$ ls -al /tmp/tmp.yjcVSaKkuv 

-rw------- 1 sk sk 0 Aug 22 16:51 /tmp/tmp.yjcVSaKkuv

$ ls -al /tmp/tmp.vrhruN1WVX/

total 8

drwx------ 2 sk sk 4096 Aug 22 16:58 .

drwxrwxrwt 12 root root 4096 Aug 22 17:36 ..

参考:ls命令_Linux ls命令使用详解:显示目录内容列表

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

$ mktemp ostechnixXXX

ostechnixq70

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

$ mktemp -d ostechnixXXX

ostechnixcBO

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

另外,你可能已经注意到,文件名中的X替换为随机字符,但是,你可以添加任何后缀。

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

$ mktemp ostechnixXXX --suffix=ywnz

ostechnixZuZywnz

现在我们在文件名末尾有后缀“ywnz”。

如果你不想创建任何文件或目录,只需执行如下所示的运行即可:

$ mktemp -u

/tmp/tmp.oK4N4U6rDG

如需帮助,请运行:

$ mktemp --help

参考:help命令_Linux help命令使用详解:显示帮助信息

 

为什么我们真的需要mktemp?

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

$ man mktemp

 

Linux mktemp命令用于建立暂存文件。

mktemp建立的一个暂存文件,供shell script使用。

语法

mktemp [-qu][文件名参数]

参数

  • -q  执行时若发生错误,不会显示任何信息。
  • -u  暂存文件会在mktemp结束前先行删除。
  • [文件名参数]  文件名参数必须是以"自订名称.XXXXXX"的格式。

实例

使用mktemp 命令生成临时文件时,文件名参数应当以"文件名.XXXX"的形式给出,mktemp 会根据文件名参数建立一个临时文件。在命令行提示符输入如下命令:

mktemp tmp.xxxx #生成临时文件 

使用该命令后,可使用dir 或ls看当前目录,得到如下结果:

cmd@cmd-desktop:~$ mktemp tmp.xxxx #生成临时文件  
cmd@cmd-desktop:~$dir #查看当前目录  
file test testfile testfile1 tmp.3847 #生成了tmp.3847 

由此可见,生成的临时文件为tmp.3847,其中,文件名参数中的"XXXX"被4 个随机产生的字符所取代。

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值