3.21 od:按不同进制显示文件
3.21.1 命令详解
【命令星级】 ★★☆☆☆
【功能说明】
od命令用于输出文件的八进制、十六进制或者其他格式编码的字节,通常用于显示或查看文件中不能直接显示在终端的字符。
【用法格式】
od [option] [file]
od [选项] [文件]
**说明:**在od命令及后面的选项和文件里,每个元素直接都至少要有一个空格。
【选项说明】
表3-21针对该命令的参数选项进行了说明。
表3-21 od命令的参数选项及说明
3.21.2 使用范例
**范例3-73:**查看二进制命令文件的内容。
[root@centos7 ~]# file /bin/ls #像ls命令是一个二进制命令,通过cat命令查看会发现一堆乱码。
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=aaf05615b6c91d3cbb076af81aeff531c5d7dfd9, stripped
[root@centos7 ~]# od -Ax -tcx /bin/ls |more #使用od命令就可以查看内容。
000000 177 E L F 002 001 001 \0 \0 \0 \0 \0 \0 \0 \0
\0
464c457f 00010102 00000000 000000
00
000010 002 \0 > \0 001 \0 \0 \0 $ C @ \0 \0 \0 \0
\0
003e0002 00000001 00404324 000000
00
000020 @ \0 \0 \0 \0 \0 \0 \0 350 303 001 \0 \0 \0 \0
\0
00000040 00000000 0001c3e8 000000
00
000030 \0 \0 \0 \0 @ \0 8 \0 \t \0 @ \0 036 \0 035
\0
00000000 00380040 00400009 001d00
1e
000040 006 \0 \0 \0 005 \0 \0 \0 @ \0 \0 \0 \0 \0 \0
\0
00000006 00000005 00000040 000000
00
000050 @ \0 @ \0 \0 \0 \0 \0 @ \0 @ \0 \0 \0 \0
\0
00400040 00000000 00400040 000000
00
--More--
3.22 tee:多重定向
3.22.1 命令详解
【命令星级】 ★★★☆☆
【功能说明】
tee命令用于将数据重定向到文件,同时提供一份重定向数据的副本作为后续命令的标准输入。简单地说就是把数据重定向到给定文件和屏幕上。
【用法格式】
tee [option] [file]
tee [选项] [文件]
**说明:**在tee命令及后面的选项和文件里,每个元素直接都至少要有一个空格。
【选项说明】
表3-22针对该命令的参数选项进行了说明。
表3-22 tee命令的参数选项及说明
3.22.2 使用范例
**范例3-74:**tee命令允许标准输出同时把内容写入(覆盖)到文件中的实践示例。
[root@centos7 ~]# ls #下面是当前目录的内容。
anaconda-ks.cfg
[root@centos7 ~]# ls |tee ls.txt #ls命令接管道和tee命令,在屏幕上输出ls的结果,同时将结果写入到ls.txt。
anaconda-ks.cfg
[root@centos7 ~]# cat ls.txt #同时ls命令输出的内容又被写入到ls.txt文件中,会清空ls.txt的原有内容,类似重定向符号(>)。
anaconda-ks.cfg
**范例3-75:**tee命令允许标准输出同时把内容追加到文件中的例子实践。
[root@centos7 ~]# ls |tee -a ls.txt #使用参数-a可以追加内容到文件中,不会清空文件中已有的内容。
anaconda-ks.cfg
ls.txt
[root@centos7 ~]# cat ls.txt
anaconda-ks.cfg #没有覆盖ls.txt文件以前的内容。
anaconda-ks.cfg
ls.txt
[root@centos7 ~]# ls |tee ls.txt #不加参数-a,覆盖了ls.txt文件以前的内容。
anaconda-ks.cfg
ls.txt
[root@centos7 ~]# cat ls.txt
anaconda-ks.cfg
ls.txt