Linux命令学习(1) cat命令详解
cat命令主要是用来查看文件内容的。
cat主要有三大功能:
1.一次显示整个文件。
$ cat filename
2.从键盘创建一个文件。
$ cat > filename
只能创建新文件,不能编辑已有文件.
3.将几个文件合并为一个文件。
$cat file1 file2 > file
cat具体命令格式为 : cat [-AbeEnstTuv][–help] [–version] fileName
说明:把文件串连接后传到基本输出(屏幕或加 > fileName 到另一个文件,也可以是使用符号“>>”追加到另外一个文件中。)
使用方式:
[root@study ~]# cat [-AbEnTv]
选项与参数:
-A :相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
-E :将结尾的断行字符 $ 显示出来;
-n :打印出行号,连同空白行也会有行号,与 -b 的选项不同;
-T :将 [tab] 按键以 ^I 显示出来;
-v :列出一些看不出来的特殊字符
例子:
#范例1
~$ cat /etc/issue
Ubuntu 16.04.1 LTS \n \l
#范例2
~$ cat -n /etc/issue #加上行号
1 Ubuntu 16.04.1 LTS \n \l
2
# 如果不想要编排空白行的行号,可以使用“cat -b /etc/issue”
# 范例3 将/etc/hosts 的内容完整的显示出来(包含特殊字符)
~$ cat -A /etc/hosts
127.0.0.1 localhost localhost.localdomain VM-129-165-ubuntu$
127.0.1.1^ITENCENT$
$
# The following lines are desirable for IPv6 capable hosts$
::1 localhost ip6-localhost ip6-loopback$
ff02::1 ip6-allnodes$
ff02::2 ip6-allrouters$
# 使用 [tab] 与空白键的效果差不多,都是一堆空白啊!我们无法知道两者的差别。
# 此时使用 cat -A 就能够发现那些空白的地方是啥鬼东西了![tab]会以 ^I 表示,
# 断行字符则是以 $ 表示,所以你可以发现每一行后面都是 $ 啊!不过断行字符
# 在Windows/Linux则不太相同,Windows的断行字符是 ^M$ 啰。
接下来,简单描述一下几种常见的使用方式及其作用:
接下来,简单描述一下几种常见的使用方式及其作用:
1、cat<<EOF,以EOF输入字符为标准输入结束:
2、cat>filename,创建文件,并把标准输入输出到filename文件中,以ctrl+d作为输入结束:
注意:输入时是没有’>'的。
3、cat>filename<<EOF,以EOF作为输入结束,和ctrl+d的作用一样。
cat 和EOF结合使用的例子
~# cat << EOF > test.sh
> #!/bin/bash #“shell脚本”
> #you Shell script writes here.
> EOF
结果:
# cat test.sh
#!/bin/bash
#you Shell script writes here.
可以看到,test.sh的内容就是cat生成的内容。
cat <<EOF >test.sh 内容 EOF
就是将内容写入test.sh,之前存在的内容会被覆盖掉。EOF可以换成其他符号比如EEE:cat <<EEE >test.sh 内容 EEE。 也就是说,那个EOF就是指定了一个输入结束的标识。
其他写法:
1、追加文件
# cat << EOF >> test.sh 内容 EOF
—将内容追加到 test.sh 的后面,不会覆盖掉原有的内容
2、换一种写法
# cat > test.sh << EOF 内容 EOF
3、EOF只是标识,不是固定的
# cat << HHH > iii.txt
> sdlkfjksl
> sdkjflk
> HHH
#这里的“HHH”就代替了“EOF”的功能。结果是相同的。
# cat iii.txt
> sdlkfjksl
> sdkjflk
4、非脚本中
如果不是在脚本中,我们可以用Ctrl-D输出EOF的标识
# cat > iii.txt
skldjfklj
kljlk
Ctrl-D
结果:
引用# cat iii.txt
skldjfklj
kljlk
更多推荐
所有评论(0)