【问题标题】:Why would one create an empty file?为什么要创建一个空文件?
【发布时间】:2015-10-22 06:06:12
【问题描述】:

我在观看有关Terminal 的视频时看到了命令:touch

有点像:

user$ touch testfile
user$ ls
Documents Photos Music testfile

所以我无法回答自己:

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

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

【问题讨论】:

  • touch 命令不仅可以创建空文件,还可以更改现有文件的时间戳 - 在此处查看更多信息linux.die.net/man/1/touch
  • 这对于another Stack Exchange 站点来说可能是一个更好的问题,因为这不是一个真正的编程问题。

标签: file unix file-io terminal


【解决方案1】:
  • 表示没有实例的信息集合。
  • 只要文件的存在与否就很重要

【讨论】:

    【解决方案2】:

    我将给出一个实际示例,说明几天前我刚刚在 Ubuntu 中使用空文件。我在C 中创建了一个程序,它可以对文件、目录和整个文件目录进行符号链接。完成所有编码后,我制作了一个简单的 shell .sh 脚本,该脚本创建了一个“模拟”目录结构。包括空文件和目录,这样我就可以测试我的程序符号链接这些“假”文件。

    这样可以很容易地:

    1. 如果出现问题,请轻松重新开始测试。
    2. 玩弄不重要的文件(不想冒丢失实际数据的风险)。

    【讨论】:

      【解决方案3】:
      • 使用简单的测试“主题”来测试脚本是否有效
      • 稍后放入项目、代码和其他内容。
      • 将其用作示例或表示信息。

      【讨论】:

        【解决方案4】:

        我用:

         touch __init__.py
        

        我一直在一个目录中导入自定义 python 模块、数据文件(csv、txt 等)等。


        说明:

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

         from lib import somefile
        

        并且在目录lib中有一个名为__init__.py的空白文件

        【讨论】:

          【解决方案5】:

          它可以用于锁定文件,或者当您需要的数据在文件名本身时。例如,我曾经触摸一个名为“/.MYCOMPUTER_ROOT_2015_AUG_3”的文件(例如),以便当我将“mycomputer”上的根分区备份到磁带时,我可以知道我正在阅读哪个磁带。

          【讨论】:

            【解决方案6】:

            对于偏执的系统管理员。

            要编写一个 shell 脚本,在具有多个并发用户的系统上执行具有提升权限的命令(例如 root 用户),并且您希望在您之前保护您的 shell 脚本免受意外(或恶意)使用'完全完成了它。然后你做:

            • touch script.sh -> 创建一个空文件,它什么都不做,也无法执行,因为它没有设置+x,所以没有人可以做任何有害的事情。
            • chown 和 chmod 文件,以确保只有正确的用户才能使用它。
            • 只有这样你才能开始 vi 或 emacs 或 nano 或其他任何东西来编写你非常强大的 shell 脚本。

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

            编辑:一个更好的例子是带有超级机密凭据的文件,例如带有aws_secret_access_key 的~/.aws/credentials 文件。 如果你先在文件中写入凭据,然后chmod 他们,那么在这之间的几秒钟内,有人可能会窃取你的文件。 如果你在有任何内容之前先chmod,那么你是安全的(r)。

            【讨论】:

              猜你喜欢
              • 2019-05-28
              • 2012-12-23
              • 2011-12-24
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2021-11-13
              • 1970-01-01
              • 2016-04-10
              相关资源
              最近更新 更多