366 lines
10 KiB
Markdown
366 lines
10 KiB
Markdown
|
---
|
|||
|
title: linux 常用命令-文件内容查看
|
|||
|
date: 2018/02/27
|
|||
|
categories:
|
|||
|
- linux
|
|||
|
tags:
|
|||
|
- linux
|
|||
|
- command
|
|||
|
---
|
|||
|
|
|||
|
<!-- TOC -->
|
|||
|
|
|||
|
- [linux 常用命令-文件内容查看](#linux-%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4-%E6%96%87%E4%BB%B6%E5%86%85%E5%AE%B9%E6%9F%A5%E7%9C%8B)
|
|||
|
- [cut](#cut)
|
|||
|
- [补充说明](#%E8%A1%A5%E5%85%85%E8%AF%B4%E6%98%8E)
|
|||
|
- [语法](#%E8%AF%AD%E6%B3%95)
|
|||
|
- [选项](#%E9%80%89%E9%A1%B9)
|
|||
|
- [参数](#%E5%8F%82%E6%95%B0)
|
|||
|
- [实例](#%E5%AE%9E%E4%BE%8B)
|
|||
|
- [指定字段的字符或者字节范围](#%E6%8C%87%E5%AE%9A%E5%AD%97%E6%AE%B5%E7%9A%84%E5%AD%97%E7%AC%A6%E6%88%96%E8%80%85%E5%AD%97%E8%8A%82%E8%8C%83%E5%9B%B4)
|
|||
|
- [head](#head)
|
|||
|
- [补充说明](#%E8%A1%A5%E5%85%85%E8%AF%B4%E6%98%8E)
|
|||
|
- [语法](#%E8%AF%AD%E6%B3%95)
|
|||
|
- [选项](#%E9%80%89%E9%A1%B9)
|
|||
|
- [参数](#%E5%8F%82%E6%95%B0)
|
|||
|
- [tail](#tail)
|
|||
|
- [补充说明](#%E8%A1%A5%E5%85%85%E8%AF%B4%E6%98%8E)
|
|||
|
- [语法](#%E8%AF%AD%E6%B3%95)
|
|||
|
- [选项](#%E9%80%89%E9%A1%B9)
|
|||
|
- [参数](#%E5%8F%82%E6%95%B0)
|
|||
|
- [实例](#%E5%AE%9E%E4%BE%8B)
|
|||
|
- [more](#more)
|
|||
|
- [补充说明](#%E8%A1%A5%E5%85%85%E8%AF%B4%E6%98%8E)
|
|||
|
- [语法](#%E8%AF%AD%E6%B3%95)
|
|||
|
- [选项](#%E9%80%89%E9%A1%B9)
|
|||
|
- [参数](#%E5%8F%82%E6%95%B0)
|
|||
|
- [实例](#%E5%AE%9E%E4%BE%8B)
|
|||
|
- [less](#less)
|
|||
|
- [补充说明](#%E8%A1%A5%E5%85%85%E8%AF%B4%E6%98%8E)
|
|||
|
- [语法](#%E8%AF%AD%E6%B3%95)
|
|||
|
- [选项](#%E9%80%89%E9%A1%B9)
|
|||
|
- [参数](#%E5%8F%82%E6%95%B0)
|
|||
|
- [实例](#%E5%AE%9E%E4%BE%8B)
|
|||
|
|
|||
|
<!-- /TOC -->
|
|||
|
|
|||
|
# linux 常用命令-文件内容查看
|
|||
|
|
|||
|
## cut
|
|||
|
|
|||
|
连接文件并打印到标准输出设备上
|
|||
|
|
|||
|
### 补充说明
|
|||
|
|
|||
|
**cut命令** 用来显示行中的指定部分,删除文件中指定字段。cut经常用来显示文件的内容,类似于下的type命令。
|
|||
|
|
|||
|
说明:该命令有两项功能,其一是用来显示文件的内容,它依次读取由参数file所指 明的文件,将它们的内容输出到标准输出上;其二是连接两个或多个文件,如`cut fl f2 > f3`将把文件fl和几的内容合并起来,然后通过输出重定向符“>”的作用,将它们放入文件f3中。
|
|||
|
|
|||
|
当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容。因此,一般用more等命令分屏显示。为了控制滚屏,可以按Ctrl+S键,停止滚屏;按Ctrl+Q键可以恢复滚屏。按Ctrl+C(中断)键可以终止该命令的执行,并且返回Shell提示符状态。
|
|||
|
|
|||
|
### 语法
|
|||
|
|
|||
|
```
|
|||
|
cut(选项)(参数)
|
|||
|
```
|
|||
|
|
|||
|
### 选项
|
|||
|
|
|||
|
```
|
|||
|
-b:仅显示行中指定直接范围的内容;
|
|||
|
-c:仅显示行中指定范围的字符;
|
|||
|
-d:指定字段的分隔符,默认的字段分隔符为“TAB”;
|
|||
|
-f:显示指定字段的内容;
|
|||
|
-n:与“-b”选项连用,不分割多字节字符;
|
|||
|
--complement:补足被选择的字节、字符或字段;
|
|||
|
--out-delimiter=<字段分隔符>:指定输出内容是的字段分割符;
|
|||
|
--help:显示指令的帮助信息;
|
|||
|
--version:显示指令的版本信息。
|
|||
|
```
|
|||
|
|
|||
|
### 参数
|
|||
|
|
|||
|
文件:指定要进行内容过滤的文件。
|
|||
|
|
|||
|
### 实例
|
|||
|
|
|||
|
例如有一个学生报表信息,包含No、Name、Mark、Percent:
|
|||
|
|
|||
|
```
|
|||
|
[root@localhost text]# cat test.txt
|
|||
|
No Name Mark Percent
|
|||
|
01 tom 69 91
|
|||
|
02 jack 71 87
|
|||
|
03 alex 68 98
|
|||
|
|
|||
|
```
|
|||
|
|
|||
|
使用 **-f** 选项提取指定字段:
|
|||
|
|
|||
|
```
|
|||
|
[root@localhost text]# cut -f 1 test.txt
|
|||
|
No
|
|||
|
01
|
|||
|
02
|
|||
|
03
|
|||
|
```
|
|||
|
|
|||
|
```
|
|||
|
[root@localhost text]# cut -f2,3 test.txt
|
|||
|
Name Mark
|
|||
|
tom 69
|
|||
|
jack 71
|
|||
|
alex 68
|
|||
|
|
|||
|
```
|
|||
|
|
|||
|
**--complement** 选项提取指定字段之外的列(打印除了第二列之外的列):
|
|||
|
|
|||
|
```
|
|||
|
[root@localhost text]# cut -f2 --complement test.txt
|
|||
|
No Mark Percent
|
|||
|
01 69 91
|
|||
|
02 71 87
|
|||
|
03 68 98
|
|||
|
|
|||
|
```
|
|||
|
|
|||
|
使用 **-d** 选项指定字段分隔符:
|
|||
|
|
|||
|
```
|
|||
|
[root@localhost text]# cat test2.txt
|
|||
|
No;Name;Mark;Percent
|
|||
|
01;tom;69;91
|
|||
|
02;jack;71;87
|
|||
|
03;alex;68;98
|
|||
|
```
|
|||
|
|
|||
|
```
|
|||
|
[root@localhost text]# cut -f2 -d";" test2.txt
|
|||
|
Name
|
|||
|
tom
|
|||
|
jack
|
|||
|
alex
|
|||
|
|
|||
|
```
|
|||
|
|
|||
|
### 指定字段的字符或者字节范围
|
|||
|
|
|||
|
cut命令可以将一串字符作为列来显示,字符字段的记法:
|
|||
|
|
|||
|
* **N-** :从第N个字节、字符、字段到结尾;
|
|||
|
* **N-M** :从第N个字节、字符、字段到第M个(包括M在内)字节、字符、字段;
|
|||
|
* **-M** :从第1个字节、字符、字段到第M个(包括M在内)字节、字符、字段。
|
|||
|
|
|||
|
上面是记法,结合下面选项将摸个范围的字节、字符指定为字段:
|
|||
|
|
|||
|
* **-b** 表示字节;
|
|||
|
* **-c** 表示字符;
|
|||
|
* **-f** 表示定义字段。
|
|||
|
|
|||
|
**示例**
|
|||
|
|
|||
|
```
|
|||
|
[root@localhost text]# cat test.txt
|
|||
|
abcdefghijklmnopqrstuvwxyz
|
|||
|
abcdefghijklmnopqrstuvwxyz
|
|||
|
abcdefghijklmnopqrstuvwxyz
|
|||
|
abcdefghijklmnopqrstuvwxyz
|
|||
|
abcdefghijklmnopqrstuvwxyz
|
|||
|
|
|||
|
```
|
|||
|
|
|||
|
打印第1个到第3个字符:
|
|||
|
|
|||
|
```
|
|||
|
[root@localhost text]# cut -c1-3 test.txt
|
|||
|
abc
|
|||
|
abc
|
|||
|
abc
|
|||
|
abc
|
|||
|
abc
|
|||
|
|
|||
|
```
|
|||
|
|
|||
|
打印前2个字符:
|
|||
|
|
|||
|
```
|
|||
|
[root@localhost text]# cut -c-2 test.txt
|
|||
|
ab
|
|||
|
ab
|
|||
|
ab
|
|||
|
ab
|
|||
|
ab
|
|||
|
|
|||
|
```
|
|||
|
|
|||
|
打印从第5个字符开始到结尾:
|
|||
|
|
|||
|
```
|
|||
|
[root@localhost text]# cut -c5- test.txt
|
|||
|
efghijklmnopqrstuvwxyz
|
|||
|
efghijklmnopqrstuvwxyz
|
|||
|
efghijklmnopqrstuvwxyz
|
|||
|
efghijklmnopqrstuvwxyz
|
|||
|
efghijklmnopqrstuvwxyz
|
|||
|
```
|
|||
|
|
|||
|
## head
|
|||
|
|
|||
|
在屏幕上显示指定文件的开头若干行
|
|||
|
|
|||
|
### 补充说明
|
|||
|
|
|||
|
**head命令** 用于显示文件的开头的内容。在默认情况下,head命令显示文件的头10行内容。
|
|||
|
|
|||
|
### 语法
|
|||
|
|
|||
|
```
|
|||
|
head(选项)(参数)
|
|||
|
```
|
|||
|
|
|||
|
### 选项
|
|||
|
|
|||
|
```
|
|||
|
-n<数字>:指定显示头部内容的行数;
|
|||
|
-c<字符数>:指定显示头部内容的字符数;
|
|||
|
-v:总是显示文件名的头信息;
|
|||
|
-q:不显示文件名的头信息。
|
|||
|
```
|
|||
|
|
|||
|
### 参数
|
|||
|
|
|||
|
文件列表:指定显示头部内容的文件列表。
|
|||
|
|
|||
|
## tail
|
|||
|
|
|||
|
在屏幕上显示指定文件的末尾若干行
|
|||
|
|
|||
|
### 补充说明
|
|||
|
|
|||
|
**tail命令** 用于输入文件中的尾部内容。tail命令默认在屏幕上显示指定文件的末尾10行。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为“-”,则读取标准输入。
|
|||
|
|
|||
|
注意:如果表示字节或行数的N值之前有一个”+”号,则从文件开头的第N项开始显示,而不是显示文件的最后N项。N值后面可以有后缀:b表示512,k表示1024,m表示1 048576(1M)。
|
|||
|
|
|||
|
### 语法
|
|||
|
|
|||
|
```
|
|||
|
tail(选项)(参数)
|
|||
|
```
|
|||
|
|
|||
|
### 选项
|
|||
|
|
|||
|
```
|
|||
|
--retry:即是在tail命令启动时,文件不可访问或者文件稍后变得不可访问,都始终尝试打开文件。使用此选项时需要与选项“——follow=name”连用;
|
|||
|
-c<N>或——bytes=<N>:输出文件尾部的N(N为整数)个字节内容;
|
|||
|
-f<name/descriptor>或;--follow<nameldescript>:显示文件最新追加的内容。“name”表示以文件名的方式监视文件的变化。“-f”与“-fdescriptor”等效;
|
|||
|
-F:与选项“-follow=name”和“--retry"连用时功能相同;
|
|||
|
-n<N>或——line=<N>:输出文件的尾部N(N位数字)行内容。
|
|||
|
--pid=<进程号>:与“-f”选项连用,当指定的进程号的进程终止后,自动退出tail命令;
|
|||
|
-q或——quiet或——silent:当有多个文件参数时,不输出各个文件名;
|
|||
|
-s<秒数>或——sleep-interal=<秒数>:与“-f”选项连用,指定监视文件变化时间隔的秒数;
|
|||
|
-v或——verbose:当有多个文件参数时,总是输出各个文件名;
|
|||
|
--help:显示指令的帮助信息;
|
|||
|
--version:显示指令的版本信息。
|
|||
|
```
|
|||
|
|
|||
|
### 参数
|
|||
|
|
|||
|
文件列表:指定要显示尾部内容的文件列表。
|
|||
|
|
|||
|
### 实例
|
|||
|
|
|||
|
```
|
|||
|
tail file (显示文件file的最后10行)
|
|||
|
tail -n +20 file (显示文件file的内容,从第20行至文件末尾)
|
|||
|
tail -c 10 file (显示文件file的最后10个字符)
|
|||
|
```
|
|||
|
|
|||
|
## more
|
|||
|
|
|||
|
显示文件内容,每次显示一屏
|
|||
|
|
|||
|
### 补充说明
|
|||
|
|
|||
|
**more命令** 是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作。more名单中内置了若干快捷键,常用的有H(获得帮助信息),Enter(向下翻滚一行),空格(向下滚动一屏),Q(退出命令)。
|
|||
|
|
|||
|
该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比:--More--(XX%)可以用下列不同的方法对提示做出回答:
|
|||
|
|
|||
|
* 按Space键:显示文本的下一屏内容。
|
|||
|
* 按Enier键:只显示文本的下一行内容。
|
|||
|
* 按斜线符`|`:接着输入一个模式,可以在文本中寻找下一个相匹配的模式。
|
|||
|
* 按H键:显示帮助屏,该屏上有相关的帮助信息。
|
|||
|
* 按B键:显示上一屏内容。
|
|||
|
* 按Q键:退出rnore命令。
|
|||
|
|
|||
|
### 语法
|
|||
|
|
|||
|
```
|
|||
|
more(语法)(参数)
|
|||
|
```
|
|||
|
|
|||
|
### 选项
|
|||
|
|
|||
|
```
|
|||
|
-<数字>:指定每屏显示的行数;
|
|||
|
-d:显示“[press space to continue,'q' to quit.]”和“[Press 'h' for instructions]”;
|
|||
|
-c:不进行滚屏操作。每次刷新这个屏幕;
|
|||
|
-s:将多个空行压缩成一行显示;
|
|||
|
-u:禁止下划线;
|
|||
|
+<数字>:从指定数字的行开始显示。
|
|||
|
```
|
|||
|
|
|||
|
### 参数
|
|||
|
|
|||
|
文件:指定分页显示内容的文件。
|
|||
|
|
|||
|
### 实例
|
|||
|
|
|||
|
显示文件file的内容,但在显示之前先清屏,并且在屏幕的最下方显示完核的百分比。
|
|||
|
|
|||
|
```
|
|||
|
more -dc file
|
|||
|
```
|
|||
|
|
|||
|
显示文件file的内容,每10行显示一次,而且在显示之前先清屏。
|
|||
|
|
|||
|
```
|
|||
|
more -c -10 file
|
|||
|
```
|
|||
|
|
|||
|
## less
|
|||
|
|
|||
|
分屏上下翻页浏览文件内容
|
|||
|
|
|||
|
### 补充说明
|
|||
|
|
|||
|
**less命令** 的作用与more十分相似,都可以用来浏览文字档案的内容,不同的是less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键。
|
|||
|
|
|||
|
### 语法
|
|||
|
|
|||
|
```
|
|||
|
less(选项)(参数)
|
|||
|
```
|
|||
|
|
|||
|
### 选项
|
|||
|
|
|||
|
```
|
|||
|
-e:文件内容显示完毕后,自动退出;
|
|||
|
-f:强制显示文件;
|
|||
|
-g:不加亮显示搜索到的所有关键词,仅显示当前显示的关键字,以提高显示速度;
|
|||
|
-l:搜索时忽略大小写的差异;
|
|||
|
-N:每一行行首显示行号;
|
|||
|
-s:将连续多个空行压缩成一行显示;
|
|||
|
-S:在单行显示较长的内容,而不换行显示;
|
|||
|
-x<数字>:将TAB字符显示为指定个数的空格字符。
|
|||
|
```
|
|||
|
|
|||
|
### 参数
|
|||
|
|
|||
|
文件:指定要分屏显示内容的文件。
|
|||
|
|
|||
|
## 实例
|
|||
|
|
|||
|
```bash
|
|||
|
sudo less /var/log/shadowsocks.log
|
|||
|
```
|