为什么要创建一个空文件?

时间:2015-07-30 18:22:25

标签: file unix file-io terminal

在观看有关touch

的视频时,我看到了命令:Terminal

它类似于:

user$ touch testfile
user$ ls
Documents Photos Music testfile

所以我无法回答自己:

  

为什么要创建一个空文件?

如果可以的话,请列出一些适用性的简短列表!

6 个答案:

答案 0 :(得分:4)

我将给出一个实际的例子,说明我几天前在Ubuntu中使用空文件的时间。我在C创建了一个程序,它可以对文件,目录和整个文件目录进行符号链接。完成所有编码后,我创建了一个简单的shell .sh脚本,创建了一个" mock"目录结构。包括空文件和目录,以便我可以测试我的程序符号链接这些"假"文件。

这样可以轻松:

  1. 如果某些事情无法正常工作,请轻松开始测试。
  2. 使用不重要的文件(不要冒失去实际数据的风险)。

答案 1 :(得分:2)

  • 表示没有实例的信息集合。
  • 当存在或不存在文件时,

答案 2 :(得分:2)

  • 使用简单测试“主题”
  • 测试脚本是否有效
  • 将项目,代码和其他内容放入以后。
  • 将其用作示例或代表信息。

答案 3 :(得分:2)

我用:

 touch __init__.py

我正在导入自定义python模块,数据文件(csv,txt等)的目录中的所有时间。

说明:

在Python中,当想要在另一个文件夹中导入模块时,目标文件夹需要一个__init__.py文件(可以完全为空)。

 from lib import somefile

在目录lib中有一个名为__init__.py

的空白文件

答案 4 :(得分:2)

它可用于锁定文件,或者当您需要的数据位于文件名本身时。例如,我曾经触摸过一个名为" /。MYCOMPUTER_ROOT_2015_AUG_3" (例如)这样当我在" mycomputer"上备份根分区时录音带,我可以分辨出我正在阅读的录像带。

答案 5 :(得分:1)

对于偏执狂的系统管理员。

要编写一个Shell脚本,该脚本在具有多个并发用户的系统上以提升的特权(例如,以root用户的身份执行命令),并且您想要保护Shell脚本免受意外(或恶意)使用在您完全完成之前。然后,您做得到:

  • touch script.sh->创建一个不执行任何操作且由于未设置+x而无法执行的空文件,因此没有人可以做任何有害的事情。
  • chownchmod文件,以确保只有合适的用户才能对它进行任何操作。
  • 只有这样,您才能启动viemacsnano或任何其他编写您非常强大的Shell脚本的工具。

如果您在写完文件后执行chown / chmod ,那么其他人可能已经对该文件做了坏事。

编辑:一个更好的示例是带有超级机密凭据的文件,例如,带有~/.aws/credentials的{​​{1}}文件。 如果您先将凭据写入文件,然后aws_secret_access_key,然后在这几秒钟之间,有人就会窃取您的文件。 如果您先chmod,然后再进行任何内容访问,那么您就安全了。