为什么要创建一个空文件?
Why would one create an empty file?
我在观看有关 Terminal
的视频时看到命令:touch
它是这样的:
user$ touch testfile
user$ ls
Documents Photos Music testfile
所以我无法回答自己:
Why one would want to create an empty file?
如果可以的话,请列出它的一些适用性!
- 表示没有实例的信息集合。
- 当文件存在或不存在是最重要的时候
我将举一个实际的例子,说明几天前我在Ubuntu中刚刚使用空文件时的情况。我在 C
中创建了一个程序,它可以对文件、目录和整个文件目录进行符号链接。完成所有编码后,我制作了一个简单的 shell .sh
脚本,它创建了一个 "mock" 目录结构。包括空文件和目录,这样我就可以测试我的程序符号链接这些 "fake" 文件。
这样可以轻松地:
- 如果出现问题,请轻松重新开始测试。
- 摆弄不重要的文件(不想冒丢失实际数据的风险)。
- 使用简单的测试来测试脚本是否有效"Subject"
- 稍后放入物品、代码和其他东西。
- 将其用作示例或代表信息。
我使用:
touch __init__.py
我一直在一个目录中导入自定义 python 模块、数据文件(csv、txt 等)等。
解释:
在Python中,当要导入另一个文件夹中的模块时,目标文件夹需要一个__init__.py
文件(可以是完全空的)。
即
from lib import somefile
并且在目录 lib 中有一个名为 __init__.py
的空白文件
它可以用于锁定文件,或者当您需要的数据在文件名本身中时。例如,我曾经 touch 一个名为“/.MYCOMPUTER_ROOT_2015_AUG_3”的文件(例如),这样当我将 "mycomputer" 上的根分区备份到磁带时,我可以知道我正在读取哪个磁带。
对于偏执的系统管理员。
要编写 shell 脚本,在具有多个并发用户的系统上以提升的权限(例如 root
用户)执行命令,并且您想保护您的 shell 在你完全使用它之前防止意外(或恶意)使用的脚本。然后你做:
touch script.sh
-> 创建一个空文件,该文件什么都不做且无法执行,因为它没有设置 +x
,所以没有人可以做任何有害的事情。
chown
和 chmod
文件,以确保只有正确的用户才能对其执行任何操作。
- 然后你才开始
vi
或 emacs
或 nano
或其他任何东西来编写你非常强大的 shell 脚本。
如果您在 chown
/chmod
写入文件后执行此操作,那么其他人可能已经用它做了坏事。
编辑:一个更好的例子是带有超级机密凭证的文件,例如带有 aws_secret_access_key
的 ~/.aws/credentials
文件。
如果您先在文件中写入凭据,然后 chmod
他们,那么在这几秒钟之间,有人可能会窃取您的文件。
如果你先chmod
之前有任何内容,那么你是安全的(r)。
我在观看有关 Terminal
touch
它是这样的:
user$ touch testfile
user$ ls
Documents Photos Music testfile
所以我无法回答自己:
Why one would want to create an empty file?
如果可以的话,请列出它的一些适用性!
- 表示没有实例的信息集合。
- 当文件存在或不存在是最重要的时候
我将举一个实际的例子,说明几天前我在Ubuntu中刚刚使用空文件时的情况。我在 C
中创建了一个程序,它可以对文件、目录和整个文件目录进行符号链接。完成所有编码后,我制作了一个简单的 shell .sh
脚本,它创建了一个 "mock" 目录结构。包括空文件和目录,这样我就可以测试我的程序符号链接这些 "fake" 文件。
这样可以轻松地:
- 如果出现问题,请轻松重新开始测试。
- 摆弄不重要的文件(不想冒丢失实际数据的风险)。
- 使用简单的测试来测试脚本是否有效"Subject"
- 稍后放入物品、代码和其他东西。
- 将其用作示例或代表信息。
我使用:
touch __init__.py
我一直在一个目录中导入自定义 python 模块、数据文件(csv、txt 等)等。
解释:
在Python中,当要导入另一个文件夹中的模块时,目标文件夹需要一个__init__.py
文件(可以是完全空的)。
即
from lib import somefile
并且在目录 lib 中有一个名为 __init__.py
它可以用于锁定文件,或者当您需要的数据在文件名本身中时。例如,我曾经 touch 一个名为“/.MYCOMPUTER_ROOT_2015_AUG_3”的文件(例如),这样当我将 "mycomputer" 上的根分区备份到磁带时,我可以知道我正在读取哪个磁带。
对于偏执的系统管理员。
要编写 shell 脚本,在具有多个并发用户的系统上以提升的权限(例如 root
用户)执行命令,并且您想保护您的 shell 在你完全使用它之前防止意外(或恶意)使用的脚本。然后你做:
touch script.sh
-> 创建一个空文件,该文件什么都不做且无法执行,因为它没有设置+x
,所以没有人可以做任何有害的事情。chown
和chmod
文件,以确保只有正确的用户才能对其执行任何操作。- 然后你才开始
vi
或emacs
或nano
或其他任何东西来编写你非常强大的 shell 脚本。
如果您在 chown
/chmod
写入文件后执行此操作,那么其他人可能已经用它做了坏事。
编辑:一个更好的例子是带有超级机密凭证的文件,例如带有 aws_secret_access_key
的 ~/.aws/credentials
文件。
如果您先在文件中写入凭据,然后 chmod
他们,那么在这几秒钟之间,有人可能会窃取您的文件。
如果你先chmod
之前有任何内容,那么你是安全的(r)。