Shell Detector: 检测文件类型的利器
是一个轻量级的命令行工具,旨在帮助用户快速检测各种文件类型。它基于强大的 file(1) 命令,并在其中增加了许多实用功能,使得文件类型检测变得更加简单易用。
功能介绍
快速检测文件类型
Shell Detector 可以通过简单的命令行参数快速地检测文件类型,而无需打开文件。只需输入以下命令:
$ shdetector file-to-check
即可获得如下的输出结果:
file-to-check: gzip compressed data, from Unix, original size modulo 2^32 596046
这表明 file-to-check
文件是一个 Gzip 压缩文件,原始大小为 596046
字节。
支持多种文件类型
Shell Detector 支持检测包括文本、图像、音频、视频等在内的众多文件类型,并且可以自动识别压缩文件中的内部文件类型。例如,下面的命令将会检测一个 ZIP 压缩包内的所有文件类型:
$ shdetector archive.zip
archive.zip:Zip archive data, at least v2.0 to extract
archive.zip/README.txt:ASCII text
archive.zip/image.jpg:JPEG image data, JFIF standard 1.01
archive.zip/audio.mp3:MPEG ADTS, layer III, v1, 192 kbps, 48 kHz, stereo
这表明 archive.zip
是一个 ZIP 压缩包,其中包含一个文本文件、一个 JPEG 图像文件和一个 MP3 音频文件。
支持自定义规则
除了默认支持的文件类型外,Shell Detector 还允许用户自定义文件类型检测规则。只需将自定义规则放入 $HOME/.config/shdetector/rules.d/
目录下即可生效。 例如,以下是一条自定义规则,用于检测 PDF 文档是否含有恶意代码:
#!/bin/bash
if [[ "$1" =~ ^.*\.pdf$ ]]; then
# 检测 PDF 文档是否存在恶意代码
if pdfgrep -q "malware" "$1"; then
echo "$1: PDF document contains malicious code"
else
echo "$1: PDF document"
fi
else
:
fi
该规则将检查文件名中是否包含 .pdf
扩展名,如果是,则通过 pdfgrep 工具检查文档内是否含有恶意代码。
使用场景
Shell Detector 的应用场景非常广泛,以下是几个典型的例子:
- 查看压缩包内的文件类型,以便决定如何解压或处理它们。
- 在数据传输或备份过程中,验证文件类型是否符合预期,避免意外的数据损坏或损失。
- 对于需要进行特定类型文件处理的任务(比如图片转换或音乐剪辑),可以通过文件类型检测来筛选出符合要求的文件。
总之,无论您是开发人员、系统管理员还是普通用户,都可以借助 Shell Detector 轻松完成文件类型检测任务。
特点
- 简单易用的命令行界面,支持一键检测文件类型。
- 支持多