linux 怎么看完二进制文件

作者&投稿:但燕 (若有异议请与网页底部的电邮联系)
linux 怎么看 文件二进制~

一、在Linux下查看二进制文件的软件:

xxd (2进制)

hexdump (16进制)



二、编辑:

1、biew

2、hexedit

3、vim

Vim 来编辑二进制文件。Vim 本非为此而设计的,因而有若干局限。但你能读
取一个文件,改动一个字符,然后把它存盘。结果是你的文件就只有那一个字符给改了,
其它的就跟原来那个一模一样。
要保证 Vim 别把它那些聪明的窍门用错地方,启动 Vim 时加上 "-b" 参数:
vim -b datafile
这个参数设定了 'binary' 选项。其作用是排除所有的意外副作用。例如,'textwidth'
设为零,免得文本行给擅自排版了。并且,文件一律以 Unix 文件格式读取。
二进制模式可以用来修改某程序的消息报文。小心别插入或删除任何字符,那会让程序运
行出问题。用 "R" 命令进入替换模式。
文件里的很多字符都是不可显示的。用 Hex 格式来显示它们的值:
:set display=uhex
另外,也可以用命令 "ga" 来显示光标下的字符值。当光标位于一个 字符上时,
该命令的输出看起来就像这样:
27, Hex 1b, Octal 033
文件中也许没那么多换行符。你可以关闭 'wrap' 选项来获得总览的效果:
:set nowrap
字 节 位 置
要发现你在文件中的当前字节位置,请用这个命令:
g CTRL-G
其输出十分冗长:
Col 9-16 of 9-16; Line 277 of 330; Word 1806 of 2058; Byte 10580 of 12206
最后两个数字就是文件中的当前字节位置和文件字节总数。这已经考虑了 'fileformat'
选项导致换行符字节不同的影响。
要移到文件中某个指定的字节,请用 "Go" 命令。例如,要移到字节 2345:
2345go
使 用 XXD
一个真正的二进制编辑器用两种方式来显示文本: 二进制和十六进制格式。你可以在 Vim
里通过转换程序 "xxd" 来达到这效果。该程序是随 Vim 一起发布的。
首先以二进制方式编辑这个文件:
vim -b datafile
现在用 xxd 把这个文件转换成十六进制:
:%!xxd
文本看起来像这样:
0000000: 1f8b 0808 39d7 173b 0203 7474 002b 4e49 ....9..;..tt.+NI
0000010: 4b2c 8660 eb9c ecac c462 eb94 345e 2e30 K,.`.....b..4^.0
0000020: 373b 2731 0b22 0ca6 c1a2 d669 1035 39d9 7;'1.".....i.59.
现在你可以随心所欲地阅读和编辑这些文本了。 Vim 把这些信息当作普通文本来对待。
修改了十六进制部分并不导致可显示字符部分的改变,反之亦然。
最后,用下面的命令把它转换回来:
:%!xxd -r
只有十六进制部分的修改才会被采用。右边可显示文本部分的修改忽略不计。

标签:
cat :由第一行开始显示文件内容;
tac:从最后一行开始显示,可以看出tac与cat字母顺序相反;
nl:显示的时候输出行号;
more:一页一页的显示文件内容;
less与more类似,但它可以向前翻页;
head:只看前几行;
tail:只看最后几行;
od:以二进制的方式读取文件;
命令详解
cat –n filename #显示的时候输出行号,与nl相同
cat是Concatenate(连续)的简写,主要功能是将有一个文件的内容连续显示在屏幕上。
tac (反向显示) 与Cat的显示方向相反
nl (显示时添加行号)它与cat、tac等,都是一次性将数据显示到屏幕,不能翻页

linux的命令--修改文件时间与创建新文件
文件的三种时间状态
Modification time(mtime)修改时间
status time (ctime)状态时间
access time(atime)访问时间
用ls -l命令查看到的时间是mtime
touch -a 仅修改access time
touch –c 仅修改时间,而不建立文件
touch –m 仅修改mtime
touch命令常用的情况是:
建立一个空文件
将某个文件日期修改为当前日期(mtime与atime)
文件的默认权限
若用户建立文件时,默认没有可执行(x)的权限,即只有rw这两个权限(-rw-rw-rw 666)
若用户建立的目录,由于x与是否可以进入此目录有关,因此默认为所有权限都开放,即777(drwxrwxrwx)
umask指定的是该默认值需要减掉的权限。因r、w、x分别是4、2、1,也就是说,当要去掉写权限时,就输入2,去掉读权限时,就输入4,。因为umask为022,所以user并没有去掉属性,不过group与others的属性被去掉了2(也就是w这个属性)

当用户建立文件时:-rw-r--r--
建立目录时:drwxr-xr-x

如何修改umask,如想修改成002
用umask 002 命令即可
文件隐藏属性
chattr(设置文件隐藏属性)
常用的参数
chattr –a :设置后,这个文件只能增加数据,而不能删除数据
chattr –i :它可以让一个文件不能被删除,改名、设置连接,也无法写入或新增数据。
lsattr (显示文件的隐藏属性)
lsattr –a :将隐藏文件的属性页显示出来。
搜索文件
find 不常用,速度慢
whereis
locate
which (寻找执行文件)
which –a command 将所有的命令均列出
whereis (寻找特定文件)
whereis 【-bmsu】文件与目录名
-b:只找二进制文件
-m:只找在帮助文件manual路径下的文件
-s:只找源文件
-u:没有帮助的文件
文件系统的简单操作
df 目录或文件名

查看二进制文件,用od或hexdump命令。


$ od -tx1 -tc -Ax binFile
000000  61  62  63  64  65  31  32  33  34  35  61  62  63  64  65  31
         a   b   c   d   e   1   2   3   4   5   a   b   c   d   e   1
000010  32  33  34  35  61  62  63  64  65  31  32  33  34  35  61  62
         2   3   4   5   a   b   c   d   e   1   2   3   4   5   a   b
000020  63  64  65  31  32  33  34  35  0a
         c   d   e   1   2   3   4   5  

000029

  

-tx1选项表示将文件中的字节以十六进制的形式列出来,每组一个字节(类似hexdump的-c选项)

-tc选项表示将文件中的ASCII码以字符形式列出来(和hexdump类似,输出结果最左边的一列是文件中的地址,默认以八进制显示)

-Ax选项要求以十六进制显示文件中的地址



一、在Linux下查看二进制文件的软件:

xxd (2进制)

hexdump (16进制)

二、编辑:

1、biew

2、hexedit

3、vim

Vim 来编辑二进制文件。Vim 本非为此而设计的,因而有若干局限。但你能读
取一个文件,改动一个字符,然后把它存盘。结果是你的文件就只有那一个字符给改了,
其它的就跟原来那个一模一样。
要保证 Vim 别把它那些聪明的窍门用错地方,启动 Vim 时加上 "-b" 参数:
vim -b datafile
这个参数设定了 'binary' 选项。其作用是排除所有的意外副作用。例如,'textwidth'
设为零,免得文本行给擅自排版了。并且,文件一律以 Unix 文件格式读取。
二进制模式可以用来修改某程序的消息报文。小心别插入或删除任何字符,那会让程序运
行出问题。用 "R" 命令进入替换模式。
文件里的很多字符都是不可显示的。用 Hex 格式来显示它们的值:
:set display=uhex
另外,也可以用命令 "ga" 来显示光标下的字符值。当光标位于一个 字符上时,
该命令的输出看起来就像这样:
27, Hex 1b, Octal 033
文件中也许没那么多换行符。你可以关闭 'wrap' 选项来获得总览的效果:
:set nowrap
字 节 位 置
要发现你在文件中的当前字节位置,请用这个命令:
g CTRL-G
其输出十分冗长:
Col 9-16 of 9-16; Line 277 of 330; Word 1806 of 2058; Byte 10580 of 12206
最后两个数字就是文件中的当前字节位置和文件字节总数。这已经考虑了 'fileformat'
选项导致换行符字节不同的影响。
要移到文件中某个指定的字节,请用 "Go" 命令。例如,要移到字节 2345:
2345go
使 用 XXD
一个真正的二进制编辑器用两种方式来显示文本: 二进制和十六进制格式。你可以在 Vim
里通过转换程序 "xxd" 来达到这效果。该程序是随 Vim 一起发布的。
首先以二进制方式编辑这个文件:
vim -b datafile
现在用 xxd 把这个文件转换成十六进制:
:%!xxd
文本看起来像这样:
0000000: 1f8b 0808 39d7 173b 0203 7474 002b 4e49 ....9..;..tt.+NI
0000010: 4b2c 8660 eb9c ecac c462 eb94 345e 2e30 K,.`.....b..4^.0
0000020: 373b 2731 0b22 0ca6 c1a2 d669 1035 39d9 7;'1.".....i.59.
现在你可以随心所欲地阅读和编辑这些文本了。 Vim 把这些信息当作普通文本来对待。
修改了十六进制部分并不导致可显示字符部分的改变,反之亦然。
最后,用下面的命令把它转换回来:
:%!xxd -r
只有十六进制部分的修改才会被采用。右边可显示文本部分的修改忽略不计。

直接打开那个文件就可以了, vi 文件路径


沙河市17776638984: linux 怎么看完二进制文件 -
紫罡膜固: 查看二进制文件,用od或hexdump命令.1 2 3 4 5 6 7 8$ od -tx1 -tc -Ax binFile 000000 61 62 63 64 65 31 32 33 34 35 61 62 63 64 65 31a b c d e 1 2 3 4 5 a b c d e 1 000010 32 33 34 35 61 62 63 64 65 31 32 33 34 35 61 622 3 4 5 a b c d ...

沙河市17776638984: linux下怎样打开16进制文件 -
紫罡膜固: 1.使用VI 或者 VIM 命令状态下:%!xxd --将当前文本转换为16进制格式.:%!od --将当前文本转换为16进制格式.:%!xxd -c 12--将当前文本转换为16进制格式,并每行显示12个字节.:%!xxd -r --将当前文件转换回文本格式.2.使用hexdump 例如 ...

沙河市17776638984: 怎么区分二进制文件 linux -
紫罡膜固: 查看文件是否是可执行的属性,是使用ls命令,要加一个-l参数:$ls-l./*#列出当前目录下的文件,并使用长信息格式.-rw-r--r--1cheyenneclass37Jan1211:00fichier看上面的系统显示,第一个区域(-rw-r--r--)代表的是文件的属性,第一个字符(...

沙河市17776638984: Linux下怎么查看16进制文件 -
紫罡膜固: 1、xxd - make a hexdump or do the reverse.能够显示文件对应的十六机制格式,同时还能将修还后的十六进制格式反写回文件,一般与vim结合使用.(在 vi 或 vim 的命令状态下):%!xxd 将当前文本转换为16进制格式.:%!xxd -r 将当前文件...

沙河市17776638984: linux二进制文件在哪个目录 -
紫罡膜固: 一般是 /bin 或者 /usr/bin 有的时候也在 /usr/share/bin 或者 /usr/local/bin /usr/lib/***** 之类的目录.

沙河市17776638984: 系统文件类型为data怎么查看内容 -
紫罡膜固: Linux下普通文件(-rw-r--r--)根据文件内容又分为三类: 1)纯文本文件(ASCII):cat命令即可查看 2)二进制文件(binary):od命令查看,如od /bin/ls 3)数据格式文件(data):last命令,如last /var/log/wtmp #PS:可以通过file或stat查看具体的文件类型

沙河市17776638984: Linux 中查看不断更新得文件命令 -
紫罡膜固: linux系统中经常有日志文件不停更新,此时查看不停刷新的日志文件需要用到以下命令: tail -f 文件名 -n 200 tail命令将文件写到标准输出 -n指的是输出文件的行数,可以将200改成其他数字.

沙河市17776638984: 如何查看二进制文件的内容 -
紫罡膜固: [root@new55~]# echo /etc/passwd | hexdump -C如果有什么不懂的话可以去看看《Linux就该这么学》这本书,非常适合新手学习Linux.

沙河市17776638984: 在linux下,怎样用c语言按行读取二进制文件,并写入到另一个文件中 -
紫罡膜固: 二进制文件分行吗?文本文件吧?你查一下fgets的api吧~有事查api自己钻研才有趣.http://man.chinaunix.net/develop/c&c++/linux_c/default.htm

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网