LINUX file命令

file命令用来探测给定文件的文件类型。

语法:

  file [选项] [参数]

选项:  

  -b:列出识别结果,不显示文件名称。

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

   -f<名称文件>:指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称;

  -L:直接显示符号连接所指向的文件类别。

  -v:显示版本信息;

  -z:尝试去解读压缩文件内容。

参数:

  文件:要确定类型的文件列表,多个文件之间使用空格分开,可使用shell通配符匹配多个文件。

 

shell通配符使用

在使用命令时,shell提供了一套完整的字符串模式匹配规则,或者称之为元字符,当shell遇到上述字符就会把他们当做特殊字符,热不是文件名中的普通字符,这样就可以用来匹配相应的文件名。

通配符一般用在文件名上。

测试数据:

“ * ”

代表任意多个字符

例:查询以“.log”结尾的文件

“ ? ”

代表任意单字符

“ [] ”

代表“[“和”]”之间的某一个字符,比如[0-9]可以代表0-9之间的任意一个数

“ ^ ”

表示结果取反的意思,注意这个通配符要在[]中使用

例:查询不是以“.txt”结尾的文件

“ {} ”

表示符合括号内包含的多个文件

例:查询“.log”和“.png”结尾的文件

“ rm -f ”

删除操作

例:删除文件中的a b c 和.txt 文件

使用删除命令后

 

拓展:

  通配符            意义

  *         匹配任意多个字符(包括零个或一个)
  ?         匹配任意一个字符(不包括零个)
  [characters]     匹配任意一个属于字符集中的字符
  [!characters]    匹配任意一个不是字符集中的字符
  [[:class:]]      匹配任意一个属于指定字符类中的字符

  

     字符类         意义

  [:alnum:]      匹配任意一个字母或数字
  [:alpha:]       匹配任意一个字母
  [:digit:]        匹配任意一个数字
  [:lower:]       匹配任意一个小写字母
  [:upper]       匹配任意一个大写字母

 

一些常用的匹配:

  模式                     匹配对象
  *                     所有文件
  g*                   文件名以“g”开头的文件
  b*.txt               以”b” 开头,中间有零个或任意多个字符,并以”.txt” 结尾的文件
  Data???                          以“Data”开头,其后紧接着 3 个字符的文件
  [abc]*                           文件名以”a”,”b”, 或”c” 开头的文件
  BACKUP.[0-9][0-9][0-9]       以”BACKUP.” 开头,并紧接着 3 个数字的文件
  [[:upper:]]*             以大写字母开头的文件
  [![:digit:]]*              不以数字开头的文件
  *[[:lower:]123]            文件名以小写字母结尾,或以“1”,“2”,或“3”结尾的文件 

posted @ 2019-05-05 16:00  X38072  阅读(200)  评论(0)    收藏  举报