linux file 命令?linux读取文件命令

这篇文章给大家聊聊关于linux file 命令,以及linux读取文件命令对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

Linux系统中file命令的使用详解

命令简介:

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

执行权限:All User

指令所在路径:/usr/bin/file

命令语法:

复制代码代码如下:

file [-bchikLnNprsvz ] [-f namefile ] [-F separator ] [-m magicfiles ] file...

命令参数:

下表列出了部分常用的参数。

使用示例:

1:查看file命令的帮助信息

复制代码代码如下:[root@DB-Server~]# file--help

Usage: file [OPTION]... [FILE]...

Determine file type of FILEs.

-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

-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

-k,--keep-going don't stop at the first match

-L,--dereference causes symlinks to be followed-n,--no-buffer do not buffer output

-N,--no-pad do not pad output

-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

--help display this help and exit

--version output version information and exit

当然你也可以使用 man file获取更加详细的帮助文档信息。

2:不输出文件名称,只显示文件格式以及编码

通过下面两个命令对时,就可以清晰的了解参数-b的作用。

复制代码代码如下:

[root@DB-Server~]# file Temp.txt Temp.txt: UTF-8 Unicode text, with very long lines, with CRLF line terminators[root@DB-Server~]# file-b Temp.txtUTF-8 Unicode text, with very long lines, with CRLF line terminators

3:输出mime类型的字符串

复制代码代码如下:

[root@DB-Server~]# file-i Temp.txt Temp.txt: text/plain; charset=utf-8

4:查看文件中的文件名的文件类型

这个参数非常适合shell脚本去查找、判别某种文件类型的数据。

你可以像下面这样使用 file命令确定文件的类型。下面的截图显示了用 file命令确定不同文件类型的例子。

复制代码代码如下:

tecmint@tecmint~/Linux-Tricks$ dir

BACKUP master.zip

crossroads-stable.tar.gz num.txt

EDWARD-MAYA-2011-2012-NEW-REMIX.mp3 reggea.xspf

Linux-Security-Optimization-Book.gif tmp-link

tecmint@tecmint~/Linux-Tricks$ file BACKUP/

BACKUP/: directory

tecmint@tecmint~/Linux-Tricks$ file master.zip

master.zip: Zip archive data, at least v1.0 to extract

tecmint@tecmint~/Linux-Tricks$ file crossroads-stable.tar.gz

crossroads-stable.tar.gz: gzip compressed data, from Unix, last modified: Tue Apr 5 15:15:20 2011

tecmint@tecmint~/Linux-Tricks$ file Linux-Security-Optimization-Book.gif

Linux-Security-Optimization-Book.gif: GIF image data, version 89a, 200 x 259

tecmint@tecmint~/Linux-Tricks$ file EDWARD-MAYA-2011-2012-NEW-REMIX.mp3

EDWARD-MAYA-2011-2012-NEW-REMIX.mp3: Audio file with ID3 version 2.3.0, contains: MPEG ADTS, layer III, v1, 192 kbps, 44.1 kHz, JntStereo

tecmint@tecmint~/Linux-Tricks$ file/dev/sda1

/dev/sda1: block special

tecmint@tecmint~/Linux-Tricks$ file/dev/tty1

/dev/tty1: character special

5:尝试去解读压缩文件的内容

复制代码代码如下:

[root@DB-Server~]# file-z Temp.txt.gz Temp.txt.gz: UTF-8 Unicode text, with very long lines, with CRLF line terminators(gzip compressed data, was"Temp.txt", from Unix, last modified: Tue Jun 24 00:34:15 2014)[root@DB-Server~]#

6:查看软链接对应文件的文件类型

如下所示,创建一个软链接sfile,然后分别用file和带参数的file-L查看

复制代码代码如下:

[root@DB-Server~]# ln-s Temp.txt.gz sfile[root@DB-Server~]# file sfile sfile: symbolic link to `Temp.txt.gz'[root@DB-Server~]# file-L sfile sfile: gzip compressed data, was"Temp.txt", from Unix, last modified: Tue Jun 24 00:34:15 2014[root@DB-Server~]#

linux file命令如何使用

1. file是检测文件类型的命令。

2.文件类型就文件组织的方式,通常不同的文件类型执行不同的标准。

例如我们熟知的:txt, doc, xls, pdf...

3. file命令的简单用法就是:

file文件名,例如:

file data.txt

data.txt: ASCII text

就告诉我们,data.txt是一个text(即txt)类型的文件。

txt文件所采用的编码是ascii编码体系。

所以 text是文件类型;ASCII是编码体系。

又如:

file my.pdf

my.pdf: PDF document, version 1.5

“PDF document“告诉我们, my.pdf是pdf类型的文件。

版本执行的标准是:1.5

像ascii, version 1.5这些都是与文件类型密切相关的信息。

如果需要更详细的信息,可以加参数:

如:file-i data.txt

使用man file看详细用法。

linux file命令详解

linux系统下file命令用于查询文件类型。平时我们判定一个文件的类型通常是通过该文件的扩展名,而file命令是通过详细阅读文件内容,找到特征量来判定文件类型。是file命令的具体内容:

1、file命令判定文件类型的顺序:

查询Device, Directory, Symbolic等特殊文件

查询压缩文件

查询tar文件

基于Magic数据库文件的查询

查询ASCII,UNICODE等类型的文本文件

如果以上都不符合,则文件为二进制文件

2、原理:

file命令通过读取保存着各种文件特的数据库信息和被判定文件进行匹配,数据库文件保存在/etc/magic、/usr/share/misc/file/magic或其他位置。

0 string\177ELF ELF

>4 byte 0 invalid class

>4 byte 1 32bit

>5 byte 1 LSB

>>16 leshort 2 executable

3、magic文件由4部分组成:

偏移量

数据类型

输出字符串

magic文件的更多格式信息可以通过man magic来查看。

阅读剩余
THE END