Linux的mktemp命令

文章作者:Tyan
博客:noahsnail.com  |  CSDN  |  简书

Linux系统有特殊的目录,专供临时文件使用。Linux使用/tmp目录来存放不需要永久保留的文件。mktemp命令专门用来创建临时文件,并且其创建的临时文件是唯一的。shell会根据mktemp命令创建临时文件,但不会使用默认的umask值(管理权限的)。它会将文件的读写权限分配给文件属主,一旦创建了文件,在shell脚本中就拥有了完整的读写权限,其他人不可访问(除了root)。mktemp命令用法如下:

  • 默认情况

默认情况下,mktemp会在本地当前目录创建一个临时文件,创建临时文件时只需要创建模板文件,模板可以包含任意的文件名,文件末尾可以根据需要添加nX。Demo如下:

# 创建临时文件
$ mktemp test.XXXX
test.LUTA

$ mktemp test.XXXXXX
test.YgW9gf

# 保存创建的临时文件
$ test=$(mktemp test.XXXXXX)
$ echo $test
test.vTqiVc
  • -t选项

-t选项会强制mktemp命令在系统的临时目录中创建临时文件,创建时mktemp命令会返回临时文件的全路径。Demo如下:

$ mktemp -t test.XXXXXX
/var/folders/ky/fvshg4_93p177q7pnm718vph0000gn/T/test.XXXXXX.O3dKTv6E
  • -d选项

-d选项告诉mktemp命令创建一个临时目录而不是临时文件。Demo如下:

# 创建临时目录
$ mktemp -d test.XXXXXX
test.CJmaBe

# 查看test.CJmaBe是否是目录
$ ls -F
test.CJmaBe/ test.LUTA    test.YgW9gf  test.vTqiVc

参考资料

  1. Linux命令行与shell脚本大全
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Linux中,"重定向"(Redirection)是一种强大的I/O操作,它允许我们将标准输入、输出或错误流重新定向到文件、设备、管道或其他程序的输入。这在很多场景下非常有用,例如输出结果到文件、捕获程序的输出、修改输入数据等。这里简要介绍几个常见的重定向操作: 1. 输出重定向 (`>` 或 `>>`): - `>`:覆盖写入,如果文件已存在则先删除再写入。 - `>>`:追加写入,如果文件已存在则在末尾添加内容。 2. 输入重定向 (`<`): 用于将文件内容作为程序的输入,如 `command < inputfile`。 3. 标准错误重定向 (`2>` 或 `2>>`): - `2>`:类似输出重定向,将错误信息写入指定文件。 - `2>>`:追加错误信息到文件。 4. 输入输出重定向 (`<>` 或 `|`): - `<>`:通常用于替代环境变量 `$0`,如 `grep keyword <> file`。 - `|`:管道操作符,允许将一个命令的输出作为另一个命令的输入。 5. 输入输出重定向结合标准错误 (`>>&`): - `>>&`:将输出和错误同时重定向到同一个文件。 6. 临时文件重定向 (`<>` 结合 `mktemp`): 使用 `mktemp` 创建一个临时文件,并将其用于输入输出,如 `command <> $(mktemp)`。 7. 双向重定向 (`tee`): `command | tee outputfile`,将命令输出复制到屏幕和文件中。 了解这些基本的重定向操作后,你可以在编写脚本或日常命令行操作中灵活运用,以满足特定需求。如果你有更具体的问题或想深入了解某个方面,可以继续提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值