Last Updated: 2023-05-31 07:37:36 Wednesday
-- TOC --
在Linux中,查看文件类型,用file命令。有一种说法:在Linux中,一切都是文件!
file — determine file type
关于Linux系统中的文件,文件后缀是不太重要的,基本上可以很随意。file命令并不是通过文件后缀来判别文件类型,而是通过文件头部信息。这一点跟Windows系统差别较大。
$ file Python-3.7.1/setup.py
Python-3.7.1/setup.py: Python script, ASCII text executable
$ file Python-3.7.1/Makefile
Python-3.7.1/Makefile: automake makefile script, ASCII text, with very long lines
$ file Python-3.7.1
Python-3.7.1: directory
我常常用file命令看看二进制文件是否做了strip,以及它们的所属类型。
$ file sum.o sub.o test.o libsub.so test
sum.o: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped
sub.o: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped
test.o: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped
libsub.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped
test: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), not stripped
Linux中二进制文件分为以下几种类型:relocatable,executable,shared object和core dump file!它们都属于ELF格式。
查看设备文件类型:
$ file /dev/tty1
/dev/tty1: character special
$ file /dev/null
/dev/null: character special
$ file /dev/zero
/dev/zero: character special
-b
,只显示结果,不显示文件名:
$ file -b test.c
C source, ASCII text
-i
,显示出文件的MIME类型:
$ file -i file.c file /dev/{wd0a,hda}
file.c: text/x-c
file: application/x-executable
/dev/hda: application/x-not-regular-file
/dev/wd0a: application/x-not-regular-file
-s
,查看特殊文件类型,比如探测文件系统类型:
$ sudo file -s /dev/sdc1
COFF的主要贡献,是在目标文件中引入了section
的概念和机制,不同类型的目标文件,可以拥有不同数量和不同类型的section。另外,它还定义了调试数据格式。
本文链接:https://cs.pynote.net/sf/linux/shell/202111184/
-- EOF --
-- MORE --