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 > file.txt
hello
world
ctrl + D // 相当于EOF的符号
root@localhost:~# cat file.txt // 查看file.txt文件
hello // 将从键盘输入的数据保存在了file.txt中
world
解释:cat命令从标准输入读取数据,并未打印到标准输出,而是通过>重定向到文件file.txt,达到了从键盘创建文件的效果
扩展:>符号会将原来文件覆盖(如果存在) 如果想要追加键盘输入的内容, 需要将">" -> ">>"即可
3. 合并多个文件内容
root@localhost:~# ls
root@localhost:~# file1.txt file2.txt
root@localhost:~# cat file1.txt
hello
root@localhost:~# cat file2.txt
world
root@localhost:~# cat file1.txt file2.txt > file3.txt // 合并2个文件, 多个文件也是一样的
root@localhost:~# cat file3.txt
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 > output.txt
> This is here doc.
> Only used to display.
> The third line.
> EOF
/* 查看 output.txt 文件 */
root@localhost:~# cat output.txt
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
解释:其它需要动态输入数据的脚本同理可操作.
Linux基础命令之cat使用方法大全的更多相关文章
- [转帖]linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习)
linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习) https://www.cnblogs.com/caozy/p/9261224.html 总结的挺好的 ...
- linux常用命令大全(linux基础命令+命令备忘录+面试复习)
linux常用命令大全(linux基础命令+命令备忘录+面试复习)-----https://www.cnblogs.com/caozy/p/9261224.html
- 第四节,Linux基础命令
第四节,Linux基础命令 命令是系统操作员对系统传入的指令,传入指令后回车,系统接收到指令做出相应的行为 1.查看用户位于系统什么位置 [pmd]检查操作用户位于系统的什么位置 命令 ...
- 【Python之路】第一篇--Linux基础命令
pwd 命令 查看”当前工作目录“的完整路径 pwd -P # 显示出实际路径,而非使用连接(link)路径:pwd显示的是连接路径 . 表示当前目录 .. 表示上级目录 / 表示根目录 ls ...
- linux基础命令一
linux基础命令一 1.date命令 date命令介绍:显示或者设置系统日期 date命令的语法: 显示日期:date [options...] [+FORMAT] FORMAT:为显示日期的格 ...
- linux基础命令:
linux基础命令: 显示 echo 输出我写的内容 ls 查看当前目录的文件 pwd 查看当前目录 ifconfig 查看网卡信息 grep 过滤 -v 取反 -n man 查看命令的帮助信息 md ...
- 常用的linux基础命令
常用的linux基础命令 1.ls 显示目录属性 -l:(也可以简写成ll),列表显示权限等属性 -a:显示所有文件包括隐藏文件等 -d:只列出目录本身 2.chgrp 改变档案所属群组 eg:chg ...
- Linux基础命令-文件与目录
Linux基础命令-文件与目录 参考:<鸟哥linux私房菜>五-七章,17/12/5复习,18/01/15复习 文件权限 rwx421:用户,用户组,其他 umask查看默认权限:000 ...
- Linux基础命令回顾
前言 说到linux基础命令,网上一搜一箩筐,想学也有很多教程,如果你不幸看到此篇文章,想看就认真看完,毕竟你点进来了不是嘛? 我每次写的文章都是为了分享自己的学习成果或重要知识点,希望能帮助更多的人 ...
随机推荐
- HTTP狀態碼
1xx消息 这一类型的状态码,代表请求已被接受,需要继续处理.这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束.由于HTTP/1.0协议中没有定义任何1xx状态码,所以除非在某些试 ...
- Quartz.NET开源作业调度框架系列(三):IJobExecutionContext 参数传递
前面写了关于Quartz.NET开源作业调度框架的入门和Cron Trigger , 这次继续这个系列, 这次想讨论一下Quartz.NET中的Job如何通过执行上下文(Execution Conte ...
- HubSpot – 网站开发必备的 jQuery 信息提示库
HubSpot 一款功能丰富的 jQuery 消息提示插件.它可以帮助你个性化显示您的应用程序的事务性消息.您可以轻松地包裹 Ajax 请求进度,成功和错误消息,还可以添加操作链接到您的消息中. Hu ...
- js获取页面中图片的总数
查看效果:http://keleyi.com/keleyi/phtml/image/9.htm 下面是完整代码: <html><body><div id="ke ...
- iOS:JSON格式字符串转字典,字典转JSON格式字符串
在iOS开发中,和服务器交互中,经常用到字典和JSON格式字符串相互转换. 代码如下: 1.JSON格式字符串转字典 + (NSDictionary *)dictionaryWithJsonStrin ...
- VSS 请求程序和 SharePoint 2013
Windows Server 中的 VSS 可用于创建可备份和还原 Microsoft SharePoint Foundation 的应用程序.VSS 提供了一个基础结构,使第三方存储管理程序.业务程 ...
- 2016春招Android开发实习生(网易传媒)笔试
一.单选题 1.下列不属于网络层协议的为 TCP IP IPX ICMP 2.关于activity的状态恢复,错误的是 onSaveInstanceState中,activity会自动收集恢复view ...
- TexturePacker大图还原成小图工具带源码
TexturePacker是一个把好多小图打成大图的软件,生成的是大图以及小图在大图位置的.plist描述文件,但是不支持把大图还原成小图.网上偷的图一般都是大图和plist,想得到小图比较麻烦,于是 ...
- GCD应用及其他方法
1.GCD应用 单例模式 static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ ...
- Swift开发第九篇——Any和AnyObject&typealias和泛型接口
本篇分为两部分: 一.Swift中的Any和AnyObject 二.Swift中的typealias和泛型接口 一.Swift中的Any和AnyObject 在 Swift 中,AnyObject 可 ...