苏州现在能去吗,外贸网站如何推广优化,小程序推广方案,登录器显的窗口网站怎么做Linux系统之file命令的基本使用 一、file命令介绍1.1 Linux简介1.2 file命令简介 二、file命令的使用帮助2.1 file命令的help帮助信息2.2 file命令的语法解释2.3 file命令的man手册 三、文件类型介绍四、file命令的基本使用4.1 查询file版本4.2 显示文件类型4.3 输出时不显示文… Linux系统之file命令的基本使用 一、file命令介绍1.1 Linux简介1.2 file命令简介 二、file命令的使用帮助2.1 file命令的help帮助信息2.2 file命令的语法解释2.3 file命令的man手册 三、文件类型介绍四、file命令的基本使用4.1 查询file版本4.2 显示文件类型4.3 输出时不显示文件名4.4 显示MIME类别4.5 显示链接所指向的文件类型4.6 批量查询4.6 查找某个文件并显示其文件类型4.7 查看块设备文件信息 五、file命令使用注意事项 一、file命令介绍
1.1 Linux简介 Linux是一种开源操作系统它的核心是Linux内核。Linux操作系统最初是由芬兰的林纳斯·托瓦兹Linus Torvalds在1991年发布的。它不同于Windows和Mac OS X等操作系统它是免费的可以自由地修改和发布。Linux操作系统的开源性使得用户可以自由地修改、复制和分发操作系统而且可以适应各种不同的需求。Linux操作系统广泛应用于服务器、超级计算机、移动设备和嵌入式系统中它也被越来越多的个人用户选择作为他们的日常操作系统。 1.2 file命令简介 file命令是Linux中用于检测文件类型的命令可以根据文件的二进制数据来确定其类型。 二、file命令的使用帮助
2.1 file命令的help帮助信息 使用–help查询file命令的帮助信息 [rootjeven ~]# file --help
Usage: file [OPTION...] [FILE...]
Determine type of FILEs.--help display this help and exit-v, --version output version information and exit-m, --magic-file LIST use LIST as a colon-separated list of magicnumber 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 inconjunction with -m to debug a new magic filebefore installing it-e, --exclude TEST exclude TEST from the list of test to beperformed for file. Valid tests are:ascii, apptype, compress, elf, soft, tar, tokens, troff-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 (--mime-type and--mime-encoding)--apple output the Apple CREATOR/TYPE--mime-type output the MIME type--mime-encoding output the MIME encoding-k, --keep-going dont stop at the first match-l, --list list magic strength-L, --dereference follow symlinks (default)-h, --no-dereference dont follow symlinks-n, --no-buffer do not buffer output-N, --no-pad do not pad output-0, --print0 terminate filenames with ASCII NUL-p, --preserve-date preserve access times on files-r, --raw dont translate unprintable chars to \ooo-s, --special-files treat special (block/char devices) files asordinary ones-C, --compile compile file specified by -m-d, --debug print debugging messagesReport bugs to http://bugs.gw.com/2.2 file命令的语法解释
file命令语法
file(选项)(参数)file命令选项解释
-b仅显示文件类型不显示文件名
-i显示MIME类型
-z对压缩文件也进行检测。
-c详细显示指令执行过程便于排错或分析程序执行的情形
-f名称文件指定名称文件其内容有一个或多个文件名称时让file依序辨识这些文件格式为每列一个文件名称
-L直接显示符号链接所指向的文件类别
-m魔法数字文件指定魔法数字文件
-v显示版本信息
-s: 查询块/字符设备文件信息file命令参数解释
文件要确定类型的文件列表多个文件之间使用空格分开可以使用shell通配符匹配多个文件。2.3 file命令的man手册 查询man手册中的file命令用法 man file三、文件类型介绍
Linux中常见的文件类型包括 普通文件Regular file- 用于存储文本、数据等信息。简写为 “-”连字符。 目录文件Directory file- 用于存储其他文件和目录的信息。简写为 “d”。 符号链接文件Symbolic link file- 指向另一个文件或目录的快捷方式。简写为 “l”。 套接字文件Socket file- 用于进程间通信的文件。简写为 “s”。 块设备文件Block device file- 用于访问存储设备如硬盘、U盘等的文件。简写为 “b”。 字符设备文件Character device file- 用于访问系统设备如键盘、鼠标等的文件。简写为 “c”。 管道文件FIFO file- 用于进程间通信的文件。简写为 “p”。
四、file命令的基本使用
4.1 查询file版本 使用-v选项查询file版本 [rootjeven ~]# file -v
file-5.11
magic file from /etc/magic:/usr/share/misc/magic4.2 显示文件类型 例如需要查询一个文件的文件类型我们可以直接使用file命令查询。 [rootjeven ~]# file test.txt
test.txt: ASCII text4.3 输出时不显示文件名 使用-b选项输出结果时不显示文件名。 [rootjeven ~]# file -b test.txt
ASCII text4.4 显示MIME类别 使用-i选项显示文件的MIME类别 [rootjeven ~]# file -i test.txt
test.txt: text/plain; charsetus-ascii4.5 显示链接所指向的文件类型 查看/var/mail目录信息 [rootserver-01 ~]# ls -l /var/mail
lrwxrwxrwx. 1 root root 10 Jul 11 2019 /var/mail - spool/mail查询/var/mail文件类型 [rootserver-01 ~]# file /var/mail
/var/mail: symbolic link to spool/mail显示符号链接所指向的文件类型 [rootserver-01 ~]# file -L /var/mail
/var/mail: directory4.6 批量查询 在当前目录下批量查询当前目录系的所有文件的类型。 [rootjeven tmp]# file *
clr-debug-pipe-8952-724-in: fifo (named pipe)
clr-debug-pipe-8952-724-out: fifo (named pipe)
clr-debug-pipe-8970-1925-in: fifo (named pipe)
clr-debug-pipe-8970-1925-out: fifo (named pipe)
dotnet-diagnostic-8952-724-socket: socket
dotnet-diagnostic-8970-1925-socket: socket
\passwd: ASCII text
start-015d97ac.sh: ASCII text, with no line terminators
start-109f1a86.sh: ASCII text, with no line terminators
start-26c0fb80.sh: ASCII text, with no line terminators
start-4203b95e.sh: ASCII text, with no line terminators
start-92889412.sh: ASCII text, with no line terminators
start-ddceaaa1.sh: ASCII text, with no line terminators
systemd-private-08fc6e47aa874539ac4d70bc789f5282-bolt.service-mnASgU: directory
systemd-private-08fc6e47aa874539ac4d70bc789f5282-colord.service-HplXU8: directory
systemd-private-08fc6e47aa874539ac4d70bc789f5282-cups.service-xyIPUs: directory
systemd-private-08fc6e47aa874539ac4d70bc789f5282-rtkit-daemon.service-bw5Sug: directory
systemd-private-b900215aacec4b86a1e8d464980a5c54-bolt.service-VNJiad: directory
systemd-private-b900215aacec4b86a1e8d464980a5c54-colord.service-ZUXvYP: directory
systemd-private-b900215aacec4b86a1e8d464980a5c54-cups.service-RlD3bV: directory
systemd-private-b900215aacec4b86a1e8d464980a5c54-rtkit-daemon.service-zH4Tz7: directory
vmware-root_8951-3886978998: directory
vmware-root_8974-2832928238: directory
vmware-root_8984-2865826809: directory
vmware-root_8989-3852833186: directory
vmware-root_8994-2857503325: directory4.6 查找某个文件并显示其文件类型 查找某个文件并显示其文件类型 [rootjeven boot]# find /etc/httpd -type f -name *.conf -exec file {} \;
/etc/httpd/conf/httpd.conf: ASCII text
/etc/httpd/conf.d/autoindex.conf: ASCII text
/etc/httpd/conf.d/userdir.conf: ASCII text
/etc/httpd/conf.d/welcome.conf: ASCII text
/etc/httpd/conf.modules.d/00-base.conf: ASCII text
/etc/httpd/conf.modules.d/00-dav.conf: ASCII text
/etc/httpd/conf.modules.d/00-lua.conf: ASCII text
/etc/httpd/conf.modules.d/00-mpm.conf: ASCII text
/etc/httpd/conf.modules.d/00-proxy.conf: ASCII text
/etc/httpd/conf.modules.d/00-systemd.conf: ASCII text
/etc/httpd/conf.modules.d/01-cgi.conf: ASCII text4.7 查看块设备文件信息 使用-s选项查看块设备文件的相关信息 [rootserver-01 ~]# file -s /dev/vda*
/dev/vda: x86 boot sector; partition 1: ID0x83, active, starthead 32, startsector 2048, 104854207 sectors, code offset 0x63
/dev/vda1: Linux rev 1.0 ext4 filesystem data, UUID1114fe9e-2309-4580-b183-d778e6d97397 (needs journal recovery) (extents) (large files) (huge files)五、file命令使用注意事项
文件类型判断不一定准确虽然file命令可以根据一些标准来判断文件类型但是并不是所有文件都能被准确地判断出来。文件名和路径中不能包含空格如果文件名或路径中包含空格file命令可能会无法正确识别文件类型。需要使用sudo权限如果要对某些系统文件使用file命令需要使用sudo权限。需要对不同的系统平台做出不同处理不同的操作系统对文件类型的判断方式可能不同因此需要根据不同的系统平台做出不同的处理。只能对本地文件进行判断file命令只能对本地文件进行判断无法对远程文件或网络文件进行判断。