从命令行管理文件(二)

1.数据流和重定向

1.2数据流

        标准输入 (standard input,简称stdin):默认情况下,标准输入指从键盘获取的输入

        标准输出(standard output,简称stdout): 默认情况下,命令执行所回传正确的信息会输出到屏幕上

        标准错误输出(standard error output,简称stderr): 默认情况下,标准错误输出可理解为命令执行失败后,所回传的错误信息会输出到屏幕上

        不管正确或错误的数据都是默认输出到屏幕上,所以屏幕是混乱的。所以就需要用数据流重定向将这两条数据分开。数据流重定向可以将标准输出和标准错误输出分别传送到其他的文件或设备去,而分别传送所用的特殊字符如下所示:
        标准输入 (stdin):代码为0              0代表输入(键盘)
        标准输出 (stdout):代码为1           1代表输出(屏幕)
        标准错误输出(stderr) : 代码为2    2代表错误(输出错误提示)

[root@server q1]# ll     /dev      显示系统中该命令的存放位置

1.2重定向操作符

        重定向操作符可以将命令输入和输出数据流从默认设备重定向到其他位置。、

        重定向操作符本身不是命令,而是命令中附加的可改变命令的输入和输出对象的特殊符号.

1.2.2符号

        输出重定向操作符: >     >>

                “>”默认是覆盖,覆盖原有内容 “>>”默认是追加,在原有内之后添加内容
        输入重定向操作符:<      <<

                “<” 输入重定向

                "<<"表示输入的终止符用哪一种,一般在<<后直接加输入终止符        

                        [root@server q1]# cat > t1.txt << aaa
                        自我理解:以看的形式给t1.txt输入内容,当遇到aaa时输入终止

三种文件存储方式:echo  "hello word" > t1.txt

                                cat > file3 << end

                                cat > t5.txt

1.2.3用法

        命令 >文件 或 命令 1>文件 : 将命令执行后的结果不在默认的屏幕上显示,而是以覆盖的方式写入到指定立件中,若指定的文件不存在,则自动创建该文件
        命令 2>文件 :将命令执行后所产生的错误信息不在默认的屏幕上显示,而是以覆盖的方式写入到指定文件中,若指定的文件不存在,则自动创建该文件
        命令 2>/dev/nu11 : 将命令执行后所产生的错误信息不在默认的屏幕上显示,而是写入到空设备命令文件(黑洞)中(相当于Vin的回收站),即将输出的错误信息丢弃掉
        命令&>文件 命令>&文件 : 将命令执行后的正确输出信息和错误信息不在默认的屏幕上显示,而是以罗盖的方式写入到指定文件中,若指定的文件不存在,则自动创建该文件
        命令 >>文件 : 将命令执行后的正确输出信息以追加的方式写入到指定的文件中,不覆盖原文件内容,若指定的文件不存在,则自动创建该文件
        命令 <文件 : 使命令从指定的文件中读取数据作为输入   

        命令 <<结束标识字符串 :  在命令行读取数据作为输入,直到遇到指定的结束标识字符串

输出重定向具体命令用法:

>符号的用法,覆盖

>> 符号的用法,追加 

注意:若命令echo输入错误,则会导致文件内容的丢失。例:

因此>覆盖也可以删除文件

将错误提示,输入到文件夹中:>之前加数字2

[root@server q1]# ehco "xixihaha" 2> ni.txt

将正确和错误的信息都转储到文件中

[root@server q1]# echo "xixihaha" &> ni.txt

隐藏脚本执行的过度信息:

[root@server q1]# yum makecache > n1.txt缺点:n1.txt文件会越执行越大

因此优化     [root@server q1]#  yum makecache > /dev/null    该命令为不显示也不储存

使脚本后台静默安装,安装过程不保存

合并文件:[root@server q1]# cat t1.txt t2.txt >t3.txt

输入重定向具体命令用法:

符号:<     <<

将字符串test输入重定向到文件file中      [root@server q1]# echo test > file

"<<"表示输入的终止符用哪一种,一般在<<后直接加输入终止符

        以看的形式给file3输入内容,当遇到end时输入终止

[root@server q1]# cat > file3 << end

以看的形式给t1.txt输入内容,当遇到aaa时输入终止

第二种输入法:[root@server q1]# cat > t5.txt

该输入发较难使用,最后结束要组合按键Ctrl + D  删除输入错的同行字母时要用组合按键

Ctrl  + Backspace

以上命令都只能更改/删除同一行,不能更改/删除上一行

1.3  echo

1.3.1.作用

向终端设备上输出字符串或变量的存储数据(像屏幕终端输出)

1.3.2.格式

echo    "字符串"

 注意:单引号' $PATH'是原样输出"$PATH"含义是保留部分字符含义

echo    $变量名($提取变量的值)


2.tee

3.1 作用

读取标准输入数据,将结果输出到文件中同时输出到屏幕上

3.2 格式

tee -参数 文件名

3.3 参数

-a:加数据,即--apped。

-i:忽略终端信号·

--help:帮助信息

3.4 用法: 

[root@server ~]# tee test.txt用法与[root@server q1]# cat > t.testxt相似

4.管道符

4.1.作用

用于两个命令或多个命令相连接,将左侧命令的结果作为右侧命令的数据输入

4.2.格式

命令1  命令2 命令3 .....

4.3使用:

查看passwd这个文件有多少行,

[root@server q1]# cat /etc/passwd | wc -l    将左侧查看的数据交给右侧来处理

过滤出 ip a 命令中的ip地址,即图中红框中的内容

grep   关键字    意义:按照右边的关键字对文本进行过滤

tr  -s     替换

[root@server q1]# ip a | grep ens160 | grep inet | tr -s " " | cut -d " "  -f3

5.vm/vim文本编辑器的使用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/82784.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ui自动化测试上传文件方法都在这里了

前言 实施UI自动化测试的时候&#xff0c;经常会遇见上传文件的操作&#xff0c;那么对于上传文件你知道几种方法呢&#xff1f;今天我们就总结一下几种常用的上传文件的方法&#xff0c;并分析一下每个方法的优点和缺点以及哪种方法效率&#xff0c;稳定性更高 被测HTML代码…

【计算机基础】Git系列2:配置多个SSH

&#x1f4e2;&#xff1a;如果你也对机器人、人工智能感兴趣&#xff0c;看来我们志同道合✨ &#x1f4e2;&#xff1a;不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 &#x1f4e2;&#xff1a;文章若有幸对你有帮助&#xff0c;可点赞 &#x1f44d;…

大数据课程L7——网站流量项目的操作步骤

文章作者邮箱&#xff1a;yugongshiyesina.cn 地址&#xff1a;广东惠州 ▲ 本章节目的 ⚪ 了解网站流量项目的Spark与HBase整合&#xff1b; ⚪ 掌握网站流量项目的实时流业务处理&#xff1b; 一、 Spark 与 HBase 整合基础 1. 实现步骤&#xff1a; 1. 启动…

各个国家商品条形码

什么是商品条码&#xff1f; 我们常说的条形码其实就是商品条码&#xff0c;它是由一组规则排列的条、空及其对应代码组成&#xff0c;表示商品代码的条码符号&#xff0c;主要用于零售商品、储运包装商品、物流单元、参与方位置等的代码与条码标识。通俗来讲&#xff0c;商品…

Antmonsido(AMS)早期预售(IDO)如何参与?

Antmonsido是Kucoin两年前开始孵化的项目&#xff0c;第一款全链游戏已经开发完成&#xff0c;项目的NFT已经上过币安&#xff0c;前两周刚完成180万美元融资&#xff0c;投资机构也都很强势&#xff0c;IDO注册人数超过三万&#xff0c;海外热度超高&#xff0c;19号上GATE&am…

Java Semaphore使用例子和流程

目录 Semaphore例子代码和输出semaphore.acquire();semaphore.release(); Semaphore semaphore : 英[ˈseməfɔː(r)] 美[ˈseməfɔːr] n. 旗语; 信号标; v. 打旗语; (用其他类似的信号系统)发信号; [例句]Semaphore was widely used at sea, before the advent of electr…

交换机上的PoE技术

交换机的PoE代表Power over Ethernet&#xff08;以太网供电&#xff09;&#xff0c;它是一种技术&#xff0c;允许通过以太网电缆传输数据的同时为连接的设备提供电力供应。 传统上&#xff0c;网络设备&#xff08;如IP电话、无线接入点、网络摄像机等&#xff09;通常需要…

stu01-IDEA怎么创建一个HTML项目

1.打开idea&#xff0c;依次点击file→new→project 2.点击Java&#xff0c;选择你的jdk&#xff0c;没有下载的点击“Download JDK”/已经下载有JDK但在这里没显示的→点击“Add JDK”&#xff0c;选择你安装的JDK的路径&#xff0c;然后next 3.next 4.起好名字&#xff0c;我…

每日一题~二叉树的最近公共祖先

题目连接&#xff1a;236. 二叉树的最近公共祖先 - 力扣&#xff08;LeetCode&#xff09; 题目描述&#xff1a; 思路分析&#xff1a; 由题可知&#xff0c;我们需要找到 p 和 q 两个二叉树的最近公共祖先节点&#xff0c;首先我们分析一下&#xff0c;这个最近公共祖先节点…

【适用于电力系统和音频系统】计算信号的总谐波失真 (THD)(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

【力扣-每日一题】2560. 打家劫舍 IV

class Solution { public:bool check(vector<int> &nums,int max_num,int k){//只需要计算可以偷的房间。在满足最大值为max_num下时&#xff0c;能偷的最多的房间&#xff0c;与k值比较//如果大于K&#xff0c;说明max_num还可以缩小//如果小于看&#xff0c;说明ma…

Docker 应用部署

Docker 应用部署 一、部署MySQL 搜索MySQL镜像 拉取MySQL镜像 docker pull mysql:8.0创建容器&#xff0c;设置端口映射&#xff0c;目录映射 # 在root/home/mysql目录下创建MySQL目录用于存储MySQL数据信息 mkdir /root/home/mysql cd /root/home/mysql创建并运行 # 330…

Java中StringBuilder常见的操作方法

文章目录 1.创建字符串2.追加字符串3.替换字符串4.删除字符串5.插入字符串6.字符串反转7.其他操作 在 Java 中字符串不属于基本数据类型&#xff0c;而是对象。Java 提供了 String 类来创建和操作字符串&#xff0c;但String 类是不可变类&#xff0c;一旦一个 String 对象被创…

分类预测 | MATLAB实现WOA-CNN-LSTM-Attention数据分类预测

分类预测 | MATLAB实现WOA-CNN-LSTM-Attention数据分类预测 目录 分类预测 | MATLAB实现WOA-CNN-LSTM-Attention数据分类预测分类效果基本描述模型描述程序设计参考资料 分类效果 基本描述 1.MATLAB实现WOA-CNN-LSTM-Attention数据分类预测&#xff0c;运行环境Matlab2021b及以…

电脑更换硬盘的时候怎么迁移系统?

为什么需要迁移系统&#xff1f; 在一些关于电脑DIY或Windows相关的论坛社区中&#xff0c;有很多人发帖询问怎么迁移系统。那么这个系统迁移&#xff0c;究竟是何含义呢&#xff1f;通俗易懂地解释一下&#xff0c;就是创建一个完整无缺的操作系统复制品&#xff0c;它与系…

Android StateFlow初探

Android StateFlow初探 前言&#xff1a; 最近在学习StateFlow&#xff0c;感觉很好用&#xff0c;也很神奇&#xff0c;于是记录了一下. 1.简介&#xff1a; StateFlow 是一个状态容器式可观察数据流&#xff0c;可以向其收集器发出当前状态更新和新状态更新。还可通过其 …

【Android知识笔记】FrameWork中的设计模式

一、FrameWork中有哪些设计巧妙之处 例如: Binder调用,模糊进程边界: 屏蔽跨进程IPC通信的细节,让开发者把精力放在业务上面,无需关心进程之间的通信。Bitmap大图传输,高性能: 只传递Binder句柄,到目标进程后做内存映射,不用做大量数据拷贝,速度非常快。Zygote创建进…

Python基础数据结构入门必读指南

更多资料获取 作者主页&#xff1a;涛哥聊Python 个人网站&#xff1a;涛哥聊Python 大家好&#xff0c;我是涛哥&#xff0c;今天为大家分享的是Python中常见的数据结构。 1.数组 含义&#xff1a;数组是一种有序的数据结构&#xff0c;其中的元素可以按照索引来访问。数组…

谷粒商城篇章6 ---- P193-P210 ---- 异步线程池商品详情【分布式高级篇三】

目录 1. 异步 1.1 初始化线程的 4 种方式 1.1.1 继承 Thread 1.1.2 实现 Runnable 接口 1.1.3 实现 Callable 接口 FutureTask 1.1.4 线程池 1.1.5 以上 4 种方式总结&#xff1a; 1.2 线程池详解 1.2.1 初始化线程池的 2 种方式 1.2.1.1 使用 Executors 创建 1.2…

嵌入式养成计划-29-网络编程----TCP与UDP的基础模型

Linux下&#xff0c;基于TCP与UDP协议&#xff0c;不同进程下单线程通信服务器 Linux下&#xff0c;基于TCP与UDP协议&#xff0c;不同进程下单线程通信服务器 六十五、TCP与UDP的基础模型 1. socket 1.1 套接字概念 最早的套接字和共享内存&#xff0c;消息队列&#xff…