Linux识别文件类型的几种方法
对于第一次使用 Linux 命令行的用户,可能真的搞不清楚哪个是文件,哪个是目录,究其原因是很难直接通过名字看出来目录和文件的区别。
虽然从名称上不容易分辨,但是可以从颜色上进行区分。一般情况下,Linux 用蓝色代表目录,其他颜色则表示是文件。不仅如此,Linux 中还可以用不同的颜色来区分不同种类的文件,例如绿色代表可执行文件、红色代表压缩文件、浅绿色代表链接文件、白色代表其他文件、黄色代表设备文件等。
例如:
ls -l 命令
可以查看当前目录下所有文件和目录各自的属性。
上图 显示的执行结构中,每行代表一个文件或目录,其中第一个字符表示的就是文件的类型,其可能的取值以及表示的文件类型,如下表 所示。
第一个字符 | 文件类型 |
---|---|
- | 普通文件,包括纯文本文件、二进制文件、各种压缩文件等。 |
d | 目录,类似 Windows 系统中的文件夹。 |
b | 块设备文件,就是保存大块数据的设备,比如最常见的硬盘。 |
c | 字符设备文件,例如键盘、鼠标等。 |
s | 套接字文件,通常用在网络数据连接,可以启动一个程序开监听用户的要求,用户可以通过套接字进行数据通信。 |
p | 管道文件,其主要作用是解决多个程序同时存取一个文件所造成的错误。 |
l | 链接文件,类似 Windows 系统中的快捷方式。 |
file命令查看文件类型
Linux 的世界里,file 就是这样一面魔镜,它可以看到每个文件的内心。file 命令可以识别出文件的类型和编码格式,这是其他命令所做不到的。我们直接用 file 这面魔镜来看看文件的“内心”。
#不加任何选项, 直接查看poetry文件 [roc@roclinux ~]$ file poetry.txt poetry.txt: ASCII text
使用不带任何选项的 file 命令,即可查看指定文件的类型信息。在上面的例子中可以看出 poetry.txt 的文件类型为 text,编码格式为 ASCII。
#使用-b选项来查看poetry文件 [roc@roclinux ~]$ file -b poetry.txt ASCII text
上面的例子中,我们使用了-b
选项,可以使 file 命令的输出不出现文件名,只显示文件格式以及编码。
#使用-i选项来查看poetry文件 [roc@roclinux ~]$ file -i poetry.txt poetry.txt: text/plain; charset=us-ascii
上面的例子中,我们使用了-i
选项,可以输出文件的 MIME 类型字符串。
小科普,MIME 类型,即 Multipurpose Internet Mail Extensions,称为多用途互联网邮件扩展类型,用来标识和记录文件的打开方式,一些常见的类型包括:
- text/plain:普通文本。
- text/html:HTML文本。
- application/pdf:PDF文档。
- application/msword:Word文档。
- image/png:PNG图片。
- mage/jpeg:JPEG图片。
- application/x-tar:TAR文件。
- application/x-gzip:GZIP文件。
设置输出分隔符
从上面的例子可以看出,file 命令的输出格式是:
文件名:文件类型和编码格式如果希望将中间的分隔符由冒号(:)改成其他符号,则可以使用-F选项来实现。 [roc@roclinux ~]$ file poetry.txt poetry.txt: ASCII text[roc@roclinux ~]$ file -F "=>" poetry.txt poetry.txt=> ASCII text有些同学会问,这样的功能有何意义呢?在一些自动化文件分析的脚本中,开发者为了避免分隔符和普通字符重复而造成误解析的情况,通常是会手工调整间隔符的。
查看软链接文件
file 命令能查看所有文件的类型信息,那么问题来了,对于一个软链接文件,file 命令是返回软链接文件本身的类型信息,还是返回软链接所指向的目标文件的类型信息呢?让我们通过试验得出结论吧:
#新建一个软链接文件 [roc@roclinux ~]$ ln -s poetry.txt poetry_s.txt#通过file命令查看软链接文件 [roc@roclinux ~]$ file poetry_s.txt poetry_s.txt: symbolic link to `poetry.txt'#使用-L选项来查看软链接文件 [roc@roclinux ~]$ file -L poetry_s.txt poetry_s.txt: ASCII text
试验是找到真相的最好方法。通过上面的示例,我们已经很清楚地看到了:
- 如果通过 file 命令直接查看软链接文件,则查看的就是软链接文件本身的信息。
- 如果使用-L选项来查看软链接文件,则查看的是软链接指向的目标文件的信息。
Linux识别文件类型的几种方法相关推荐
- Linux清空文件内容的三种方法
Linux清空文件内容的三种方法 测试文件:a.txt 第一种: $> a.txt 第二种: $echo "" > a.txt 第三种: $cat /dev/null ...
- linux清除文件内容 ,Linux清除文件内容的几种方法
# 清空或删除大文件内容的五种方法: # 法一:通过重定向到 Null 来清空文件内容 $ >test.sh # 法二:使用 'true' 命令重定向来清空文件 $ true > test ...
- linux 识别文件类型,技术|Linux 中 7 个判断文件系统类型的方法
文件通过文件系统在磁盘及分区上命名.存储.检索以及更新,文件系统是在磁盘上组织文件的方式. 文件系统分为两个部分:用户数据和元数据(文件名.创建时间.修改时间.大小以及目录层次结构中的位置等). 在本 ...
- [ASP.NET] 限制上传文件类型的两种方法(转)
通常,为了防止因用户上传有害文件(如木马.黑客程序)引发的安全性问题,Web程序都会对用户允许上传的文件类型加以限制.而本文将要介绍的就是如何在ASP.NET应用程序中利用Web Control的内置 ...
- Java获取文件类型的5种方法
前言 工作中经常会用到,判断一个文件的文件类型,这里总结一把,一般判断文件类型的原理有2种方式: 根据文件扩展名判断 优点:速度快,代码简单 缺点:无法判断出真实的文件类型,例如一些伪造的文件或者没有 ...
- asp.net 判断上传文件类型的几种方法
一. 安全性比较低,把文本文件2.txt改成2.jpg照样可以上传,但其实现方法容易理解,实现也简单,所以网上很多还是采取这种方法.只是简单的识别后缀名. Boolean fileOk = false ...
- 用ASP.net判断上传文件类型的三种方法
一. 安全性比较低,把文本文件1.txt改成1.jpg照样可以上传,但其实现方法容易理解,实现也简单,所以网上很多还是采取这种方法. Boolean fileOk = false; ...
- ASP.net 判断上传文件类型的三种方法
一. 安全性比较低,把文本文件1.txt改成1.jpg照样可以上传,但其实现方法容易理解,实现也简单,所以网上很多还是采取这种方法.Boolean fileOk = false;string path ...
- linux怎么看sdb1里面的文件,查看linux设备文件系统类型的几种方法
概述:在进行文件系统的相关测试或者操作的时候,往往需要知道文件系统的相关类型. 在 linux操作系统 中,挂载是指将一个设备(通常是存储设备)挂接到一个已存在的目录上.我们要访问存储设备中的文件,必 ...
最新文章
- C# Keycode对照表
- 数据列表DataList模板之实例
- java语音jvm_java环境中基于jvm的两大语言:scala,groovy
- 程序生成30道四则运算(包括整数和真分数)
- 女程序员上班第一件事:调整IDE颜色以适配今天的衣着妆容
- Android] AndroidManifest.xml文件解析
- 使用wePE安装系统
- PyQt5教程(七)——实现QQ登录界面(一、Qt Designer创建界面,Eric6创建项目)
- ps自学视频教程,ps排版视频教程百度云下载(从小白到大神级一步步学习都有相应教程)
- java:从入门到放弃(二)
- R语言统计—配对t检验样本量计算
- A Survey on Vision Transformer
- Eclipse SVN:E200030:There are unfinished transactions detected
- 这个好用的办公网优化工具,官宣免费了
- Java 代码分享(第4篇),绘制迷宫2 绘制起点终点和路径
- unitTest单元测试
- 使用opencv进行USB摄像头参数配置
- 发散级数(中文维基百科)
- JavaScript脚本访问后台服务实例
- [野狐行][2016/04/11][群直播系列2][那些年让我们郁闷不已的游戏保护]
热门文章
- linux 修改文件内容sed,linux下通过sed命令直接修改文件内容
- 抖音服务器维护播放为零,抖音0播放怎么回事,抖音0播放是被屏蔽了吗,为什么抖音播放量一直都是0...
- No_16_0324 Java基础学习第二十三天
- 怎么实现一行超出显示省略号?
- 百度分享插件 js异步添加的内容如何实现分享的功能
- 通过system获取java环境变量的对应路径的方法
- C4D常用操作——材质
- 简历中linux内核开发,Linux内核中DMI实现简介
- 0.1+0.2==0.3吗?
- macOS 安装 Android SDK