linux怎么判断一个文件是2进制?
使用file命令加文件名
会显示文件属性
man file
---------------------------------------
NAME
file — determine file type
SYNOPSIS
file [-bchiklLNnprsvz0] [--apple] [--mime-encoding] [--mime-type] [-e testname] [-F separator] [-f namefile] [-m magicfiles] file ...
file -C [-m magicfiles]
file [--help]
DESCRIPTION
This manual page documents version 5.11 of the file command.
file tests each argument in an attempt to classify it. There are three sets of tests, performed in this order: filesystem tests, magic tests, and language tests. The first test
that succeeds causes the file type to be printed.
linux的文本文件与二进制文件的bai区分du与windows的区分是相同的!说到底计算zhi机存储的文件都是以二进dao制形式存储的,但是区别是,习惯上认为:
(1)、文本文件 文本文件是包含用户可读信息的文件。这些文件以ASCII码方式存储,可显示和打印。文本文件的行不能包括空字符(即码中的NULL),行的最大长度(包括换行符在内)也不能超过(LINE_MAX)所定义的字节数。不过文本文件中并不限制使用除空字符以外的控制字符或其它不可打印字符。
(2)、二进制文件(实际上这种说法不准确,因为文本文件也是用二进制代码存放的,称为非文本文件比较好) 二进制文件是包含计算机可读信息的文件。二进制文件可以是可执行的文件,使系统根据其中的指令完成某项工作。命令和程序都是以可执行的而进制文件方式存储。二进制文件没有行的长度限制,也可包含空字符。
对于计算机所有的文件最终都是以二进制表示
我们可以是用 linux 的file 命令来查看文件类型,后续介绍。
在文本文件与二进制文件的区别并不是物理上的,文本文件是基于字符编码的文件,常见的编码有ASCII编码,UNICODE编码等等。二进制文件是基于值编码的文件。
可以使用hexdump命令来查看“二进制”文件的十六进制编码。
比如查看一个linux 命令ls
在比如可以执行查看文件文件
在右侧很容易就看到了文件的内容。
可以使用 【file】命令来查看文件的类型
文本型:
[root@api ~]# echo 123 > test.txt
[root@api ~]# file test.txt
test.txt: ASCII text
压缩文件:
[root@api ~]# file docker-18.06.1-ce.tgz
docker-18.06.1-ce.tgz: gzip compressed data, ....
目录:
[root@api ~]# file bin
bin: directory
连接文件:
[root@api ~]# touch test.sh
[root@api ~]# ln -sn test.sh test2.sh
[root@api ~]# file test2.sh
test2.sh: symbolic link to `test.sh'
块文件:
[root@api ~]# file /dev/vda1
/dev/vda1: block special
共享库文件
[root@api /]# file /usr/libexec/sudo/sudoers.so
/usr/libexec/sudo/sudoers.so: ELF 64-bit LSB shared object, x86-64......
可执行文件:
[root@api /]# file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64,
以上希望对于有所帮助。

