Linux基础命令之cat使⽤⽅法⼤全
今天在学习部署安装openstack的时候,看到⼀个关于cat的奇怪⽤法,可能是本⼈的才疏学浅没见过这种写法,于是乎查阅资料了⼀番,并进⾏了总结,希望也能够帮助有需要的朋友。
以下是我总结的⼏种常⽤⽅式:
1. 最普通⽤法
cat /proc/version
Linux version 2.6.32-5-686 (Debian 2.6.32-38)
等价于:
cat < /proc/version
cat /proc/version -n      // 显⽰⾏号
2. 从键盘创建⼀个⽂件
(1)先看个简单的:
root@localhost:~# cat        // 直接输⼊cat命令回车
hello
hello
world
world
ctrl + D        // 结束输⼊
解释:cat命令从标准输⼊中读取数据并打印到标准输出, 因此屏幕上看到的2次信息
(2)再看⼀个扩展的:
root@localhost:~# cat >
hello
world
ctrl + D  // 相当于EOF的符号
root@localhost:~#   // 查看⽂件
hello                          // 将从键盘输⼊的数据保存在了中
world
解释:cat命令从标准输⼊读取数据,并未打印到标准输出,⽽是通过>重定向到⽂件,达到了从键盘创建⽂件的效果扩展:>符号会将原来⽂件覆盖(如果存在) 如果想要追加键盘输⼊的内容, 需要将">" -> ">>"即可
3. 合并多个⽂件内容
linux重定向root@localhost:~# ls
root@localhost:~#
root@localhost:~#
hello
root@localhost:~#
world
root@localhost:~# >         // 合并2个⽂件, 多个⽂件也是⼀样的  root@localhost:~#
hello
world
注:同理可以合并多个⽂件
4. Here⽂档
(1) 打印到屏幕
root@localhost:~# cat <<EOF
> This is here doc.
> Only used to display.
> The third line.
> EOF
This is here doc.
Only used to display.
The third line.
解释:这种⽅式是将EOF标识符中间的内容输出的标准输出.
(2) 输出到⽂件(>>可以追加)
root@localhost:~# cat <<EOF >
> This is here doc.
> Only used to display.
> The third line.
> EOF
/* 查看 ⽂件 */
root@localhost:~#
This is here doc.
Only used to display.
The third line.
解释:"EOF"只是个标识符号, 没有特殊意义, 替换为其它都⾏.
5. 与管道符"|"符合的结合使⽤
(1) 先看个⽰例
root@localhost:~# passwd
Enter new UNIX password: 123456789  // 实际操作中输⼊密码是不显⽰的
Retype new UNIX password: 123456789
passwd: password updated successfully
解释:这⾥需要分2次输⼊要设置的密码
(2) 使⽤cat <<EOF可以在⽅便实现(最重要的是可以在脚本中实现修改密码)
root@localhost:~# cat <<EOF | passwd
> 123456    // 输⼊的第⼀次密码
> 123456    // 输⼊的第⼆次密码
> EOF
Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully 解释:其它需要动态输⼊数据的脚本同理可操作.

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