Linux命令 - cat命令
Linux中 cat 命令的用途是连接文件或标准输入并打印。这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。
1.语法:
touch [选项] [文件名称]...
2.功能:
1.一次显示整个文件。
2.创建一个新文件。只能创建新文件,不能编辑已有文件。
3.将几个文件合并为一个文件。
3.参数:
-n或--number 由 1 开始对所有输出的行数编号。
-b或--number-nonblank 和 -n 相似,只不过对于空白行不编号。
-s或--squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行。
-v或--show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外。
-A或--show-all 等价于 -vET。
-e 等价于 -vE。
-E或--show-ends 在每行结束处显示 $。
-t 与 -vT 等价。
-T或--show-tabs 将跳格字符显示为 ^I。
4.常用范例:
例一:把 log2.txt的文件内容加上行号后输入 log1.txt这个文件里
命令:cat -n log2.txt log1.txt
[root@localhost test]# cat log1.txt
Thu Feb 25 09:46:34 2021
Create Relation ADR_CONTROL
Create Relation ADR_INVALIDATION
Create Relation INC_METER_IMPT_DEF
Create Relation INC_METER_PK_IMPTS
[root@localhost test]# cat log2.txt
Directory does not exist for read/write [F:\OracleServer\product\11.2.0\dbhome_1\log] [F:\OracleServer\product\11.2.0\dbhome_1\log\diag]
Thu Feb 25 10:24:12 2021
Directory does not exist for read/write [f:\oracleclient\log] []
Thu Feb 25 10:34:20 2021
Directory does not exist for read/write [F:\OracleServer\product\11.2.0\dbhome_1\log] [F:\OracleServer\product\11.2.0\dbhome_1\log\diag\clients]
Thu Feb 25 10:35:59 2021
Directory does not exist for read/write [F:\OracleServer\product\11.2.0\dbhome_1\log] [F:\OracleServer\product\11.2.0\dbhome_1\log\diag\clients]
Thu Feb 25 10:36:10 2021
[root@localhost test]# cat -n log2.txt log1.txt
1 Directory does not exist for read/write [F:\OracleServer\product\11.2.0\dbhome_1\log] [F:\OracleServer\product\11.2.0\dbhome_1\log\diag]
2 Thu Feb 25 10:24:12 2021
3 Directory does not exist for read/write [f:\oracleclient\log] []
4 Thu Feb 25 10:34:20 2021
5 Directory does not exist for read/write [F:\OracleServer\product\11.2.0\dbhome_1\log] [F:\OracleServer\product\11.2.0\dbhome_1\log\diag\clients]
6 Thu Feb 25 10:35:59 2021
7 Directory does not exist for read/write [F:\OracleServer\product\11.2.0\dbhome_1\log] [F:\OracleServer\product\11.2.0\dbhome_1\log\diag\clients]
8 Thu Feb 25 10:36:10 2021
9 Thu Feb 25 09:46:34 2021
10 Create Relation ADR_CONTROL
11 Create Relation ADR_INVALIDATION
12 Create Relation INC_METER_IMPT_DEF
13 Create Relation INC_METER_PK_IMPTS
例二:把 log2.txt和 log3.txt的文件内容加上行号(空白行不加)之后将内容附加到log1.txt里
命令:cat -b log2.txt log3.txt log1.txt
[root@localhost test]# cat -b log2.txt log3.txt log1.txt
1 Directory does not exist for read/write [F:\OracleServer\product\11.2.0\dbhome_1\log] [F:\OracleServer\product\11.2.0\dbhome_1\log\diag]
2 Thu Feb 25 10:24:12 2021
3 Directory does not exist for read/write [f:\oracleclient\log] []
4 Thu Feb 25 10:34:20 2021
5 Directory does not exist for read/write [F:\OracleServer\product\11.2.0\dbhome_1\log] [F:\OracleServer\product\11.2.0\dbhome_1\log\diag\clients]
6 Thu Feb 25 10:35:59 2021
7 Directory does not exist for read/write [F:\OracleServer\product\11.2.0\dbhome_1\log] [F:\OracleServer\product\11.2.0\dbhome_1\log\diag\clients]
8 Thu Feb 25 10:36:10 2021
9 Directory does not exist for read/write [F:\OracleServer\product\11.2.0\dbhome_1\log] [F:\OracleServer\product\11.2.0\dbhome_1\log\diag\clients]
10 Thu Feb 25 10:36:40 2021
11 Directory does not exist for read/write [F:\OracleServer\product\11.2.0\dbhome_1\log] [F:\OracleServer\product\11.2.0\dbhome_1\log\diag\clients]
12 Thu Feb 25 10:36:58 2021
13 Directory does not exist for read/write [F:\OracleServer\product\11.2.0\dbhome_1\log] [F:\OracleServer\product\11.2.0\dbhome_1\log\diag\clients]
14 Thu Feb 25 15:38:05 2021
15 Directory does not exist for read/write [F:\OracleServer\product\11.2.0\dbhome_1\log] [F:\OracleServer\product\11.2.0\dbhome_1\log\diag\clients]
16 Thu Feb 25 09:46:34 2021
17 Create Relation ADR_CONTROL
18 Create Relation ADR_INVALIDATION
19 Create Relation INC_METER_IMPT_DEF
20 Create Relation INC_METER_PK_IMPTS
**例三:把 log1.txt 的文件内容加上行号后输入log.txt这个文件里 **
命令:cat -n log1.txt> log.txt
[root@localhost test]# cat log.txt
[root@localhost test]# cat -n log1.txt> log.txt
[root@localhost test]# cat log.txt
1 Thu Feb 25 09:46:34 2021
2 Create Relation ADR_CONTROL
3 Create Relation ADR_INVALIDATION
4 Create Relation INC_METER_IMPT_DEF
5 Create Relation INC_METER_PK_IMPTS
例四:向文件中写入内容
命令:cat >log.txt <<EOF
如果文件已经存在且有内容,原来的内容会被覆盖。
[root@localhost test]# ll
总用量 0
-rw-r--r--. 1 root root 0 5月 14 16:02 log1.txt
-rw-r--r--. 1 root root 0 5月 14 16:07 log2.txt
-rw-r--r--. 1 root root 0 5月 14 16:07 log3.txt
[root@localhost test]# touch -t 202105141619.50 log3.txt
[root@localhost test]# ll
总用量 0
-rw-r--r--. 1 root root 0 5月 14 16:02 log1.txt
-rw-r--r--. 1 root root 0 5月 14 16:07 log2.txt
-rw-r--r--. 1 root root 0 5月 14 2021 log3.txt
例五:反向显示内容
命令:tac log.txt
tac 是将 cat 反写过来,所以他的功能就跟 cat 相反, cat 是由第一行到最后一行连续显示在萤幕上,而 tac 则是由最后一行到第一行反向在萤幕上显示出来。
[root@localhost test]# cat log.txt
Hello
Linux
[root@localhost test]# tac log.txt
Linux
Hello