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

File 为什么要创建一个空文件?,file,unix,file-io,terminal,File,Unix,File Io,Terminal,我在观看有关终端的视频时看到命令:touch 有点像: user$ touch testfile user$ ls Documents Photos Music testfile 所以我无法回答自己: 为什么要创建一个空文件 如果可以的话,请列一个简短的清单,列出它的一些适用性 表示没有实例的信息集合 当文件的存在或不存在才是最重要的时候 我将给出一个实用的例子,说明几天前我刚刚在Ubuntu中使用了空文件。我在C中创建了一个程序,可以对文件、目录和整个文件目录进行符号链接。在我完成所有的编

我在观看有关
终端的视频时看到命令:
touch

有点像:

user$ touch testfile
user$ ls
Documents Photos Music testfile
所以我无法回答自己:

为什么要创建一个空文件

如果可以的话,请列一个简短的清单,列出它的一些适用性

  • 表示没有实例的信息集合
  • 当文件的存在或不存在才是最重要的时候

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

这使得:

  • 如果某项测试不起作用,请轻松重新开始测试
  • 玩弄无关紧要的文件(不想冒丢失实际数据的风险)
    • 使用简单的测试“Subject”测试脚本是否工作
    • 稍后将项目、代码和其他内容放入
    • 用它作为例子或表示信息
    我使用:

     touch __init__.py
    
    在一个目录中,我一直在从导入自定义python模块、数据文件(csv、txt等)等


    说明:

    在Python中,当您想要在另一个文件夹中导入模块时,目标文件夹需要一个
    \uuuu init\uuuu.py
    文件(可以完全为空)
    i、 e.

     from lib import somefile
    

    在目录库中有一个名为
    \uuu init\uuuupy.py
    的空白文件,它可以用于锁定文件,或者当您需要的数据位于文件名本身时。例如,我曾经触摸一个名为“/.MYCOMPUTER\u ROOT\u 2015\u AUG\u 3”的文件(例如),这样当我将“MYCOMPUTER”上的根分区备份到磁带时,我就可以知道我正在读哪个磁带。

    对于偏执的系统管理员来说

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

    • touch script.sh
      ->创建一个空文件,该文件不做任何事情,并且无法执行,因为它没有设置
      +x
      ,因此任何人都不能做任何有害的事情
    • chown
      chmod
      文件,以确保只有正确的用户才能对其执行任何操作
    • 只有这样,您才能开始编写非常强大的shell脚本
    如果您在编写文件后执行
    chown
    /
    chmod
    ,那么其他人可能已经对它做了坏事

    编辑:更好的示例是具有超级机密凭据的文件,例如您的
    ~/.aws/CREDENTIALS
    文件具有
    aws\u SECRET\u access\u key
    。 如果您先在文件中写入凭据,然后
    chmod
    它们,那么在这几秒钟之间,可能有人会窃取您的文件。
    如果您
    chmod
    在有任何内容之前,首先执行,则您是安全的(r)。

    touch命令不仅创建空文件,而且还更改现有文件的时间戳-请参阅此处的详细信息这对于Stack Exchange站点来说可能是一个更好的问题,因为它不是真正的编程问题。