不同的文件类型有何不同?

时间:2013-11-16 22:45:01

标签: file unix jpeg file-type

到目前为止,我明白了:

  • 文件在其“标题”中包含一些信息,程序使用这些信息来检测文件类型。

    1. 总是如此吗?如果是这样,我怎么能看到标题?

        

      这是定义文件类型的唯一方法吗?

    2. 有没有办法手动创建一个没有标题的空文件(至少在Linux中)?

    3. 如果是这样,我可以手动编写其标题并创建一个简单的'jpg'文件

2 个答案:

答案 0 :(得分:1)

  1. 不,文件只有字节和一些元数据,如文件名,权限,上次修改时间。这些字节的格式是完全免费的,没有约定。当然,一些文件类型,如jpeg,gif,音频和视频文件,都有以其格式指定的标题。查看标题完全取决于所涉及的格式。它们通常由对人眼无意义的字节代码组成,因此通常需要一些软件来解码和查看它们。

  2. 是肯定的。

    触摸emptyFile

  3. 听起来很痛苦。使用库来编写jpeg。标题不一定容易创建。其他人为你做了这项艰苦的工作,所以我会用它。

答案 1 :(得分:0)

文件只不过是一个字节序列,它没有默认的内部结构。它是操作系统的一个抽象,使得存储和操作数据更加方便。

文件可能代表不同类型的内容,例如图片,视频,音频和纯文本,因此需要以某种方式解释以便与其内容进行交互。例如;在图像查看器中打开图像,在PDF查看器中打开PDF文档;在媒体播放器中打开音频文件。这并不意味着您无法在文本编辑器中打开图像 - 文件的内容只会以不同的方式进行解释。

在UNIX和Linux中最接近文件元数据的是inode - 它存储有关文件的信息,但不是文件本身的一部分 - 以及文件{{3} }。使用stat检查inode并使用file确定其类型(有时基于其幻数)。

另请查看man file以获取有关文件类型的更多信息。