Linux 认识与学习Bash——3

news2024/9/29 23:27:56

在Linux bash中,数据流重定向是指将命令的输出从默认的标准输出(通常是终端)重定向到其他位置,如文件或另一个命令的输入。这是通过使用特定的符号来实现的。例如,>用于将输出重定向到文件,而<用于将文件内容作为命令的输入。

数据流重定向:

  •    : 将标准输出重定向到文件。
  •    : 将文件内容作为标准输入。
  • >>   : 将标准输出追加到文件末尾。

 cal > hello #将hello这个文件清空,然后再把命令产生的内容写入文件

 cal >>hello #再hello这个文件内容后面追加输出的内容。

cal 2>hello  #只能重定向错误的结果,即2>前面的命令是错误的

&>  #不管是正确的还是错误的都重定向过来

  • cal 2>>hosts 1>&2    #将正确的命令输出像错误的命令输出一样导入到hosts 文件中。
  • aaaaa >>hosts 2>&1 #将错误的命令输出像正确的命令输出一样导入到hosts 文件中。

当然可以!这里有一些Linux命令的具体示例,以及命令执行的判断依据:

  1. 命令执行的判断依据:

    • &&: 如果前一个命令执行成功(返回值为0),则执行下一个命令。
      mkdir new_directory && cd new_directory
      
    • ||: 如果前一个命令执行失败(返回值非0),则执行下一个命令。
      cd non_existent_directory || echo "Directory does not exist."
      
  2. 管道命令 (|):

    • ls命令的输出作为grep命令的输入,搜索包含"txt"的文件名。
      ls -l | grep "txt"
      
  3. 选取命令:

    • 使用cut命令按列切分文本,选取第一列。
      cut -d':' -f1 /etc/passwd
      
    • 使用grep搜索特定文本,并输出匹配行。
      grep "root" /etc/passwd
      
  4. 排序命令:

    • 使用sort对文件内容进行排序。
      sort names.txt
      
    • 使用wc统计文件的行数。
      wc -l document.txt
      
    • 使用uniq过滤重复行。
      sort names.txt | uniq
      
  5. 双向重定向 (tee):

    • 使用tee命令将ls的输出同时写入文件和显示在标准输出。
      ls -l | tee file_list.txt
      
  6. 字符转换命令:

    • 使用tr命令替换或删除字符。
      echo "hello world" | tr 'a-z' 'A-Z'
      
    • 使用join将两个文件中的行连接在一起。
      join file1.txt file2.txt
      
    • 使用paste水平合并文件。
      paste file1.txt file2.txt
      
    • 使用expand将制表符转换为空格。
      expand -t 4 file.txt
      
  7. 切割命令 (split):

    • 使用split将大文件分割成小文件。
      split -b 10k bigfile.txt
      
  8. 参数代换 (xargs):

    • 使用xargs将输入转换为命令行参数。
      echo "file1.txt file2.txt" | xargs cat
      
  9. 关于减号 - 的用途:

    • -在命令中用作标准输入或输出的占位符。
      cat - > newfile.txt
      

希望这些示例能帮助您更好地理解和使用Linux命令。如果您有任何疑问或需要进一步的帮助,请随时告诉我!🐧

示例:

# 数据流重定向示例: 将ls命令的输出重定向到文件list.txt
ls > list.txt

# 管道命令示例: 使用grep搜索含有"root"的行
cat /etc/passwd | grep "root"

# 选取命令示例: 使用cut命令选取第一列
cut -d':' -f1 /etc/passwd

# 排序命令示例: 对文件内容进行排序
sort list.txt

# 双向重定向示例: 使用tee同时输出到文件和屏幕
echo "Hello" | tee output.txt

# 字符转换命令示例: 使用tr将小写字母转换为大写
echo "hello" | tr 'a-z' 'A-Z'

# 切割命令示例: 将文件分割成每个大小为10K的多个文件
split -b 10K largefile.txt smallfile

# 参数代换示例: 使用xargs删除找到的文件
find . -name "*.bak" -type f | xargs rm -f

# 减号用途示例: 使用减号表示标准输入
tar -cvf - directory | gzip > directory.tar.gz

输出重定向

重定向正确的结果
 

$? 返回的是上一条命令执行后的返回值,执行成功返回的是0,图中这条命令执行失败,返回的是127

一行执行多个命令用分号隔开

命令1 ;命令2      #先执行命令1后执行命令2  ,命令之间没有其它影响

命令1 && 命令2   # ,如果命令1为真,命令2必须执行。如果命令1为假,命令2不执行

 命令1 | 命令2    # 命令1的结果,变成命令2 执行的参数

 

这里是您提供的Linux命令的具体示例的解释:

  1. last | cut -d ' ' -f1:这个命令组合使用last命令列出最近的登录会话,然后通过管道传递给cut命令。cut命令使用空格作为分隔符(-d ' '),并且只选择每行的第一个字段(-f1),通常是用户名。

  2. last | cut -d 'Jul' -f1:这个命令组合同样开始于last命令,但在这里cut使用Jul作为分隔符。这可能用于分割包含月份Jul的行,但请注意,如果Jul不是一个常见的分隔符,这个命令可能不会按预期工作。

  3. grep aaa file:这个命令使用grep在指定的文件中搜索包含字符串aaa的所有行,并将它们输出到标准输出。

  4. grep -i tom file --color:这个命令使用grep在文件中搜索不区分大小写的字符串tom-i选项表示忽略大小写),并且使用--color选项高亮显示匹配的文本。

这些命令示例展示了Linux命令行工具的强大功能,可以用于各种文本处理任务。

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

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

相关文章

使用 AI Assistant for Observability 和组织的运行手册增强 SRE 故障排除

作者&#xff1a;Almudena Sanz Oliv, Katrin Freihofner, Tom Grabowski 通过本指南&#xff0c;你的 SRE 团队可以实现增强的警报修复和事件管理。 可观测性 AI 助手可帮助用户使用自然语言界面探索和分析可观测性数据&#xff0c;利用自动函数调用来请求、分析和可视化数据…

【35分钟掌握金融风控策略18】贷前风控策略详解-3

目录 ​编辑 贷前风控数据源 第三方数据 贷前风控数据源 第三方数据 在金融风控过程中&#xff0c;金融机构通常会引入一些第三方的风控数据&#xff08;或第三方金融技术&#xff09;来辅助识别贷款个人或贷款企业的风险状况&#xff0c;帮助金融机构进行风控决策&#x…

MySQL·表的内外连接

目录 表的内连和外连 内连接 案例1&#xff1a;显示SMITH的名字和部门名 外连接 左外连接 案例2&#xff1a; 查询所有学生的成绩&#xff0c;如果这个学生没有成绩&#xff0c;也要将学生的个人信息显示出来 右外连接 案例3&#xff1a;对stu表和exam表联合查询&#…

【话题】你用过最好用的AI工具有那些

大家好&#xff0c;我是全栈小5&#xff0c;欢迎阅读小5的系列文章&#xff0c;这是《话题》系列文章 目录 背景一、C知道二、CSDN工具集三、AI工具的普及与受欢迎程度四、AI工具的实际应用与影响五、总结与展望文章推荐 背景 探讨人们在使用AI工具时&#xff0c;最喜欢的和认…

栈和队列初级题目(包含四个题)

目录 一、原题链接&#xff1a; 二、有效的括号&#xff1a; ​编辑代码实现&#xff1a; 三、用队列实现栈&#xff1a; 四、用栈实现队列&#xff1a; 五、设计循环队列&#xff1a; 六、读书分享&#xff1a; 一、原题链接&#xff1a; 20. 有效的括号 225. 用队列实…

Linux 进程信号【信号产生】

&#x1f493;博主CSDN主页:麻辣韭菜&#x1f493;   ⏩专栏分类&#xff1a;Linux知识分享⏪   &#x1f69a;代码仓库:Linux代码练习&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学习更多Linux知识   &#x1f51d; 目录 前言 信号概念 1. 生活角度的信号 2…

线性代数的一些理解(更新中)

以前学的时候都是囫囵吞枣&#xff0c;能搞过就得了。现在有了点时间可以静下来看看。。 还是分成点来看吧。 1 小车运行 一个车匀速在一维坐标前行&#xff0c;速度是2米每秒&#xff0c;起始点是0。如何描述 设 &#x1d465;(&#x1d461;) 表示车辆在时间 &#x1d461…

为什么要进行金融类软件测试

金融类软件测试是确保金融软件质量、安全性和稳定性的关键步骤。随着金融行业信息化和数字化的深入发展&#xff0c;金融软件的应用范围日益广泛&#xff0c;涉及资金交易、客户信息管理、风险控制等多个方面。 因此&#xff0c;进行金融类软件测试显得尤为重要&#xff0c;以…

力扣HOT100 - 155. 最小栈

解题思路&#xff1a; 辅助栈 class MinStack {private Stack<Integer> stack;private Stack<Integer> min_stack;public MinStack() {stack new Stack<>();min_stack new Stack<>();}public void push(int val) {stack.push(val);if (min_stack.i…

24数维杯ABC题思路已更新!!!!

24数维杯A题保姆级思路&#xff0b;配套代码&#xff0b;后续参考论文 简单麦麦https://www.jdmm.cc/file/2710639/ 24数维杯B题保姆级思路&#xff0b;可执行代码&#xff0b;后续参考论文 简单麦麦https://www.jdmm.cc/file/2710640/ 24数维杯C题保姆级思路&#xff0b;可执…

[AutoSar]BSW_Com021单帧 首帧 流控帧 连续帧 详解

目录 关键词平台说明一、N_PDU和N_PCI二、单帧三、首帧四、流控帧五、连续帧六、case 关键词 嵌入式、C语言、autosar、OS、BSW、UDS、diagnostic 平台说明 项目ValueOSautosar OSautosar厂商vector &#xff0c; EB芯片厂商TI 英飞凌编程语言C&#xff0c;C编译器HighTec (…

2024全新小狐狸AI免授权源码

源码安装说明&#xff1a; 下 载 地 址 &#xff1a; runruncode.com/php/19757.html 1. 在宝塔新建一个站点&#xff0c;选择 PHP 版本为 7.2、7.3 或 7.4。将压缩包上传到站点的根目录&#xff0c;并设置运行目录为 /public。 2. 导入数据库文件&#xff0c;该文件位于 …

【JVM】从三种认知角度重识JVM

目录 JVM概述 JVM主要功能 虚拟机是Java平台无关的保障 JVM概述 JVM&#xff1a;Java Virtual Machine,也就是Java虚拟机。 虚拟机&#xff1a;通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的计算机系统&#xff08;物理上不存在&#xff09;。 JVM通…

求一个B站屏蔽竖屏视频的脚本

求一个B站屏蔽竖屏视频的脚本 现在B站竖屏竖屏越来越多了&#xff0c;手机还好点给我一个按钮&#xff0c;选择不喜欢&#xff0c;但是我一般都用网页版看视屏&#xff0c;网页版不给我选择不喜欢的按钮&#xff0c;目测大概1/4到1/3的视频都是竖屏视频。 目前网页版唯一的进…

【数据库】数据库指令

一。数据库打开 1.命令行 2.进入mysql mysql -uroot -p密码 3.退出 exit&#xff1b; 二。针对数据库的操作 1.创建数据库&#xff08;有分号&#xff09; create database student; 2.使用数据库 use student 3.删除数据库&#xff08;有分号&#xff09; drop database…

回归预测 | Matlab实现SMA-GPR黏菌算法优化高斯过程回归多变量回归预测

回归预测 | Matlab实现SMA-GPR黏菌算法优化高斯过程回归多变量回归预测 目录 回归预测 | Matlab实现SMA-GPR黏菌算法优化高斯过程回归多变量回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 Matlab实现SMA-GPR黏菌算法优化高斯过程回归多变量回归预测 1.Matlab实现…

【Redis】用户登录校验

对于用 redis 对用户进行登录校验&#xff0c;大致可分为以下六步&#xff1a; 首先通过查询数据库来查找具有提供的用户名、密码和delFlag值为0的用户。如果未找到用户&#xff0c;则抛出一个带有消息"用户不存在"的ClientException&#xff08;用户不存在&#xf…

能远程一起观看电影和直播的SyncTV

什么是 SyncTV &#xff1f; SyncTV 是一个允许您远程一起观看电影和直播的程序。它提供了同步观看、剧院和代理功能。使用 SyncTV&#xff0c;您可以与朋友和家人一起观看视频和直播&#xff0c;无论他们在哪里。SyncTV 的同步观看功能确保所有观看视频的人都在同一点上。这意…

Java刷题-基础篇

目录 题目1&#xff1a;打印1~100内奇数和、偶数和 题目2&#xff1a;计算5的阶乘 题目3&#xff1a;计算 1!2!3!4!5! 的和 题目4&#xff1a;找1~100之间即能被3整除&#xff0c;又能被5整除的数字&#xff0c;要求必须使用break/continue 题目5&#xff1a;实现猜数字小…

陪玩系统APP小程序H5音视频社交系统陪玩系统源码,陪玩app源码,陪玩源码搭建陪玩社交系统开发(现成,可定制)线下陪玩系统项目开发搭建

线下陪玩系统项目的设计 在需求分析完成后&#xff0c;接下来进行系统设计。系统设计主要包括以下几个部分&#xff1a; 1. 数据库设计&#xff1a;根据需求分析的结果&#xff0c;设计数据库结构&#xff0c;包括用户信息表、服务信息表、订单信息表等。 2. 界面设计&#…