Arahan kucing selalunya digunakan untuk memaparkan kandungan fail atau untuk menyambung beberapa fail untuk paparan, atau membaca daripada input standard Dapatkan kandungan dan paparkannya. Ia sering digunakan bersama dengan simbol ubah hala. kucing ialah singkatan daripada Concatenate.
Linux mempunyai tiga fail khas, masing-masing
-Input standard ialah STDIN, dalam /dev/stdin
Secara amnya merujuk kepada input papan kekunci, nombor kod dalam shell ialah 0
-Output standard STDOUT, dalam /dev/stdout
Secara amnya merujuk kepada terminal, iaitu monitor Nama kod dalam shell ialah 1
- Ralat standard STDERR, dalam /dev/stderr
juga merujuk kepada terminal, perbezaannya ialah mesej ralat dihantar ke sini
Nama kod dalam shell ialah 2
语法:cat [选项] [文件]
短选项 | 长选项 | 涵义 |
---|---|---|
-A | --show-all | 等于-vET |
-b | --number-nonblank | 对非空输出行编号 |
-e | 等于-vE | |
-E | --show-ends | 在每行结束处显示"$" |
-n | --number | 对输出的所有行编号 |
-s | --squeeze-blank | 不输出多行空行 |
-t | 与-vT 等价 | |
-T | --show-tabs | 将跳格字符显示为^I |
-v | --show-nonprinting | 使用^ 和M- 引用,除了LFD和 TAB 之外 |
输出文件内容 显示文件FILE的内容 cat FILE 显示文件FILE的内容加上行号,需要加上参数-n。行号从1开始。使用-n参数时,所有空行也会显示行号 cat -n FILE 忽略掉空行,用-b cat -b FILE 当遇到有连续两行以上的空白行,就代换为一行的空白行,可以使用-s参数 cat -s FILE 保存内容 将标准输入保存到文件FILE中,如果文件已经存在,则覆盖掉原来的 cat >FILE 将标准输入追加到文件FILE末尾 cat >>FILE 合并文件 将两个文件FILE1和FILE2的内容合并为一个文件FILE cat FILE1 FILE2 >FILE
contoh penggunaan kucing
从标准输入创建文件 [root@web setup]# code>cat >1.txt Hello Bash Linux 键盘(快捷键)Ctrl+D 保存文件 [root@web setup]# ls -l 1.txt -rw-r--r-- 1 root root 17 11-02 21:32 1.txt [root@web setup]# cat 1.txt 显示1.txt文本内容。标准输出 Hello Bash Linux [root@web setup]# cat <1.txt Hello Bash Linux [root@web setup]# 使用heredoc来生成文件 注意:粗体部分、here doc可以进行字符串替换 [root@web setup]# cat >2.txt <<EOF > Hello > Bash > Linux > PWD=$(pwd) > EOF [root@web setup]# ls -l 2.txt -rw-r--r-- 1 root root 33 11-02 21:35 2.txt [root@web setup]# cat 2.txt Hello Bash Linux PWD=/root/setup [root@web setup]# 输出行号 [root@web setup]# cat -n 1.txt 1 Hello 2 Bash 3 Linux [root@web setup]# nl 1.txt 1 Hello 2 Bash 3 Linux [root@web setup]# 在bash脚本中把文件内容加载到变量中 [root@web ~]# TEXT=$(cat .bash_profile) [root@web ~]# [root@web ~]# echo "$TEXT" # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH unset USERNAME [root@web ~]#
dokumen heredoc
Dalam skrip shell linux kita sering melihat sesuatu yang serupa dengan cat << ; Pernyataan EOF mungkin kelihatan pelik kepada mereka yang tidak biasa dengannya: EOF nampaknya menjadi penghujung fail, apakah peranan yang dimainkannya di sini? EOF ialah "akhir fail", menunjukkan penghujung aksara teks.
<<
EOF
- EOF tidak mempunyai makna istimewa di sini, anda boleh menggunakan FOE atau OOO, dsb. (sudah tentu ada tiada sekatan dalam tiga aksara atau aksara besar).
- Anda boleh menggantikan EOF dengan sesuatu yang lain, yang bermaksud menghantar kandungan kepada proses sebagai input standard
- Dengan menggabungkan kedua-dua pengecam ini, anda boleh mengelak daripada menggunakan perintah gema berbilang baris dan melaksanakan. Hasil keluaran berbilang talian.
Seterusnya, terangkan secara ringkas beberapa kaedah penggunaan biasa dan fungsinya:
- cat <
- cat >nama fail, mencipta fail dan mengeluarkan input standard kepada fail nama fail, menggunakan ctrl+d sebagai input.
- cat >nama fail <
# cat >test.sh <#!/bin/bash > #you Shell script writes here. > EOF Kaedah penulisan lain
1. Tambah fail
#cat <<EOF >>test.sh
2 >
#cat >>test.sh <<EOF
3. EOF hanyalah tanda, bukan tetap. "HHH" di sini menggantikan fungsi "EOF". Hasilnya adalah sama.sdkfjkl
> sdlkfjkslcat <<HHH >iii.txt
>.sdlfj
> Jika tiada dalam skrip, kita boleh menggunakan Ctrl+D untuk mengeluarkan logo EOF
#
skldjfkljkljkljklj
kljlkcat >iii.txt
Ctrl+D
Cadangan berkaitan: "
Tutorial Video Linux
"