- package main
-
- import (
- "flag"
- "log"
- "os"
-
- "github.com/rakyll/magicmime"
- )
-
- func main() {
- var (
- path string
- )
- flag.StringVar(&path, "file", "", "文件名")
- flag.Parse()
- if err := magicmime.Open(magicmime.MAGIC_MIME_TYPE | magicmime.MAGIC_SYMLINK | magicmime.MAGIC_ERROR); err != nil {
- log.Fatal(err)
- }
- defer magicmime.Close()
-
- buf := make([]byte, 64)
- f, err := os.Open(path)
- f.Read(buf)
- mimetype, err := magicmime.TypeByBuffer(buf)
- if err != nil {
- log.Fatalf("error occured during type lookup: %v", err)
- }
-
- log.Printf("mime-type: %v", mimetype)
- }
先安装依赖sudo apt-get install libmagic-dev
编译后,运行:
perl脚本
# ./main -file ./test.pl
2022/08/03 11:36:41 mime-type: text/x-perl
可执行文件:
./main -file ./main
2022/08/03 11:36:24 mime-type: application/x-executable