一、文本查看命令
1、cat命令:cat 是 concatenate(连接、连续)的简写。
cat 命令可以用来显示文本文件的内容(类似于 DOS 下的 type 命令),也可以把几个文件内容附加到另一个文件中,即连接合并文件,cat 命令用于查看文件内容时,不论文件内容有多少,都会一次性显示,cat 命令适合查看不太大的文件。
cat 命令的基本格式如下:
[root@localhost ~]# cat [选项] 文件名 或者 [root@localhost ~]# cat 文件1 文件2 > 文件3
选项 | 含义 |
---|---|
-A | 相当于 -vET 选项的整合,用于列出所有隐藏符号; |
-E | 列出每行结尾的回车符 $; |
-n | 对输出的所有行进行编号; |
-b | 同 -n 不同,此选项表示只对非空行进行编号。 |
-T | 把 Tab 键 ^I 显示出来; |
-V | 列出特殊字符; |
-s | 当遇到有连续 2 行以上的空白行时,就替换为 1 行的空白行。 |
将文件 file1.txt 和 file2.txt 的内容合并后输出到文件 file3.txt 中
[root@localhost base]# cat file1.txt file2.txt > file3.txt
2、more 命令
命令的基本格式如下:
[root@localhost ~]# more [选项] 文件名
more 命令选项及含义
选项 | 含义 |
---|---|
-f | 计算行数时,以实际的行数,而不是自动换行过后的行数。 |
-p | 不以卷动的方式显示每一页,而是先清除屏幕后再显示内容。 |
-c | 跟 -p 选项相似,不同的是先显示内容再清除其他旧资料。 |
-s | 当遇到有连续两行以上的空白行时,就替换为一行的空白行。 |
-u | 不显示下引号(根据环境变量 TERM 指定的终端而有所不同)。 |
+n | 从第 n 行开始显示文件内容,n 代表数字。 |
-n | 一次显示的行数,n 代表数字。 |
常用的交互命令
交互指令 | 功能 |
---|---|
h 或 ? | 显示 more 命令交互命令帮助。 |
q 或 Q | 退出 more。 |
v | 在当前行启动一个编辑器。 |
:f | 显示当前文件的文件名和行号。 |
!<命令> 或 :!<命令> | 在子Shell中执行指定命令。 |
回车键 | 向下移动一行。 |
空格键 | 向下移动一页。 |
Ctrl+l | 刷新屏幕。 |
= | 显示当前行的行号。 |
‘ | 转到上一次搜索开始的地方。 |
Ctrf+f | 向下滚动一页。 |
. | 重复上次输入的命令。 |
/ 字符串 | 搜索指定的字符串。 |
d | 向下移动半页。 |
b | 向上移动一页。 |
分页的方式显示 anaconda-ks.cfg 文件的内容
[root@localhost ~]# more anaconda-ks.cfg
每 10 行显示一屏,同时清楚屏幕
[root@localhost ~]# more -c -10 anaconda-ks.cfg
3、head命令
基本格式如下:
[root@localhost ~]# head [选项] 文件名
常用选项以及各自的含义
选项 | 含义 |
---|---|
-n K | 这里的 K 表示行数,该选项用来显示文件前 K 行的内容;如果使用 “-K” 作为参数,则表示除了文件最后 K 行外,显示剩余的全部内容。 |
-c K | 这里的 K 表示字节数,该选项用来显示文件前 K 个字节的内容;如果使用 “-K”,则表示除了文件最后 K 字节的内容,显示剩余全部内容。 |
-v | 显示文件名; |
head 命令默认显示文件的开头 10 行内容。如果想显示指定的行数,则只需使用 “-n” 选项
[root@localhost ~]# head -n 20 anaconda-ks.cfg
4、less 命令
less 命令提供了以下几个功能:
- 使用光标键可以在文本文件中前后(左后)滚屏;
- 用行号或百分比作为书签浏览文件;
- 提供更加友好的检索、高亮显示等操作;
- 兼容常用的字处理程序(如 Vim、Emacs)的键盘操作;
- 阅读到文件结束时,less 命令不会退出;
- 屏幕底部的信息提示更容易控制使用,而且提供了更多的信息。
less 命令的基本格式如下:
[root@localhost ~]# less [选项] 文件名
命令可用的选项以及各自的含义
选项 | 选项含义 |
---|---|
-N | 显示每行的行号。 |
-S | 行过长时将超出部分舍弃。 |
-e | 当文件显示结束后,自动离开。 |
-g | 只标志最后搜索到的关键同。 |
-Q | 不使用警告音。 |
-i | 忽略搜索时的大小写。 |
-m | 显示类似 more 命令的百分比。 |
-f | 强迫打开特殊文件,比如外围设备代号、目录和二进制文件。 |
-s | 显示连续空行为一行。 |
-b <缓冲区大小> | 设置缓冲区的大小。 |
-o <文件名> | 将 less 输出的内容保存到指定文件中。 |
-x <数字> | 将【Tab】键显示为规定的数字空格。 |
常用的交互指令
交互指令 | 功能 |
---|---|
/字符串 | 向下搜索“字符串”的功能。 |
?字符串 | 向上搜索“字符串”的功能。 |
n | 重复*前一个搜索(与 / 成 ? 有关)。 |
N | 反向重复前一个搜索(与 / 或 ? 有关)。 |
b | 向上移动一页。 |
d | 向下移动半页。 |
h 或 H | 显示帮助界面。 |
q 或 Q | 退出 less 命令。 |
y | 向上移动一行。 |
空格键 | 向下移动一页。 |
回车键 | 向下移动一行。 |
【PgDn】键 | 向下移动一页。 |
【PgUp】键 | 向上移动一页。 |
Ctrl+f | 向下移动一页。 |
Ctrl+b | 向上移动一页。 |
Ctrl+d | 向下移动一页。 |
Ctrl+u | 向上移动半页。 |
j | 向下移动一行。 |
k | 向上移动一行。 |
G | 移动至最后一行。 |
g | 移动到第一行。 |
ZZ | 退出 less 命令。 |
v | 使用配置的编辑器编辑当前文件。 |
[ | 移动到本文档的上一个节点。 |
] | 移动到本文档的下一个节点。 |
p | 移动到同级的上一个节点。 |
u | 向上移动半页。 |
less 在屏幕底部显示一个冒号(:),等待用户输入命令,比如说,用户想向下翻一页,可以按空格键;如果想向上翻一页,可以按 b 键。
5、tail 命令
查看文件末尾的数据,基本格式如下:
[root@localhost ~]# tail [选项] 文件名
命令常用的选项及含义
选项 | 含义 |
---|---|
-n K | 这里的 K 指的是行数,该选项表示输出最后 K 行,在此基础上,如果使用 -n +K,则表示从文件的第 K 行开始输出。 |
-c K | 这里的 K 指的是字节数,该选项表示输出文件最后 K 个字节的内容,在此基础上,使用 -c +K 则表示从文件第 K 个字节开始输出。 |
-f | 输出文件变化后新增加的数据。 |
二、重定向
1、重定向(输入输出重定向)
输入重定向:指的是重新指定设备来代替键盘作为新的输入设备;
输出重定向:指的是重新指定设备来代替显示器作为新的输出设备。
通常是用文件或命令的执行结果来代替键盘作为新的输入设备,而新的输出设备通常指的就是文件。
2、输入重定向
命令符号格式 | 作用 |
---|---|
命令 < 文件 | 将指定文件作为命令的输入设备 |
命令 << 分界符 | 表示从标准输入设备(键盘)中读入,直到遇到分界符才停止(读入的数据不包括分界符),这里的分界符其实就是自定义的字符串 |
命令 < 文件 1 > 文件 2 | 将文件 1 作为命令的输入设备,该命令的执行结果输出到文件 2 中。 |
以 /etc/passwd 文件(存储了系统中所有用户的基本信息)
[root@localhost ~]# cat /etc/passwd [root@localhost ~]# cat < /etc/passwd #输出结果同上面命令相同
虽然执行结果相同,但第一行代表是以键盘作为输入设备,而第二行代码是以 /etc/passwd 文件作为输入设备。
[root@localhost ~]# cat << 0 >c.biancheng.net >Linux >0
当指定了 0 作为分界符之后,只要不输入 0,就可以一直输入数据。
新建文本文件 a.tx,
[root@localhost ~]# cat < /etc/passwd > a.txt 通过重定向 /etc/passwd 作为输入设备,并输出重定向到 a.txt,最终实现了将 /etc/passwd 文件中内容复制到 a.txt 中。
3、输出重定向
输出重定向可以细分为标准输出重定向和错误输出重定向两种技术。
ls 命令分别查看两个文件的属性信息,但其中一个文件是不存在的
[root@localhost ~]# ls -l demo1.txt -rw-rw-r–. 1 root root 0 Oct 12 15:02 demo1.txt [root@localhost ~]# ls -l demo2.txt <– 不存在的文件 ls: cannot access demo2.txt: No such file or directory
demo1.txt 是存在的,因此正确输出了该文件的一些属性信息,这也是该命令执行的标准输出信息;而 demo2.txt 是不存在的,因此执行 ls 命令之后显示的报错信息,是该命令的错误输出信息。
输出重定向用到的符号及作用
命令符号格式 | 作用 |
---|---|
命令 > 文件 | 将命令执行的标准输出结果重定向输出到指定的文件中,如果该文件已包含数据,会清空原有数据,再写入新数据。 |
命令 2> 文件 | 将命令执行的错误输出结果重定向到指定的文件中,如果该文件中已包含数据,会清空原有数据,再写入新数据。 |
命令 >> 文件 | 将命令执行的标准输出结果重定向输出到指定的文件中,如果该文件已包含数据,新数据将写入到原有内容的后面。 |
命令 2>> 文件 | 将命令执行的错误输出结果重定向到指定的文件中,如果该文件中已包含数据,新数据将写入到原有内容的后面。 |
命令 >> 文件 2>&1 或者 命令 &>> 文件 |
将标准输出或者错误输出写入到指定文件,如果该文件中已包含数据,新数据将写入到原有内容的后面。注意,第一种格式中,最后的 2>&1 是一体的,可以认为是固定写法。 |
追加写入错误输出信息
[root@localhost ~]# cat b.txt 2>> demo.txt [root@localhost ~]# cat demo.txt cat: b.txt: No such file or directory
暂无评论内容