一:file命令
file
命令可以识别文件类型。 ???? ??????? ?? ??? ????? ??? ?? ???? ????:
file [文件路径]
例如,要判断文件 test.txt
是否是文本,运行:
file test.txt
如果文件是文本,输出将包含 text
。
二:strings命令
strings
命令可以从二进制文件中提取可打印的字符串。 ???? ??????? ?? ??? ????? ??? ?? ???? ????:
strings [文件路径]
如果文件是文本,输出将包含可识别的文本。 如果文件不是文本,输出将是不可读的。
三:wc命令
wc
命令可以计算文件的行数、单词数和字节数。 ???? ??????? ?? ??? ????? ??? ?? ???? ????:
wc -m [文件路径]
-m
选项输出字节数。 如果文件是文本,字节数将与文件大小相同。 如果文件不是文本,字节数将小于文件大小。
四:head命令
head
命令显示文件的开头。 ???? ??????? ?? ??? ????? ??? ?? ???? ????:
head [文件路径]
如果文件是文本,输出将包含文件的开头几行。 如果文件不是文本,输出将是不可读的。
五:使用Perl脚本
Perl脚本可以用于判断文件是否是文本。 以下是这样的脚本:
!/usr/bin/perl
use strict;
use warnings;
open(FH, '<', $ARGV[0]) or die $!;
binmode FH;
my $buf = do { local $/;
}; close(FH);
if ($buf =~ /^.{1000}/s) {
print "The file is likely text.\n";
} else {
print "The file is likely binary.\n";
}
要使用此脚本,请将其保存为 is_text.pl
并运行以下命令:
perl is_text.pl [文件路径]