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基础命令,网上一搜一箩筐,想学也有很多教程,如果你不幸看到此篇文章,想看就认真看完,毕竟你点进来了不是嘛? 我每次写的文章都是为了分享自己的学习成果或重要知识点,希望能帮助更多的人 ...
随机推荐
- Scalaz(49)- scalaz-stream: 深入了解-Sink/Channel
一个完整的scalaz-stream有以下几个部分组成:Source -> Transducer -> Sink,用直白文字来描述就是:“输入 -> 传换 -> 输出”.我们已 ...
- Hibernate(五)__hql语句
hql(hibernate query language)功能强大. 首先回忆下之前我们接触的对数据对象的操作: ①删除session.delete(对象) ②保存session.save(对象) ...
- mysq基础一(字段类型)
本文转自 “旋木的技术博客” 博客,http://mrxiong.blog.51cto.com/287318/1651098 一.数值类型 Mysql支持所有标准SQL中的数值类型,其中包括严格数据类 ...
- 使用Sublime Text作为Markdown编辑器
Sublime Text 3作为一个优秀的文本编辑器,拥有很多的扩展插件.我们可以利用这些插件为Sublime Text 增加扩展的功能,在这里我们借助两个插件来将Sublime Text 3变成一个 ...
- C#如何定制Excel界面并实现与数据库交互
Excel是微软办公套装软件的一个重要的组成部分,它可以进行各种数据的处理.统计分析和辅助决策操作,广泛地应用于管理.统计财经.金融等众多领域.(另外,Excel还是伦敦一所会展中心的名称)..NET ...
- sizzle源码分析 (2)ID 类 tag querySelectorAll 快速匹配
不是所有的选择器都需要去分词,生成相应的匹配函数,这样流程比较复杂,当浏览器具备原生的方法去匹配元素是,没有理由不优先匹配,下面看看进入Sizzle后,它是怎么优先匹配这些元素的: function ...
- JavaScript学习笔记-正则表达式(语法篇)
正则表达式的模式规则是由一个字符系列组成的,包括所有字母和数字在内;大多数的字符(所有字母和数字)都是按字符的直接量来描述带匹配的字符;一些具有特殊语义的字符按照其特殊语义来进行匹配,有些字符需要通过 ...
- Jquery属性获取——attr()与prop()
今天在项目中使用<select></select>下拉菜单时,使用juery操作,使页面加载完菜单默认选中的值为2,我一开始的操作如下: <!--html部分--> ...
- [web安全]Web应用漏洞攻击分析与防范
网站攻击主要分为以下几类: (1) sql注入攻击 SQL Injection:就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.它是利 ...
- Sharepoint学习笔记—习题系列--70-576习题解析 -(Q13-Q15)
Question 13 You are designing a SharePoint 2010 site. You need to design the site to meet all the fo ...