linux⽤cat命令创建⼀个⽂件,⽤cat在命令⾏创建⽂件
我们常常使⽤cat命令来将某个⽂件的内容⼀⼝⽓打印出来查看,其实,cat命令还可以⽤来在命令⾏创建⽂件。
cat在命令⾏创建⽂件与vi不同,只能单⾏编辑,换⾏之后就不能再编辑前⾯的⾏;与echo编辑多⾏⽂件有点相似。
创建 test1.info ⽂件,按Ctrl+d退出:
[xinlin@localhost ~]$ cat > test1.info
this is test1.info
<
[xinlin@localhost ~]$ cat test1.info
this is test1.info
<
cat > file,将标准输⼊的内容写⼊file,所见即所得,Ctrl+d结束,适合交互式的创建⽂件。
可以使⽤另外⼀种很cool的⽅式来结束某个⽂件的编辑,即在cat命令中设置⼀个结束符,⼀般我们使⽤EOF。这就是我们常常见到的cat << EOF。
创建 test2.info ⽂件,使⽤EOF结束符:
[xinlin@localhost ~]$ cat > test2.info << EOF
> this is test2.info
>
> EOF
[xinlin@localhost ~]$ cat test2.info
this is test2.info
⽤这种⽅式⽐Ctrl+d⽅式要清晰⼀点。每次换⾏之后,能看到⼀个换⾏提⽰符(>)。
把<< EOF放在前⾯也可以:
[xinlin@localhost ~]$ cat << EOF > test3.info
> this is test3.info
>
> EOF
[xinlin@localhost ~]$ cat test3.info
this is test3.info
在EOF前后加引号也可以:
[xinlin@localhost ~]$cat > test4.info << 'EOF'
> this is test4.info
> no more hello
> HELLO in uppercase.
> EOF
[xinlin@localhost ~]$ cat test4.info test5.info
this is test4.info
no more hello
this is test5.info
HELLO in uppercase.
cat命令⾏⾥的引号,跟shell脚本中的引号不⼀样,只是引号⽽已,加不加都没关系,双引号也不能解析shell变量。
[xinlin@localhost ~]$cat > test6.info << "EOF${key}"
> this is test6.info
> hi..
> EOF9
> EOF${key}
[xinlin@localhost ~]$ cat test6.info
this is test6.info
hi..
EOF9
可见,输⼊EOF9并不能结束输⼊。
同时,我们发现,EOF这三个字母其实并不是必须的,EOF只是⼀个习惯⽤法,End Of File,Linux系统内⼀切都是⽂件。其实,我们可以使⽤任意⾃⼰喜欢的结束符字符串。
[xinlin@localhost ~]$ cat > test7.info << abcde
> this is test7.info
> hi again
> abc
> abcd
> abcde
[xinlin@localhost ~]$ cat > test8.info << k
> this is test8.info
> hi all
> a
> b
hi again
abc
abcd
this is test8.info
hi all
a
b
⼀个字母也可以作为结束符。
除了新建⽂件,还可以是对某个⽂件的追加写⼊:
[xinlin@localhost ~]$cat >> test8.info << EOF  # 使⽤>>,追加写⼊
> C
> D
> E
> EOF
[xinlin@localhost ~]$ cat test8.info
this is test8.info
hi all
a
b
C
D
E
注意:使⽤Ctrl+d的⽅式退出和使⽤<< eof的⽅式退出,编写的⽂件不太⼀样:[xinlin@ifos ~]$ cat > t.sh
echo '$-'
echo '$$'
echo "$-"
echo "$$"
[xinlin@ifos ~]$ cat t.sh
echo '$-'
echo '$$'
echo "$-"
echo "$$"
[xinlin@ifos ~]$ cat > t.sh << eof
> echo '$-'
> echo '$$'
> echo "$-"
> echo "$$"
> eof
[xinlin@ifos ~]$ cat t.sh
echo 'himBH'
echo '1638'
shell创建文件并写入内容echo "himBH"
echo "1638"
使⽤<< eof的⽅式退出,⽆论如何都会做变量替换,要注意这个细节;使⽤Ctrl+d的⽅式退出,所见即所得!
以上就是使⽤cat命令创建⽂件的总结。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。