Linux :: 文件内容操作【5】:echo 指令 与 输入重定向、输出重定向、追加重定向在文件内容写入中的简单用法!

前言:本篇是 Linux 基本操作篇章的内容!
笔者使用的环境是基于腾讯云服务器:CentOS 7.6 64bit。


学习集:


说明:此处结合 「echo 指令」 提前引入 「重定向」「管道」 的简单用法,深入的 「重定向」「管道」 的底层原理会在后续篇章《基础 I / O》部分讲解!


注:请记住:Linux下一切皆文件!【包括但不限于:显示器、键盘等】


目录索引:
1. echo 基本语法、功能及基本用法
2. 什么是重定向及重定项类型和作用
- - 2.1 什么是重定向
- - 2.2 重定向类型及作用
3. 输出重定向的基本使用示例及测试
4. 追加重定向的基本使用示例及测试
5. 输入重定向的基本使用示例及测试
- - 5.1 输入重定向的基本使用与说明
- - 5.2 输入重定向的简单玩法:简易实现备份文件数据
6. 相关文章或系列推荐


1. 基本语法及功能

基本语法:

  • echo “[串]”:【即:指令 + 字符串】

功能:

  • 将字符串输出到标准输出设备(即:显示器)!

基本用法如下:

[Mortal@VM-12-16-centos ~]$ echo "hello echo"
hello echo
[Mortal@VM-12-16-centos ~]$ echo "hello world"
hello world
[Mortal@VM-12-16-centos ~]$ echo 'a'
a
[Mortal@VM-12-16-centos ~]$ echo 'abc'
abc

2. 什么是重定向及重定项类型和作用

2.1 什么是重定向

(注:此处针对我们的近期学习内容对重定向进行概括!)
「重定向」:就是将原本数据输出的默认位置修改输出到指定输出位置(如:文件中!)


2.2 重定向类型和作用

重定向类型 作用(与文件内容操作联系)
输出重定向「>」 从文件开始,覆盖是写入
追加重定向「>>」 从文件结尾,追加式写入
输入重定向「<」 将文件内容读取并输出到标准输出设备

说明:

  1. 输出 / 追加重定向时,若有文件则直接访问,若无文件则创建文件再访问!
  2. 输出 / 追加重定向可结合 echo 指令实现文件的内容写入!
  3. 输出 / 追加重定向:都是在执行写入操作!
  4. 输入重定向可以结合 cat 指令实现文件内容的读取与打印!【即:将本来应该从标准输入设备中读取数据转向在文件中读取数】

3. 输出重定向的基本使用示例及测试

输出重定向「>」:从文件开始,覆盖是写入。

创建测试目录及文件

[Mortal@VM-12-16-centos ~]$ mkdir test
[Mortal@VM-12-16-centos ~]$ cd test
[Mortal@VM-12-16-centos test]$ ls
[Mortal@VM-12-16-centos test]$ touch a.txt
[Mortal@VM-12-16-centos test]$ ls
a.txt

基本写入测试(1):文件存在并结合 echo 写入信息!

[Mortal@VM-12-16-centos test]$ echo "输出重定向测试!" > a.txt
[Mortal@VM-12-16-centos test]$ cat a.txt 
输出重定向测试\n

基本写入测试(2):文件不存在结合 echo 写入信息!

[Mortal@VM-12-16-centos test]$ ls
a.txt
[Mortal@VM-12-16-centos test]$ echo "测试无文件输出重定向测试!" > b.txt
[Mortal@VM-12-16-centos test]$ ls
a.txt  b.txt
[Mortal@VM-12-16-centos test]$ cat b.txt 
测试无文件输出重定向测试!

基本写入测试(3):输出重定向特性:从文件开始,覆盖是写入

[Mortal@VM-12-16-centos test]$ cat a.txt 
输出重定向测试!\n
[Mortal@VM-12-16-centos test]$ echo "输出重定向:覆盖式写入测试" > a.txt
[Mortal@VM-12-16-centos test]$ ls
a.txt  b.txt
[Mortal@VM-12-16-centos test]$ cat a.txt 
输出重定向:覆盖式写入测试

4. 追加重定向的基本使用示例及测试

追加重定向「>>」:从文件结尾,追加式写入。

[Mortal@VM-12-16-centos test]$ cat a.txt 
输出重定向:覆盖式写入测试
[Mortal@VM-12-16-centos test]$ echo "a" >> a.txt 
[Mortal@VM-12-16-centos test]$ echo "b" >> a.txt 
[Mortal@VM-12-16-centos test]$ cat a.txt 
输出重定向:覆盖式写入测试
a
b

5. 输入重定向的基本使用示例及测试

5.1 输入重定向的基本使用与说明

cat 的补充用法回顾:从标准输入读取内容并输出【在前面内容已讲!】

  • 输入重定向「<」:将文件内容读取并输出到标准输出设备!
[Mortal@VM-12-16-centos test]$ cat a.txt
输出重定向:覆盖式写入测试
a
b
[Mortal@VM-12-16-centos test]$ cat < a.txt 
输出重定向:覆盖式写入测试
a
b

如上情形:cat 本来就可以读取打印文件内容!为什么我们还要用输入重定向的方式去读取输出文件信息?


说明:实际在此引入的中心在于:输入重定向的简单用法,理解输入来源“设备”的改变。后续在《基础 I / O 》部分会在深入说明重定向的用法!


5.2 输入重定向的简单玩法:简易实现备份文件数据

结合前文已知:输出重定向可以向文件中写入数据!那此处我们用输入输出重定向实现简单文件备份!

[Mortal@VM-12-16-centos test]$ cat a.txt 
输出重定向:覆盖式写入测试
a
b
[Mortal@VM-12-16-centos test]$ cat < a.txt > aa.txt
[Mortal@VM-12-16-centos test]$ ls
aa.txt  a.txt  b.txt
[Mortal@VM-12-16-centos test]$ rm a.txt 
[Mortal@VM-12-16-centos test]$ cat aa.txt 
输出重定向:覆盖式写入测试
a
b

另:目前按顺序学习过来,我们已经开始涉及到文件内容的写入问题,就已介绍的指令中有两种写入方式:

  1. 使用 nano 编辑文本内容!
  2. 使用本文中的提及的 echo / cat 结合重定向将数据内容。

相对而言,目前的操作不是很遍历:故 关于 vim 编辑器使用文章已在更新中:
1. Linux :: 【简单开发篇 :: vim 编辑器:(1)】:: vim 编辑器的基本认识与三种 vim 常用模式 | 使用:打开编辑、退出保存关闭vim
2. Linux :: 【简单开发篇 :: vim 编辑器:(2)】:: 普通/命令模式下的最常用操作(1):详解:文本复制/粘贴/剪切/删除 与 撤销普通操作及撤销撤销操作
3. Linux :: 【简单开发篇 :: vim 编辑器:(3)】:: 普通/命令模式下的最常用操作(2):详解:光标移动定位内容,行间:快速定位至文本:开头 / 结尾;行内:词间跳跃

6. 相关文章或系列推荐

1. Linux 学习目录合集


2. Linux :: 【基础指令篇 :: 文件内容操作:(1)】:: nano 指令 :: 使用自带文件编辑器及简单演示Linux下gcc编译执行可执行程序(仅作了解:会用来创建文件即可)【基本不会用到】
3. Linux :: 【基础指令篇 :: 文件内容操作:(2)】:: cat / tac 指令 :: 正序 / 逆序 查看目标文件的全部内容 及 cat 的补充用法:从标准输入读取内容并输出
4.Linux :: 【基础指令篇 :: 文件内容操作:(3)】:: more / less 指令 :: 查看目标文件的部分或全部内容 | 指定查看前 n 行内容【二者相比推荐使用 less 】


猜你喜欢

转载自blog.csdn.net/weixin_53202576/article/details/131054504