浅谈 Linux 下 file 的六种应用实例
Linux file命令用于辨识文件类型。
通过file指令,我们得以辨识该文件的类型。
语法
file [-bcLvz][-f <名称文件>][-m <魔法数字文件>...][文件或目录...]
file 是通过查看文件的头部信息来获取文件类型,而不是像 Windows 通过扩展名来确定文件类型的,所以加不加后缀真的无所谓,谁会爱上谁,说起 Windows 吗,啥也不说了。
简介
file 的官方解释为:
file - determine file type
也就是说可以识别文件类型的意思,也可用来辨别一些文件的编码格式。
实例
下面看几个比较使用的例子。
实例一 :默认
file 后直接跟文件,得到如下所示信息
file book.pdf delete.pdf: PDF document, version 1.3 file book delete: PDF document, version 1.3
可以看出加不加后缀都是没有关系的。
实例二:不显示名
file -b book.pdf PDF document, version 1.3
加上-b 参数,是 brief 的含义,将只显示文件辨识结果,不显示文件名称了,这个其实对于很多文件而言,不是很友好。
实例三:输出易懂信息
file -i delete.pdf delete.pdf: application/pdf; charset=binary
加上-i 参数,是 mime 类型的含义,我也不懂是啥意思,但是我能刚方便地读懂我想知道的文件类型的含义。这就够了,不是吗,毕竟我们是来是用 file 命令的。
实例四:查看文件中的文件名的文件信息
cat hello.txt sunset.jpg file -f hello.txt sunset.jpg: JPEG image data, JFIF standard 1.01
这个咋听着这么拗口,其实很简单,其实并不难,加上-f 参数,是 file-from 类型的含义,到底是几个意思呢,也就是你想查看文件的类型信息的文件名在一个文件里面,从这个文件里面读取文件来的到信息,如下即可晓得。
实例五:好看的鸡肋
file -F === "sunset.jpg sunset.jpg === JPEG image data, JFIF standard 1.01
这个功能说实话,没搞明白有什么作用,默认的: 感觉挺好用的,当然这个应该属于定制型的,如下所示:
实例六:查看软链接的文件信息
file a.jpg a.jpg: symbolic link to `sunset.jpg' file -L a.jpg a.jpg: JPEG image data, JFIF standard 1.01
默认情况下,如果没有 L 参数,只能得到这个文件是软链接的信息,如果加上这个参数,就能看到源文件的文件信息,这个功能还是很赞的。
总结
以上所述是小编给大家介绍的Linux 下 file 的六种应用实例,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
相关推荐
-
Linux makefile 和shell文件相互调用实例详解
shell 文件内调用makefile文件: #!/bin/bash cd ctemplate-2.1 ./configure sudo make -f install cd ../ cd TemplateProcesser make 说明:./configure文件是shell脚本文件,即shell内调用shell文件是很容易的:TemplateProcesser目录内有Makefile文件,调用方式,直接:make makefile文件内调用shell脚本文件: SHELL := /bin/
-
linux mysql 报错:MYSQL:The server quit without updating PID file
1.可能是/usr/local/mysql/data/rekfan.pid文件没有写的权限解决方法 :给予权限,执行 "chown -R mysql:mysql /var/data" "chmod -R 755 /usr/local/mysql/data" 然后重新启动mysqld! 2.可能进程里已经存在mysql进程解决方法:用命令"ps -ef|grep mysqld"查看是否有mysqld进程,如果有使用"kill -9 进
-
linux .bash_profile和.bashrc的什么区别
/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置. /etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取. ~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该 文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件. ~/.bashrc
-
linux mount报错:you must specify the filesystem type的解决方法
最近工作中遇到一个问题,在linux mount /dev/vdb 到 /home 分区时报错: # mount /dev/vdb /home mount: you must specify the filesystem type 先执行:mkfs.ext3 /dev/vdb # mkfs.ext3 /dev/vdb mke2fs 1.41.12 (17-May-2010) Filesystem label= OS type: Linux Block size=4096 (log=2) Frag
-
Linux/Unix环境下的Make和Makefile详解
Linux/Unix环境下的Make和Makefile详解 无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令.不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或make install.利用make工具,我们可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用make和makefile工具就可以简洁明快地理顺各个源文件之间纷繁复杂的相互关系.而且如此多的源文件,如果每次都要键入gcc命令进行编译的话,那对程序员来说简
-
linux 查看文件的属性(ls,lsattr,file,stat)实例详解
查看文件属性有多种方法,且这些方法中偏向不同,具体如下: 1,ls ls -a 查看所有文件 ls -l 查看详细的属性 2,lsattr 查看文件的扩展属性, 如果文件被 chattr +i 添加了写保护, 用lsattr可以看到添加的属性 3,file 查看文件的类型 4,stat 查看文件的状态 测试结果: 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
-
Linux执行.sh文件时提示No such file or directory该怎么办(三种解决办法)
先给大家看下问题描述,下图是我在运行时出现错误截图: 解决方法 分析原因,可能因为我平台迁移碰到权限问题我们来进行权限转换 1)在Windows下转换: 利用一些编辑器如UltraEdit或EditPlus等工具先将脚本编码转换,再放到Linux中执行.转换方式如下(UltraEdit):File-->Conversions-->DOS->UNIX即可. 2)方法 用vim打开该sh文件,输入: [plain] :set ff 回车,显示fileformat=dos,重新设置下文件格式:
-
浅谈 Linux 下 file 的六种应用实例
Linux file命令用于辨识文件类型. 通过file指令,我们得以辨识该文件的类型. 语法 file [-bcLvz][-f <名称文件>][-m <魔法数字文件>...][文件或目录...] file 是通过查看文件的头部信息来获取文件类型,而不是像 Windows 通过扩展名来确定文件类型的,所以加不加后缀真的无所谓,谁会爱上谁,说起 Windows 吗,啥也不说了. 简介 file 的官方解释为: file - determine file type 也就是说可以识别文件
-
浅谈Linux下通过find命令进行rm文件删除的小技巧
我们经常会通过find命令进行批量操作,如:批量删除旧文件.批量修改.基于时间的文件统计.基于文件大小的文件统计等,在这些操作当中,由于rm删除操作会导致目录结构变化,如果要通过find结合rm的操作写成脚本,就会遇到一些麻烦,本文通过一个例子为大家进行介绍. 系统环境: SUSE Linux Enterprise Server 11 或 Red Hat Enterprise Linux 问题症状: 客户现场有一个自动化的脚本,有以下的find语句,每天运行以删除某个目录下7天以前的文件或目录,
-
浅谈linux下的串口通讯开发
串行口是计算机一种常用的接口,具有连接线少,通讯简单,得到广泛的使用.常用的串口是RS-232-C接口(又称EIA RS-232-C)它是在1970年由美国电子工业协会(EIA)联合贝尔系统.调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准.串口通讯指的是计算机依次以位(bit)为单位来传送数据,串行通讯使用的范围很广,在嵌入式系统开发过程中串口通讯也经常用到通讯方式之一. Linux对所有设备的访问是通过设备文件来进行的,串口也是这样,为了访问串口,只需打开其设备文件即可操作串口
-
浅谈Linux下免密码切换到root用户当注意的问题
Linux(以Centos系统为例子)下进行用户切换的时候,使用su. 一般如下: su username su - username 第一种方式,切换用户后,还是使用以前登录用户的环境变量,有时候运行有些程序会出问题. 第二种方式比较彻底,切换后,用户的环境变量也跟着变化,切换后就是当前用户的环境变量. 以上两点需要注意下. 我们切换到root用户的时候,直接使用su 或者su -,但是有个问题是,需要输入密码.这样比较麻烦.我们可以让某个用户无密码登录到root用户,需要进行如下的设置: v
-
浅谈Linux下tar,jar压缩,解压的常用命令
如下所示: tar cvf /data/d2/apps.tar apps cd /data01/applsrm/SRM tar xvf apps.tar jar cvf /data01/xxx.jar * cd wq jar xvf xxxx.jar 以上这篇浅谈Linux下tar,jar压缩,解压的常用命令就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.
-
浅谈linux下的一些常用函数的总结(必看篇)
1.exit()函数 exit(int n) 其实就是直接退出程序, 因为默认的标准程序入口为int main(int argc, char** argv),返回值是int型的. 一般在shell下面,运行一个程序,然后使用命令echo $?就能得到该程序的返回值,也就是退出值,在main()里面,你可以用return n,也能够直接用exit(n)来做.unix默认的习惯正确退出是返回0,错误返回非0. 重点:单独的进程是返回给操作系统的.如果是多进程,是返回给父进程的. 在父进程里面调用w
-
浅谈Linux下修改/设置环境变量JAVA_HOME的方法
1. 永久修改,对所有用户有效 # vi /etc/profile //按键盘[Shift + g], 在profile文件最后添加下面的内容: JAVA_HOME=/usr/local/java/jdk1.7.0_25 JRE_HOME=$JAVA_HOME/jre CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar PATH=$JAVA_HOME/bin:$PATH export PATH JAVA_HOME JRE_HOME C
-
浅谈Linux环境下gcc优化级别
代码优化可以说是一个非常复杂而又非常重要的问题,以笔者多年的linux c开发经验来说优化通常分为两个方面,一是人为优化,也就是基于编程经验采用更简易的数据结构函数等来降低编译器负担,二是采用系统自带的优化模式,也就是gcc - o系列,下面我将简述一下各级优化的过程以及实现. gcc - o1 首先o1上面还有一个o0,那个是不提供任何优化,项目中几乎不会使用,而o1使用就非常广泛了,o1是最基本的优化,主要对代码的分支,表达式,常量来进行优化,编译器会在较短的时间下将代码变得更加短小,这样体
-
浅谈Linux的库文件
最近在Linux下使用第三方库Protobuf时,遇到一个问题:可执行程序在运行时报错:"error while loading shared libraries: libprotobuf.so.7: cannot open shared object file: No such file or directory".于是花时间弄清楚原因,找到解决方案,跟大家共享一下. 1. 什么是库 在windows平台和linux平台下都存在着大量的库. 本质上来说库是一种可执行代码的二进制形式,
-
浅谈Linux磁盘修复e2fsck命令
周末竟然去加班,原因是客户那里有一台服务器不能提供服务,经过排查是突然断电后可能产生了磁盘坏道导致,所以使用e2fsck命令进行了磁盘修复. linux下磁盘检查修复命令e2fsck -a: 检查 partition,如发现问题会自动修复. -b: 设定 superblock 位置. -B size: 指定 size 作为区块大小. -c: 检查 partition 是否有坏轨. -C file: 将检查结果储存到 file. -d: 输出 e2fsck debug 结果. -f: e2fsck
随机推荐
- ASP.Net 图片存入数据库的实现代码
- asp下制做行背景颜色交替变换的表格
- 如何把sqlserver数据迁移到mysql数据库及需要注意事项
- 利用WScript.Shell对象隐藏cmd命令行运行框的实现代码
- java 中 System.out.println()和System.out.write()的区别
- .net 刷新页面后弹出重试框的解决方法
- linux命令行下使用curl命令查看自己机器的外网ip
- PowerShell脚本实现添加、修改任务计划的例子
- SQL Server日期计算第1/2页
- 简单实现Bootstrap标签页
- WinXP注册表与驱动程序优化全集
- java的Console类的使用方法及实例
- Android4.X中SIM卡信息初始化过程详解
- java中的匿名内部类详细总结
- HTTP中get和post的区别详解
- Android编写文件浏览器简单实现
- spring集成mybatis实现mysql数据库读写分离
- JNI语言基本知识
- Android ViewPager实现无限循环效果
- js的函数的按值传递参数(实例讲解)