了解Linux文件命令语法,Linux文件命令的使用方法

在类 UNIX 系统中,文件名可能与其实际类型完全不同。在某些情况下,它们甚至没有有效的扩展名。因此,它会使数据管理变得更加复杂。为了方便地组织信息,Linux 提供了一个名为文件命令的程序。它主要用于确定文件类型——美国信息交换标准代码 (ASCII) 文本或多用途 Internet 邮件扩展 (MIME) 格式。在本教程中,您将了解使用该程序的基础知识以及它如何增强您的服务器管理和 Linux 操作技能。

了解Linux文件命令语法,Linux文件命令的使用方法-南华中天

了解 Linux 文件命令语法

要在VPS 主机上使用 Linux 文件命令,您必须将它与 SSH 客户端(例如 PuTTY 或终端)连接。

在开始之前,我们先分析一下file命令的基本语法:

文件 [选项] [文件名]

  • file – 指示 shell 执行文件命令。
  • [options] – 修改命令的操作。
  • [文件名] – 插入您要检查的文件名。

执行时,该命令不考虑文件扩展名。相反,它会运行三个测试来确定文件类型:

  • 文件系统测试——检查 stat 系统调用的返回。该程序会检查它是空文件还是特殊文件类型。它还会查找与您使用的系统相关的已知格式(如果它们在系统头文件中指定)。
  • 魔术测试——使用魔术数字,文件开头的一串短数字,来检查它是否是二进制可执行数据。如果是,程序将确定它的类型。运行此测试的必要信息可从已编译的魔术文件中的/etc/magic或/usr/share/misc/magic中获得。
  • 语言测试——检查写入文件的字符集,例如 ASCII 文本或 UTF-8。它还会查找出现在前几行中的任何特殊序列。但是,此测试不如前两个测试准确,因此最后执行。

命令的输出使用标准格式显示文件类型。根据命令选项,它可能会提供其他信息,例如压缩文件中存储的数据、大小或版本。

在练习命令选项之前,使用 nano 编辑器创建一个名为test.txt的示例文本:

纳米测试.txt

命令行打开新文件后,写几行文本并按Ctrl + X和Y退出并保存更改。

输入Linux文件命令查看test.txt文件是否创建成功:

文件测试.txt

输出将显示创建了一个ASCII文本文件:

了解Linux文件命令语法,Linux文件命令的使用方法-南华中天

Linux 文件命令的使用方法

语法中的选项允许您将变量添加到 Linux 文件命令。以下是一些最常见的:

  • -b或–brief – 获取文件类型的简短描述。
  • file * – 列出当前工作目录中的所有文件类型。
  • -i或–mime – 显示 MIME 文件类型。
  • -s或–special-files – 读取特殊文件。
  • -z或–uncompress –检查并显示压缩文件中的信息。
  • -c 或 –checking-printout –检查魔法文件的解析版本。
  • -m或–magic-file – 利用用户提供的替代魔法文件。
  • -d – 使用标准格式显示内部调试信息。
  • <regex range> – 获取特定范围内的文件类型。
  • -0或–print0 – 在文件名末尾打印一个空字符。
  • –help – 显示文件命令的帮助信息。它还列出了可接受的选项及其用法。

在以下部分中,我们将讨论如何使用这些选项中的每一个。

检查文件类型

在 Linux 中,虽然用户可以重命名他们的文件,但更新后的信息可能并不代表实际数据。要查找正确的文件类型,请输入:

文件文件名

例如,您将test.txt重命名为text.zip。要显示有效的文件类型,请输入:

文件正文.zip

输出将显示名称及其实际类型,一个 ASCII 文本文件:

了解Linux文件命令语法,Linux文件命令的使用方法-南华中天

要以简要模式查看格式,请在终端上使用-b选项,后跟文件名。例如:

文件 -b 文本.zip

输出将显示 不带名称的文件类型:

了解Linux文件命令语法,Linux文件命令的使用方法-南华中天

列出多个文件的文件类型

file 命令可以列出主目录中的每种文件类型。为此,输入文件并添加通配符 ( * ):

文件 *

该程序将显示所有文件和目录:

了解Linux文件命令语法,Linux文件命令的使用方法-南华中天

此外,文件命令可以显示特定目录中的每种文件类型。这是一般语法:

文件 [目录路径]/*

查找 MIME 文件类型

-i选项用于查看MIME 文件类型。它由两部分组成——类型和子类型。MIME 使用斜杠 (/) 将它们分开,中间没有空格。

这是一般语法:

file -i 文件名

例如,要查看test2.txt文件的 MIME 类型,请输入:

文件-i test2.txt

这是上面文件命令的输出:

了解Linux文件命令语法,Linux文件命令的使用方法-南华中天

该程序没有将文件格式声明为 ASCII 文本,而是将文件定义为text/plain和charset=us-ascii。

读取特殊文件类型

文件命令允许您通过添加-s选项来读取特殊文件,例如系统信息。

重要的!请记住,只有 root 用户才能使用 -s 选项运行文件命令。否则,您将收到一条无读取权限错误消息。

此选项仅将文件分类为块特殊文件、符号链接、目录或不存在。

这是它的一般格式:

sudo file -s 文件名

例如,要读取ploop19269文件,请输入:

sudo 文件 -s /dev/ploop19269

输出表明ploop19269是 DOS/MBR 引导扇区。

了解Linux文件命令语法,Linux文件命令的使用方法-南华中天

读取压缩文件

有两种方法可以检查压缩文件,如ZIP或gzip档案,-z和-Z选项。前者显示详细信息及其内容,而后者仅显示文件类型。

这是-z选项的一般语法:

file -z 文件名

例如,要读取test2.txt.gz文件的完整数据,请输入:

文件-z test2.txt.gz

输出指定test2.txt.gz是一个包含test2.txt 的gzip压缩文件:

了解Linux文件命令语法,Linux文件命令的使用方法-南华中天

这是-Z选项的一般格式:

file -Z 文件名

例如,要仅查看test.gz的文件类型,请输入:

文件-Z test.gz

此命令只会打印出test.gz中文件的类型——ASCII 文本。

了解Linux文件命令语法,Linux文件命令的使用方法-南华中天

测试文件的解析版本

添加-c选项允许您查看任何文件的解析版本。它显示类型、操作码和值等信息。通常,它与-m选项结合使用以在安装前调试新的魔术文件。

这是它的一般语法:

file -c 文件名

例如,要打印test.txt文件的解析形式,请输入:

文件-c test.txt

输出应如下所示:

了解Linux文件命令语法,Linux文件命令的使用方法-南华中天

列出文件类型

file 命令使用 Regex 样式范围列出目录中的所有文件类型。键入文件并将值放在方括号中,然后是*。

它的一般语法是:

文件 [范围 1-范围 2]*

例如,要检查从a到z范围内的文件,请输入:

文件 [az]*

输出应如下所示:

了解Linux文件命令语法,Linux文件命令的使用方法-南华中天

由于此程序区分大小写,因此输出将仅显示以小写字母 a 到 z 开头的文件。要包括大写字符,请添加另一个范围。例如:

文件 [az]* [AZ]*

输出如下所示:

了解Linux文件命令语法,Linux文件命令的使用方法-南华中天

结论

在 UNIX 系统中,文件名和扩展名可能与其实际类型不同。因此,Linux 提供了 file 命令来帮助用户判断文件的类型。

执行时,使用适当的选项并指定文件名。有许多可接受的变量可与文件命令一起使用,例如:

  • -c – 测试文件的解析形式。
  • -i – 查找 MIME 类型。
  • * – 列出多个文件。
  • -z – 读取压缩内容。

我们希望本文能帮助您了解如何使用 Linux 文件命令管理数据。如果您有任何问题或建议,请将其留在下面的评论部分。