文章目录
- 一、命令介绍
- 二、命令选项
- 三、参考示例
- (一)查看文件的内容,并显示行数编号
- (二)把 test4.txt 的内容加上行号后输出到 test3.txt 这个文档里
- (三)清空 test4.txt 的内容
- (四)往文件写入内容,碰到 EOF 符后结束并保存(如果文件内有内容会被覆盖掉)
- (五)把 test1.txt 和 test2.txt 的内容先合并,再加上行号(空白行不加),然后输出到test3.txt 文档中
- (六)显示CPU的信息
- (七)显示 Linux 内核的版本
- (八)根据 PID 查看某个进程的详情
- (九)cat 命令和截止符
一、命令介绍
cat
的英文全称是 concatenate
,该命令用来连接文件并将文件内容打印到标准输出设备上,cat
经常用来显示文件的内容,类似于 Windows 下的 type
命令。
注意:当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容。因此,一般用 more 等命令分屏显示。为了控制滚屏,可以按Ctrl+S键,停止滚屏;按Ctrl+Q键可以恢复滚屏。按 Ctrl+C(中断)键可以终止该命令的执行,并且返回 Shell 提示符状态。
二、命令选项
选项 | 说明 |
---|---|
-n | 显示行数,即从1开始对所有输出的行数编号(空行也编号) |
-s 或者--squeeze-blank | 显示行数(多个空行算一个编号),即遇到有连续两行以上的空白行,就替换为一行的空白行 |
-b 或者--number-nonblank | 和-n 相似,只不过空白行不编号 |
-E 或者--show-ends | 在每行结束处显示$ 符号 |
-T 或者--show-tabs | 将TAB字符显示为 ^I 符号 |
-v 或者--show-nonprinting | 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外 |
-e | 等价于-vE 选项 |
-t | 等价于-vT 选项 |
-A 或者--show-all | 等价于 -vET 选项 |
--help | 显示帮助信息 |
--version | 显示版本信息 |
三、参考示例
(一)查看文件的内容,并显示行数编号
[root@htlwk0001host qpw]# cat -n test4.txt1 laiba 2 wode3 xinzhong
[root@htlwk0001host qpw]#
(二)把 test4.txt 的内容加上行号后输出到 test3.txt 这个文档里
[root@htlwk0001host qpw]# cat -n test4.txt > test3.txt
[root@htlwk0001host qpw]# cat test3.txt1 laiba 2 wode3 xinzhong
[root@htlwk0001host qpw]#
注:如果文档 test3.txt
内有内容会被覆盖掉,追加可以使用追加重定向输出符 >>
。
(三)清空 test4.txt 的内容
[root@htlwk0001host qpw]# cat /dev/null > test4.txt
(四)往文件写入内容,碰到 EOF 符后结束并保存(如果文件内有内容会被覆盖掉)
[root@htlwk0001host qpw]# cat > test4.txt <<EOF
> laiba
> hello
> EOF
[root@htlwk0001host qpw]#
(五)把 test1.txt 和 test2.txt 的内容先合并,再加上行号(空白行不加),然后输出到test3.txt 文档中
[root@htlwk0001host qpw]# cat -b test1.txt test2.txt >> test3.txt
[root@htlwk0001host qpw]# cat test3.txt1 liaowenxiong2 zhouxiaoyan
[root@htlwk0001host qpw]#
(六)显示CPU的信息
[root@htlwk0001host ~]# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 85
model name : Intel(R) Xeon(R) Platinum 8269CY CPU @ 2.50GHz
stepping : 7
microcode : 0x1
cpu MHz : 2500.000
cache size : 36608 KB
physical id : 0
siblings : 2
core id : 0
(七)显示 Linux 内核的版本
[root@htlwk0001host ~]# cat /proc/version
Linux version 4.18.0-193.6.3.el8_2.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 8.3.1 20191121 (Red Hat 8.3.1-5) (GCC)) #1 SMP Wed Jun 10 11:09:32 UTC 2020
(八)根据 PID 查看某个进程的详情
[root@htlwk0001host ~]# cat /proc/1060114/status
Name: mysqld
Umask: 0026
State: S (sleeping)
Tgid: 1060114
Ngid: 0
Pid: 1060114
PPid: 1
TracerPid: 0
Uid: 27 27 27 27
Gid: 27 27 27 27
FDSize: 128
Groups: 27
NStgid: 1060114
NSpid: 1060114
NSpgid: 1060113
NSsid: 1060113
VmPeak: 1604620 kB
VmSize: 1604620 kB
VmLck: 0 kB
VmPin: 0 kB
VmHWM: 183668 kB
VmRSS: 183632 kB
RssAnon: 166396 kB
RssFile: 17236 kB
RssShmem: 0 kB
VmData: 549388 kB
VmStk: 132 kB
VmExe: 25480 kB
VmLib: 7596 kB
VmPTE: 696 kB
VmSwap: 0 kB
HugetlbPages: 0 kB
CoreDumping: 0
Threads: 48
SigQ: 0/14419
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000084007
SigIgn: 0000000000003000
SigCgt: 00000001800006e8
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
CapBnd: 0000003fffffffff
CapAmb: 0000000000000000
NoNewPrivs: 0
Seccomp: 0
Speculation_Store_Bypass: vulnerable
Cpus_allowed: 3
Cpus_allowed_list: 0-1
Mems_allowed: 00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000001
Mems_allowed_list: 0
voluntary_ctxt_switches: 94
nonvoluntary_ctxt_switches: 194
(九)cat 命令和截止符
cat <<EOF>>~/.zshrc
export ZSH="/Users/lpc/.oh-my-zsh"
DEFAULT_USER="$USER"
ZSH_THEME="bira"
source $ZSH/oh-my-zsh.sh
EOF
说明:<<EOF
和 EOF
是配对,你在命令行输入 cat <<EOF>>~/.zshrc
,按下回车,就会提示你继续输入内容,直到你输入 EOF
才结束,并执行命令 cat
。命令 cat
本来会将 <<EOF
和 EOF
之间的内容输出到标准输出,但是上面使用了追加重定向输出符 >>
,后面跟着文件路径,表示 cat
会将 <<EOF
和 EOF
之间的内容输出到文件 ~/.zshrc
中。和第四个示例是一样的。