前言

file命令可以获取多种文件类型,包括文本文件、脚本文件、源码文件、多媒体文件(音频视频)等。file是通过查看文件的头部内容,来获取文件的类型,而不像Window那样是通过扩展名来确定文件类型的。

命令用法

-z 获取压缩文件的类型(不能是用tar打包过的),比如gzip、zip等压缩过的

-L 获取软链所指向的文件的类型

-f 指定文件列表参数,获取该列表里面的所有文件的类型

常见用法

file FileName

 1: [root@master lianxi]# file test 
 2: test: ASCII text
 1: [root@master lianxi]# > 1
 2: [root@master lianxi]# file 1
 3: 1: empty

file使用通配符,获取多个文件的类型

file *.lua (以.lua结尾的文件)

 1: [root@master lianxi]# file *.lua
 2: 2.lua: ASCII text
 3: 3.lua: ASCII text
 4: 4.lua: ASCII text

数据文件类型(某些程序专用的数据格式)

 1: [root@master lianxi]# file /var/log/lastlog 
 2: /var/log/lastlog: data

Python脚本文件

 1: [root@master lianxi]# file print.py 
 2: print.py: a /bin/python  script text executable

-z 参数,可以获取用gzip、zip压缩过的文件的类型

 1: [root@master lianxi]# gzip print.py 
 2: [root@master lianxi]# ls print.py.gz 
 3: print.py.gz
 4: [root@master lianxi]# zip -r print.py.zip print.py.gz 
 5: adding: print.py.gz (stored 0%)
 6: [root@master lianxi]# ls print.py.zip 
 7: print.py.zip
 8: [root@master lianxi]# file print.py.*
 9: print.py.gz:  gzip compressed data, was "print.py", from Unix, last modified: Fri Jun 14 20:48:14 2013
 10: print.py.zip: Zip archive data, at least v1.0 to extract

-L 获取软链指向的文件的类型。默认是返回软链本身类型

 1: [root@master lianxi]# ln -s test test.soft
 2: [root@master lianxi]# ls -l test*
 3: -rw-r--r-- 1 root root 25 Jun 14 20:09 test
 4: lrwxrwxrwx 1 root root  4 Jun 14 20:51 test.soft -> test
 5: [root@master lianxi]# file test.soft 
 6: test.soft: symbolic link to `test'
 7: [root@master lianxi]# file -L test.soft 
 8: test.soft: ASCII text
 9: [root@master lianxi]# 

-f 获取一个文件名列表的所有文件的类型。1)注意路径是否正确 2)每行一个文件名

 1: [root@master dir]# ls
 2: 1  2  3
 3: [root@master dir]# ls > a
 4: [root@master dir]# cat a
 5: 1
 6: 2
 7: 3
 8: a
 9: [root@master dir]# file -f a
 10: 1: ASCII text
 11: 2: ASCII text
 12: 3: empty
 13: a: ASCII text

特殊说明

1)在Window中,Windows系统对文件系统文件的标识是通过其扩展名。但是Windows上的程序自己也可以通过文件内容来判断文件内容类型

2)file 是通过读取文件头部内容,来获取文件类型,比如BASH脚本文件以#!/bin/bash 或Python脚本以#!/bin/python等,file读取其头部信息判断类型。

3)file可以辨识的文件类型很多,文本文件、脚本文件、数据文件、多媒体文件等。

总结

file命令,获取文件类型。

linux命令详解:file命令的更多相关文章

  1. (转)Linux命令详解-file

    Linux命令详解-file 原文:https://www.cnblogs.com/Dodge/p/4278306.html file命令用来识别文件类型,也可用来辨别一些文件的编码格式.它是通过查看 ...

  2. linux shell 脚本攻略学习14--head命令详解,tail命令详解

    当要查看上千行的大文件时,我们可不会用cat命令把整个文件内容给打印出来,相反,我们可能只需要看文件的一小部分地内容(例如文件的前十行和后十行),我们也有可能需要打印出来前n行或后n行,也有可能打印除 ...

  3. linux shell 脚本攻略学习13--file命令详解,diff命令详解

    一.file命令详解 find命令可以通过查看文件内容来找出特定类型的文件,在UNIX/ Linux系统中,文件类型并不是由文件扩展名来决定的(windows中却正是这么做的),file命令的目的是从 ...

  4. linux shell 脚本攻略学习 -- head命令详解, tail命令详解

    当要查看上千行的大文件时,我们可不会用cat命令把整个文件内容给打印出来,相反,我们可能只需要看文件的一小部分地内容(例如文件的前十行和后十行),我们也有可能需要打印出来前n行或后n行,也有可能打印除 ...

  5. [转]dd命令、cp命令详解+dd命令、cp命令对比 ---delong

    出处:http://blog.csdn.net/sun_app/article/details/18263299 1.dd命令详解 1)中文man手册dd的解释 NAME       dd - 转换和 ...

  6. Linux命令详解-file

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

  7. linux命令大全之watch命令详解(监测命令运行结果)

    watch是一个非常实用的命令,基本所有的Linux发行版都带有这个小工具,如同名字一样,watch可以帮你监测一个命令的运行结果,省得你一遍遍的手动运行.在Linux下,watch是周期性的执行下个 ...

  8. linux系统find命令详解+xargs命令 、exec命令

    find 作用:查找文件 1.name: 指定文件名 例子1. 找到以du结尾的文件 ╭─root@localhost.localdomain ~ ╰─➤ find / -name "*du ...

  9. linux命令详解:df命令

    转:http://www.cnblogs.com/lwgdream/p/3413579.html 前言 df命令用来查看系统的space和inode使用情况,也是常用命令之一 使用说明 -a 显示所有 ...

  10. tar 命令详解 / xz 命令

    ]# tar [-cxtzjvfpPN] 文件与目录 ....参数:-c :建立一个压缩文件的参数指令(create 的意思):-x :解开一个压缩文件的参数指令!-t :查看 tarfile 里面的 ...

随机推荐

  1. 你能说出SQL聚集索引和非聚集索引的区别吗?

    最近突然想起前一阵和一朋友的聊天,当时他问我的问题是一个非常普通的问题:说说SQL聚集索引和非聚集索引的区别. AD:WOT2015 互联网运维与开发者大会 热销抢票 其实对于非专业的数据库操作人员来 ...

  2. 【kindeditor】KindEditor获取多个textarea文本框的值并判断非空

    kindeditor官网:http://kindeditor.net/demo.php 如何获取多个KindEditor中textarea文本框的值,方式很多种(带有HTML标签). var intr ...

  3. LA 3708 Graveyard

    题目链接: https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show ...

  4. HDU 5794 A Simple Chess(杨辉三角+容斥原理+Lucas定理)

    题目链接 A Simple Chess 打表发现这其实是一个杨辉三角…… 然后发现很多格子上方案数都是0 对于那写可能可以到达的点(先不考虑障碍点),我们先叫做有效的点 对于那些障碍,如果不在有效点上 ...

  5. ML | Naive Bayes

    what's xxx In machine learning, naive Bayes classifiers are a family of simple probabilistic classif ...

  6. JDK1.8和Spring 3.2.0 的坑

    上午 org.apache.catalina.core.StandardContext listenerStart严重: Exception sending context initialized e ...

  7. 基于HTML5的PACS--HTML5图像处理

    在此之前,此系统是结合DICOM的WADO标准,在浏览器里通过javascript操作返回的JPG图片.这种服务器端解析,客户端展现的方式,对实现图像的移动.缩放.旋转.测量等图像操作能够实现实时的交 ...

  8. Hadoop 2.2.0集群搭建

    一.环境说明 1.虚拟机平台:VMware10 2.Linux版本号:ubuntu-12.04.3-desktop-i386 3.JDK:jdk1.7.0_51 4.Hadoop版本号:2.2.0 5 ...

  9. Redis Sentinel 情况下bind地址设置

    Redis Sentinel 情况下bind地址设置 1个master,2个slave,3个sentinel的情况下,注意bind地址的时候不要写0.0.0.0,会导致绑定多个地址, 然后sentin ...

  10. 网页Tab控件

    网页Tab控件 找到:http://www.open-open.com/ajax/2_Tabs.htm 页面,查看了若干Tab控件, 找到了:http://www.open-open.com/ajax ...