当前位置 博文首页 > 一天一个shell命令 linux文本系列-file命令用法

    一天一个shell命令 linux文本系列-file命令用法

    作者:admin 时间:2021-07-08 18:44

    linux file 命令简介:

    该命令用来识别文件类型,也可用来辨别一些文件的编码格式。它是通过查看文件的头部信息来获取文件类型,而不是像Windows通过扩展名来确定文件类型的。

    更多介绍可以查看这篇文章:http://blog.iis7.com/LINUXjishu/388984.html

    file 官方解释:Determine type of FILEs. 判定文件的类型。

    小知识:在UNIX/Linux系统中,文件类型并不是由扩展名决定的(Windows是的)。

    开篇例子:

    1. $file file.txt

    输出:file.txt: ASCII English text

    注:file.txt是我用file –help > file.txt生成的帮助文档

    查看—help

    复制代码 代码如下:

    Usage: file [OPTION...] [FILE...]
     Determine type of FILEs.
    --help   display this help and exit
    -v, --version   output version information and exit
     -m, --magic-file  LIST  use LIST as a colon-separated list of magic
     number files
    -z, --uncompress   try to look inside compressed files
    -b, --brief    do not prepend filenames to output lines
     -c, --checking-printout   print the parsed form of the magic file, use in
    conjunction with -m to debug a new magic file before installing it
     -e, --exclude TEST   exclude TEST from the list of test to be performed for file. Valid tests are: ascii, apptype, compress, elf, soft, tar, tokens, troff
     -f, --files-from FILE   read the filenames to be examined from FILE
    -F, --separator STRING   use string as separator instead of `:'
    -i, --mime  output MIME type strings (--mime-type and
     --mime-encoding)
    --apple  output the Apple CREATOR/TYPE
     --mime-type  output the MIME type
    --mime-encoding  output the MIME encoding
     -k, --keep-going  don't stop at the first match
     -l, --list  list magic strength
     -L, --dereference  follow symlinks (default)
    -h, --no-dereference  don't follow symlinks
     -n, --no-buffer  do not buffer output
     -N, --no-pad  do not pad output
     -0, --print0  terminate filenames with ASCII NUL
    -p, --preserve-date  preserve access times on files
    -r, --raw  don't translate unprintable chars to \ooo
    -s, --special-files  treat special (block/char devices) files as ordinary ones
     -C, --compile  compile file specified by -m
     -d, --debug  print debugging messages

    解读:

    1. -z

    查看压缩文件内的信息

    2. -b, -e, -i, –r

    -b 去掉输出行的前缀命名
    -e 从测试列表到被执行文件排除测试。有效的测试包括:ascii, apptype, compress, elf, soft, tar,
    -i 打印MIME
    -R 不转译无法打印的字符为\ooo

    3. magic file

    以mgc为扩展名的文件,Microsoft office媒体目录文件

    实战实例:

    1. $file -z file.zip
    查看file.zip包中的文件信息

    2. $file –i file.txt
    out:file.txt: text/plain; charset=us-ascii

    打印MIME类型
     
    $file file.txt
    out:file.txt: ASCII English text

    3. magic file

    我翻译起来实在蹩脚。。 只能猜测查看$which file 看看,没有收获。最终通过$file得到

    Usage: file  [-bchikLlNnprsvz0] [--apple] [--mime-encoding] [--mime-type]
           [-e testname] [-F separator] [-f namefile] [-m magicfiles] file ...
     file  -C [-m magicfiles]
     file  [--help]

    然后尝试file –C 得到magic.mgc文件。。。 不知有何用,惭愧

    Usage: file [OPTION...] [FILE...]
    Determine type of FILEs.

          --help                 display this help and exit
      -v, --version              output version information and exit
      -m, --magic-file LIST       以冒号分割的魔法数字清单作为列表
                               
      -z, --uncompress           查看压缩文件内容
      -b, --brief                不前缀文件名到输出行里
      -c, --checking-printout    打印魔法文件的解析格式,安装前,用-m debug一个新的魔法文件
                                 
      -e, --exclude TEST         排除测试从测试列表到执行文件。有效的测试:ascii, apptype, compress, elf, soft, tar, tokens, troff
      -f, --files-from FILE      从已查的文档中读取文件名
      -F, --separator STRING     用String作为分隔器 代替 “:”
      -i, --mime                 输出MIME类型的字符串 (--mime-type and
                                   --mime-encoding)
             
          --apple                输出苹果类型 CREATOR/TYPE
          --mime-type            打印MIME类型
          --mime-encoding        打印 MIME 编码
      -k, --keep-going           不停留在第一个匹配
      -l, --list                 列出magic深度
      -L, --dereference          跟随符号链接(缺省)
      -h, --no-dereference       不跟随符号链接
      -n, --no-buffer            不缓冲输出
      -N, --no-pad               不打印输出
      -0, --print0               NUL终止文件
      -p, --preserve-date        保持文件上的原访问时间
      -r, --raw                  不转移不可打印的字符到\ooo
      -s, --special-files        把特殊(块/字符 设备)文件作为普通文件对待
      -C, --compile              编译用-m指定的文件
      -d, --debug                打印调试信息

    Report bugs to http://bugs.gw.com/

    jsjbwy
    下一篇:没有了