Linux命令学习总结: file命令

http://www.cnblogs.com/kerrycode/p/3806618.html

Linux命令学习总结: file命令

命令简介:

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

执行权限 :All User

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

命令语法:

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

命令参数:

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


参数


长参数


描叙


-b

 
列出文件辨识结果时,不显示文件名称。


-c

 
详细显示指令执行过程,便于排错或分析程序执行的情形


-f

 
列出文件中文件名的文件类型


-F

 
使用指定分隔符号替换输出文件名后的默认的“:”分隔符。


-i

 
输出mime类型的字符串


-L

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


-z

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

 
--help


显示命令在线帮助

 
--version


显示命令版本信息

使用示例:

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

[[email protected] ~]# 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:查看文件类型

例如,如下所示,Temp.txt 文件类型为text,编码为UTF-8 Unicode

[[email protected] ~]# file Temp.txt 
 
Temp.txt: UTF-8 Unicode text, with very long lines, with CRLF line terminators
 

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

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

[[email protected] ~]# file Temp.txt 
Temp.txt: UTF-8 Unicode text, with very long lines, with CRLF line terminators
[[email protected] ~]# file -b Temp.txt
UTF-8 Unicode text, with very long lines, with CRLF line terminators

4: 输出mime类型的字符串

[[email protected] ~]# file -i Temp.txt 
Temp.txt: text/plain; charset=utf-8

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

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

[[email protected] ~]# cat >test
/root/install.log 
it is only one test file
 
[2]+  Stopped                 cat > test
[[email protected] ~]# file -f  test
/root/install.log:        ASCII text
it is only one test file: ERROR: cannot open `it is only one test file‘ (No such file or directory)
[[email protected] ~]# 
[[email protected] ~]# 

5: 使用指定分隔符号替换输出文件名后的默认的“:”分隔符。

感觉这个参数很鸡肋!我搞明白这个参数的作用时,很是纳闷。

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

[[email protected] ~]# 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)
[[email protected] ~]# 

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

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

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

作者:潇湘隐者

出处:http://www.cnblogs.com/kerrycode/

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接.

时间: 2024-07-30 10:18:54

Linux命令学习总结: file命令的相关文章

Linux命令学习总结——file

命令简介: 该命令用来识别文件类型,也可用来辨别一些文件的编码格式.它是通过查看文件的头部信息来获取文件类型,而不是像Windows通过扩展名来确定文件类型的. 执行权限 :All User 指令所在路径:/usr/bin/file 命令语法: file [ -bchikLnNprsvz ] [ -f namefile ] [ -F separator ] [ -m magicfiles ] file ... 命令参数: 下表列出了部分常用的参数. 参数 长参数 描叙 -b 列出文件辨识结果时,

linux 几个不常用命令学习 之 cal 命令

看了极客里面的文章:一些实用但不为人知的unix命令 文章参考:http://blog.jobbole.com/66590/ 准备好好学习下这些命令,成为Linux高手 这次学习显示日历命令:cal #显示日历,默认格式 $ cal 五月 2014 日 一 二 三 四 五 六 1  2  3 4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 #默认日历显示是从星期天作为第一天,你也

c/c++unix/linux基础学习笔记-常用命令和vi的使用

linux 基本命令的使用-命令在ubuntu下面执行,有些命令通用其他linux,有些不通用. 多条命令间用;号隔开,回车后可以一起执行. clear-前屏,pwd显示当前目录,cd跳转目录. sudo [命令]  -ubuntu 下以管理员身份运行命令. 一般情况下,运行当前目录下的程序,要用 ./文件名 执行. 查看当前shell名称:ps 进入另外一个shell,直接输入shell名称:ksh/tcsh/sh/bash,退出一个shell用:exit. 切换shell命令,如:exec

linux命令学习之文件目录命令-mv命令

mv命令可以用来移动文件或者将文件改名(move (rename) files),经常用来备份文件或者目录 命令学习 命令格式:mv [选项] 源文件或目录 目标文件或目录命令功能:根据mv命令中第二个参数类型(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中.当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名.当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各

Linux命令学习(2) cd命令

Linux cd 命令可以说是Linux中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用 cd 命令上的. 所以,学习Linux 常用命令,首先就要学好 cd 命令的使用方法技巧. 1. 命令格式: cd [目录名] 2. 命令功能: 切换当前目录至dirName 3. 常用范例 3.1 例一:进入系统根目录 命令: cd / 输出: [[email protected] ~]# cd / 说明:进入系统根目录,上面命令执行完后拿ls命令看一下,当前目录已经到系统根目录了 命令: c

linux命令学习笔记——nl命令

nl命令在linux系统中用来计算文件中行号.nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等等的功能. 1.命令格式: nl [选项]... [文件]... 2.命令参数: -b  :指定行号指定的方式,主要有两种: -b a :表示不论是否为空行,也同样列出行号(类似 cat -n): -b t :如果有空行,空的那一行不要列出行号(默认值): -n  :列出行号表示的方法,主要有三种:

Linux基础学习之基础命令(1)--2019-11-14

查看命令路径其他方法: which 命令: which [options] [--] programname [...] -a:显示所有匹配的程序文件,而非第一个: --skip-alias:略过别名: [[email protected] ~]# which ll alias ll='ls -l --color=auto' /bin/ls [[email protected] ~]# which man /usr/bin/man 别名 alias 由于复杂命令或频繁使用的命令.选项的组合,系统

Linux命令学习(1) ls命令

ls命令是linux下最常用的命令.ls命令就是list的缩写缺省下ls用来打印出当前目录的清单如果ls指定其他目录那么就会显示指定目录里的文件及文件夹清单. 通过ls 命令不仅可以查看linux文件夹包含的文件而且可以查看文件权限(包括目录.文件夹.文件权限)查看目录信息等等.ls 命令在日常的linux操作中用的很多! 1. 命令格式: ls [选项] [目录名] 2. 命令功能: 列出目标目录中所有的子目录和文件. 3. 常用参数: -a, –all 列出目录下的所有文件,包括以

Linux命令学习(34) ps命令

Linux中的ps命令是Process Status的缩写.ps命令用来列出系统中当前运行的那些进程.ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令. 要 对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令.使用该命令可 以确定有哪些进程正在运行和运行的状态.进程是否结束.进程有没有僵死.哪些进程占用了过多的资源等等.总之大部分信息都是可以通