Linux 中的文件命令:5 个基本示例
以下是 Linux 中文件命令的各种示例,用于确定文件的实际类型并收集相关信息。
您已经了解了在 Linux 中创建文件的命令。您还见过 Linux 中删除文件的命令。本篇我们就来说说file命令。
Linux 和 Unix 中的文件命令是什么?
如何识别文件的类型?让我猜一下,通过它的扩展,对吧?我的意思是,如果您看到名为 MyData.csv 的文件,您就会猜测该文件是 CSV 格式。您可以通过查看文件内容来确定这一点。
但Linux和Unix中的文件扩展名没有实际意义。您可以命名一个 csv 文件、一个 zip 文件。您可以选择根本不使用任何扩展。
在这种情况下,file 命令会派上用场。 Linux 中的 file 命令确定文件的实际类型,无论其扩展名是什么。
它的语法很简单,只有几个选项:
file [option] filename
现在您已经了解了语法,让我们看看如何使用 file 命令。
Linux 中的文件命令示例
最简单的形式是,您可以使用带文件名或文件路径的 file 命令,它将显示文件的类型。
file filename
这是一个例子:
abhishek@linux:~/$ file cpluplus.cpp
cpluplus.cpp: C++ source, ASCII text
让我们看看可以使用它及其选项的其他一些方法。
从输出中删除文件名
您可以使用选项-b,输出将仅显示文件类型,省略文件名。它在脚本编写中可能很有用。
file -b filename
看一下您之前看到的相同示例:
abhishek@linux:~/$ file -b cpluplus.cpp
C++ source, ASCII text
获取文件的mime类型
您还可以通过 -i 选项显示文件的 MIME 类型。
file -i filename
以下是视频文件上的命令示例,包含或不包含 MIME 类型信息:
abhishek@linux:~/$ file my_video.mp4
my_video.mp4: ISO Media, MP4 v2 [ISO 14496-14]
abhishek@linux:~/$ file -i my_video.mp4
my_video.mp4: video/mp4; charset=binary
您可以组合 -b 和 -i 选项。
获取存档文件内文件的文件类型信息
如果您对目录进行 gzip 压缩,现在您就有了一个压缩文件。您可以使用 -z 选项检查未压缩的内容来决定文件类型。
file -z compressed_file
让我向您展示一个带有和不带有 -z 选项的示例:
abhishek@linux:~/$ file author-pro.zip
author-pro.zip: Zip archive data, at least v2.0 to extract
abhishek@linux:~/$ file -z author-pro.zip
author-pro.zip: PHP script, ASCII text (Zip archive data, at least v2.0 to extract)
对多个文件使用 file 命令
文件命令可以同时对多个文件运行。
file file1 file2 file3
这是一个示例,以便您可以看到它的实际效果:
abhishek@linux:~/$ file cpluplus.cpp agatha.txt bash_script.sh
cpluplus.cpp: C++ source, ASCII textagatha.txt: ASCII text
bash_script.sh: Bourne-Again shell script, ASCII text executable
将文件命令与正则表达式一起使用
如果要对多个文件使用 file 命令,则不必总是提供所有文件名。您可以使用正则表达式代替。
如何使用它完全取决于您的要求和想象力。尽管如此,我还是会举一些例子。
如果要显示当前目录中所有文件的文件类型,只需使用以下命令:
file *
如果你想显示所有具有特定扩展名的文件的文件类型,你也可以这样做:
file *.txt
可能性是无止境。想要显示名称以“a”开头的文件的文件类型?用这个:
file [a]*
您可以与 file 命令一起使用的其他选项
以下是您可以使用的文件命令的其他一些选项:
-L :跟踪符号链接并报告目标文件的类型
-f file_name :从给定的 file_name 中逐行读取文件名并报告其文件类型
还有一些其他选项,但我相信您已经了解了 Linux 文件命令的所有基本示例。如果您有疑问或建议,请在评论部分告诉我。