从命令行管理文件(二)

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,一经查实,立即删除!

相关文章

阿里云acp云计算认证考试科目有哪些?

阿里云ACP云计算认证考试科目包括以下内容&#xff1a; 阿里云云计算基础知识&#xff1a;包括云计算的定义、特点、服务模式、部署模式、虚拟化技术等相关知识。阿里云产品&#xff1a;包括阿里云ECS、RDS、SLB、OSS、DNS等核心产品的架构、使用方法、优化技巧等相关知识。云…

2023年华为杯数学建模研赛D题思路解析+代码+论文

下文包含&#xff1a;2023华为杯研究生数学建模竞赛&#xff08;研赛&#xff09;D题思路解析代码参考论文等及如何准备数学建模竞赛&#xff08;22号比赛开始后逐步更新&#xff09; C君将会第一时间发布选题建议、所有题目的思路解析、相关代码、参考文献、参考论文等多项资…

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;…

qml布局管理器介绍与代码演示

Qt Quick中的布局管理器与Qt Widgets中的相似,它与定位器的不同之处在于:布局管理器会自动调整子Item的尺寸来适应界面大小的变化。 GridLayout qml中比较复杂的是GridLayout,在使用时,需要包含QtQuick.Layouts。 RowLayout和 ColumnLayout实际上可以看作是GridLayout的…

大数据课程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…

MyEclipse报错javax/persistence/EntityManagerFactory

MyEclipse报错&#xff1a; Build path is incomplete. Cannot find class file for javax/persistence/EntityManagerFactory 解决方案&#xff1a; 引入依赖 <dependency><groupId>javax.persistence</groupId> <artifactId>persistence-api</a…

基于Matlab实现图像目标边界描述

图像目标边界描述是图像处理中的一个重要问题。边界描述可以用于目标检测和识别、图像分割等应用。Matlab提供了强大的图像处理工具箱&#xff0c;可以方便地实现图像目标边界描述。本文介绍一种基于边缘检测的图像目标边界描述方法&#xff0c;并提供一个简单的案例源码。 文章…

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…

行为型模式-策略模式和责任链模式对比

一、区别&#xff1a; 目的和问题解决方式&#xff1a; 策略模式的主要目的是将一组算法或行为封装成独立的策略对象&#xff0c;并使客户端能够在运行时选择其中一个策略来执行。这种模式通常用于实现相同操作的不同算法或策略之间的切换和替换。责任链模式的主要目的是将请求…

交换机上的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及以…