linux程序实例获取,Linux命令备忘实例(4)——获取内容

Linux中的所有内容都是以文件的方式表示的,会有很多需求需要我们获取文件的内容,查看部分或者全部内容。当然最直接方式就是使用编辑器打开文件查看,比如vim、vi、emacs等。这里主要关注的是shell命令中获取文件内容的部分。

1.cat

cat命令的用途是连接文件或标准输入并打印。这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示。

1.命令概览

0818b9ca8b590ca3270a3433284dd417.png

在文件内容比较少的时候,可以直接使用cat命令打印出来或者使用管道符传递给后续命令处理文件内容。当然,cat也可以传入多个文件名,将多个文件的内容合并。一般文件内容行数超过40行时,使用cat不宜将内容输出到屏幕。

2.特性实例说明

-E(end)选项可以显示出结束字符,用“$”字符表示结束

-T(tab)选项可以显示tab字符,用“^I”字符表示tab

-s(squeeze)可以压缩连续的空行为一行

使用-v选项可以显示出所有非可打印字符,结合上述字符就是-t选项等于-vT,-e选项等于-vE。最后-A可以显示所有字符,也就是-vET的合体。

user@ubuntu:~$cat -E test

123$ $$456

user@ubuntu:~$cat -T test

123$^I$$456

user@ubuntu:~$cat -s test

123

456

user@ubuntu:~$cat -a test

123$^I$$456

另外还支持显示文件的行号,使用-n显示行号直接从第一行开始编号,对空行也计数。但是如果需要统计有效内容行数,可以使用-b选项跳过所有空行编号,只对有内容的行编号。

user@ubuntu:~$cat -n test

1 123

2

3

4 456

user@ubuntu:~$cat -b test

1 123

2

3 456

空行的定义是没人任何除换行符之外的字符的行,上述测试文件中第二行有一个tab字符也是算为有内容的行,从而也进行编号了。

3.衍生tac

tac是cat命令逆序的字符串,意义就是和cat命令的功能相反。从文件的最后一行进行依次输出,直到文件第一行为止。

2.nl

1.常用内容

nl命令在linux系统中用来计算文件中行号,当然也是直接输出文件内容。nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等等的功能。常用选项如下:

-b :指定行号指定的方式,主要有两种: -b a :表示不论是否为空行,也同样列出行号(类似 cat -n); -b t :如果有空行,空的那一行不要列出行号(默认值); -n :列出行号表示的方法,主要有三种: -n ln :行号在萤幕的最左方显示; -n rn :行号在自己栏位的最右方显示,且不加 0 ; -n rz :行号在自己栏位的最右方显示,且加 0 ; -w : 行号栏位的占用的位数,默认为6位。 -p : 在逻辑定界符处不重新开始计算

完整选项如下:

0818b9ca8b590ca3270a3433284dd417.png

user@ubuntu:~$nl -b t test

1 123

2

3 456

user@ubuntu:~$nl -n ln test

1 123

2

3 456

user@ubuntu:~$nl -n rz test

000001 123

000002

000003 456

user@ubuntu:~$nl -n rz -w 2 test

01 123

02

03 456

user@ubuntu:~$nl -n ln -i 2 test

1 123

3

5 456

user@ubuntu:~$nl -n rn -s 'row:' test

1row:123

2row:

3row:456

nl 命令读取 File 参数(缺省情况下标准输入),计算输入中的行号,将计算过的行号写入标准输出。 在输出中,nl 命令根据您在命令行中指定的标志来计算左边的行。 -i可以设置行号增量,默认为1。-s可以设置插入到行号后的字符串。

2.扩展

输入文本必须写在逻辑页中。每个逻辑页有头、主体和页脚节(可以有空节)。-p选项设置后nl命令将从每个逻辑页开始重新编号,-d可以设置逻辑页的分隔符。另外,-f和-h选项可以设置逻辑页的页脚、页头的格式。

3.od

上述命令将文件输出到屏幕或者是管道符,但是都是非二进制文件。如果遇到二进制文件,上述命令会出现乱码,此时可以使用od这个命令来查看二进制文件的字节信息。

1.命令概览

0818b9ca8b590ca3270a3433284dd417.png

最常用的选项就是-t,后接各种类型来进行输出,当然也有为了保持兼容的传统选项,上图中可以看出能用-t TYPE的各种方式构建出来。各种类型如下:

a:利用默认字符输出

c:ASCII字符或者转义字符表示

d[SIZE]:利用有符号十进制(decimal)数输出数据,每个数占用SIZE个字节

f[SIZE]:利用浮点数输出数据,每个数占用SIZE个字节

o[SIZE]:利用八进制输出数据,每个数占用SIZE个字节

u[SIZE]:利用无符号十进制数表示,每个数占用SIZE个字节

x[SIZE]:利用十六进制数表示,每个数占用SIZE个字节

SIZE:是一个数字,用字符表示。当TYPE是d/o/u/x时,有如下选项:

C : sizeof(char)

S : sizeof(short)

I : sizeof(int)

L : sizeof(long)

当TYPE是f时,为如下选项:

F : sizeof(float)

D : sizeof(double)

L : sizeof(long double)

-N选项可以指定读取的二进制字节数目,-j选项可以指定跳过开头的指定书目字节。-S BYTES指定输出至少BYTES个可打印字符。-w可以指定每行打印的字节数目。-A选项的RADIX指定文件的偏移量输出格式:d(decimal)、x(hex)、o(oct)、n(none),默认格式为八进制表示。

user@ubuntu:~$od -t x1 -N 16 -A x /usr/bin/od

000000 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00

000010

user@ubuntu:~$od -t x1 -N 12 -Ax -j4 /usr/bin/od

000004 01 01 01 00 00 00 00 00 00 00 00 00

000010

user@ubuntu:~$od -t x1 -N 16 /usr/bin/od

0000000 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00

0000020

user@ubuntu:~$od -t xCc -N16 /usr/bin/od

0000000 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00

177 E L F 001 001 001 \0 \0 \0 \0 \0 \0 \0 \0 \0

0000020

对-t选项后面可以接多个类型,从而可以进行对照查看,x选项显示十六进制表示,c表示对于的ASCII表示。另外,所有的BYTES参数,默认不带单位就是字节,可以加上b(512)、kB(1000)、K(1024)、MB(1000*1000)、M(1024*1024)、GB/G/TB/T/PB/P/EB/E/ZB/Z/YB/Y。 使用 od命令对直接查看二进制文件格式,查阅字节信息的开发者来说非常有用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值