mktemp命令
我们已经知道如何在Linux中创建一定大小的文件。
创建给定大小的文件在许多情况下都会很有帮助。
例如,在部署新的文件服务器之后,我们可能要检查上传限制,最大上传大小和文件的下载速度等。
在这种情况下,我们可以创建特定大小的文件并在文件服务器上对其进行测试。
还有一个名为“ mktemp”的专用命令行工具可用于创建临时文件和目录。
mktemp命令安全地创建一个临时文件或者目录,并打印其名称。
所有文件和目录将保存在系统的临时目录中,例如:/tmp。
因此,我们无需手动清理它们。
重新启动系统后,临时文件将消失。
mktemp命令教程及示例
Mktemp是GNU coreutils软件包的一部分。
因此,请勿打扰安装。
现在,我们将看到一些实际示例。
要创建一个新的临时文件,只需运行:
$mktemp
我们将看到类似以下的输出:
/tmp/tmp.U0C3cgGFpk
如我们在输出中看到的,在/tmp目录中创建了一个新的临时文件,其随机名称为“ tmp.U0C3cgGFpk”。
该文件只是一个空文件。
我们还可以创建带有指定后缀的临时文件。
以下命令将创建一个扩展名为“ .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 Jan 14 13:20 /tmp/tmp.U0C3cgGFpk
使用“ ls”命令验证目录权限:
$ls -ld /tmp/tmp.PE7tDnm4uN drwx------ 2 sk sk 4096 Jan 14 13:25 /tmp/tmp.PE7tDnm4uN
建议阅读:
- 如何在Linux中从文本文件创建目录
使用mktemp命令使用自定义名称创建临时文件或者目录
正如我已经说过的,所有文件和目录都是使用随机文件名创建的。
我们还可以使用自定义名称创建一个临时文件或者目录。
为此,只需在文件名的末尾添加至少三个连续的'X',如下所示。
$mktemp theitroadXXX theitroadq70
同样,要创建目录,只需运行:
$mktemp -d theitroadXXX theitroadcBO
请注意,如果我们选择一个自定义名称,则将在当前工作目录而不是/tmp位置中创建文件/目录。
在这种情况下,我们需要手动清理它们。
另外,我们可能会注意到,文件名中的X替换为随机字符。
但是,我们可以添加我们选择的任何后缀。
例如,我想在文件名的末尾添加“教程 ”。
因此,我的命令将是:
$mktemp theitroadXXX --suffix=blog theitroadZuZblog
现在,我们在文件名的末尾添加了后缀“ blog”。
如果我们不想创建任何文件或者目录,则只需执行如下所示的试运行即可。
$mktemp -u /tmp/tmp.oK4N4U6rDG
要获取帮助,请运行:
$mktemp --help
为什么我们实际上需要mktemp?
我们可能想知道为什么我们需要“ mktemp”,而我们可以使用“ touch filename”命令轻松创建空文件。
mktemp命令主要用于创建具有随机名称的临时文件/目录。
因此,我们无需费心找出名称。
由于mktemp将名称随机化,因此不会发生任何名称冲突。
另外,mktemp安全创建权限为600(rw)的文件和目录权限为700(rwx)的目录,因此其他用户无法访问它。
有关更多详细信息,请查看手册页。
$man mktemp