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

1.cat

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

1.命令概览

在文件内容比较少的时候,可以直接使用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 : 在逻辑定界符处不重新开始计算

完整选项如下:

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.命令概览

最常用的选项就是-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命令对直接查看二进制文件格式,查阅字节信息的开发者来说非常有用。

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

  1. Linux命令备忘实例——排序和基本统计命令

    sort  -t " " -k 3 uy.txt  同文本文件打交道的过程中,会遇到各种各样的与重复和顺序相关的任务,比较常用的就是sort.uniq,然后对文本的基本统计就是wc ...

  2. linux查cpu命令4可以选择哪些运动,Linux 查看cpu 信息的命令及简单实例

    Linux 查看cpu 信息的命令及简单实例 有的时候领导会问你某个服务器是多少核的,多少线程的,是不是会懵了,下面教你怎么看cpuinfo 1.查看cpu个数: # cat /proc/cpuinf ...

  3. KVM 虚拟机 virsh 命令备忘单

    这是一个全面的 virsh 命令备忘单: virsh 是 KVM 虚拟机的命令管理用户界面.virsh 可用于创建.暂停.重新启动和关闭域.此外,virsh 可用于列出您的虚拟化管理程序平台中可用的当 ...

  4. 【备忘】Android获取正在使用网络的IP4地址

    [备忘]Android获取正在使用网络的IP4地址 public String getLocalIpAddress() { String ipaddress="";try { fo ...

  5. linux程序压缩运行,linux压缩命令【应对步骤】

    虽然电脑已经很普遍了,但是一些年长的人对电脑的操作不是很熟悉,比如在使用win7系统时一旦遇到linux压缩命令 时就懵了,对于linux压缩命令 处理起来相对来说较简单,按照我们的步骤处理linux ...

  6. linux sed替换大小写,sed命令介绍 及实例(替换换行符及大小写替换)

    一.sed命令介绍 Table of Contents 1. Sed简介 2. 定址 3. Sed命令 4. 选项 5. 元字符集 6. 实例 7. 脚本 1. Sed简介 sed是一种在线编辑器,它 ...

  7. RedHat Yum 命令备忘单

    Yum 是Red Hat和基于 Red Hat 的 Linux 发行版中的包管理器,它允许您管理 Red Hat 系统上软件的各个方面. 你不会在这里详细学习 Yum 命令,相反,这个 Yum 备忘单 ...

  8. 安卓跑linux程序_Android 运行 Linux 可执行程序

    /**************************************************************************** * Android 运行 Linux 可执行 ...

  9. linux 程序占内存,linux概念之程序占用内存

    1.在linux下,查看一个运行中的程序,占用了多少内存,一般的命令有 (1). ps aux: 其中  VSZ(或VSS)列 表示,程序占用了多少虚拟内存. RSS列 表示, 程序占用了多少物理内存 ...

最新文章

  1. JavaScript实现冒泡排序
  2. python 奇偶拆分list,python拆分list,得到一个原来list的奇数list,一个原来list的偶数list...
  3. airpods pro连接安卓声音小_谁才是最好用的安卓无线耳机,三个方面对比AirPods与荣耀FlyPods...
  4. Dephi7程序设计与开发技术大全(求是科技)
  5. pyqt开发的程序模板_小程序定制开发和模板开发要多少钱?有什么区别?
  6. 前端学习(2845):秒杀基本介绍
  7. C++(STL):34--- multiset容器详解
  8. EasyUI_datagrid
  9. uboot启动 及命令分析(3)
  10. 网络爬虫中URLConnection的使用[以科学网为例]
  11. 无响应_搭建的Redis高可用,突然频繁无响应怎么破?
  12. js实现炫酷数字效果
  13. Django 创建超级用户
  14. 7.卷1(套接字联网API)---套接字选项
  15. atitit.自适应设计悬浮图片的大小and 位置
  16. fp-growth算法详解与实现
  17. AD学习笔记(三)PCB封装库绘制
  18. 随机过采样与随机欠采样 代码
  19. 2022-2028全球针织捆包网行业调研及趋势分析报告
  20. 模拟器搭建之一:如何搭建MT6573 模拟器

热门文章

  1. 多个项目怎么配置到服务器上,多个项目怎么配置到服务器
  2. Tiniux 3.0 / Memory.c / OSMemFree
  3. 百度牵头,全球首个面向商业化运营的Robotaxi技术标准正式发布
  4. ugui源码_UGUI 源码笔记(一)文件结构和部分组件使用
  5. vuevant移动端h5底部留白问题
  6. 前端数据的加密和解密--对象解密的坑
  7. 服务器修改mime类型,服务器上没有设置mime类型
  8. 虚拟机ubuntu19.04下设置idea快捷键
  9. [19/04/07-星期日] 多线程_线程的状态(新生、就绪、运行、死亡)
  10. AOSP 源码整编单编