当前位置: 首页 > news >正文

Linux 认识与学习Bash——3

在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命令行工具的强大功能,可以用于各种文本处理任务。

相关文章:

Linux 认识与学习Bash——3

在Linux bash中&#xff0c;数据流重定向是指将命令的输出从默认的标准输出&#xff08;通常是终端&#xff09;重定向到其他位置&#xff0c;如文件或另一个命令的输入。这是通过使用特定的符号来实现的。例如&#xff0c;>用于将输出重定向到文件&#xff0c;而<用于将…...

匠心精神与创新力量:构筑网络安全的新防线

一、匠心精神在网络安全中的重要性 匠心精神代表着对工作的专注和对质量的极致追求。在网络安全领域&#xff0c;这意味着对每一个安全漏洞的深入挖掘&#xff0c;对每一项安全技术的精心打磨。亿林网络李璐昆的提名&#xff0c;正是对其在网络安全领域匠心精神的认可。 二、…...

接口信息解析

目录 一、通讯流程 二、如何获取接口信息--抓包 1、抓包步骤: 2、抓包工具 接口文档:又称为API文档&#xff0c;是由后端开发编写&#xff0c;用来描述接口信息的文档 一、通讯流程 功能&#xff08;比如&#xff1a;登录&#xff09;请求&#xff08;请求路径、请求方式、…...

scikit-learn实现单因子线性回归模型

1.是什么&#xff1a; 针对机器学习提供了数据预处理&#xff0c;分类&#xff0c;回归等常见算法的框架 2.基于scikit-learn求解线性回归的问题&#xff1a; 2.1.求解a&#xff0c;b对新数据进行预测&#xff1a; 2.2评估模型表现&#xff08;y和y’的方差MSE&#xff09;…...

【笔记】Anaconda命令提示符(Anaconda Prompt)操作

通过anaconda配置python环境有时需要conda安装一些包或者文件&#xff0c;这里作为一个笔记记录如何打开Anaconda命令提示符&#xff08;Anaconda Prompt&#xff09;&#xff0c;并用conda操作 1.打开Anaconda命令提示符&#xff08;Anaconda Prompt&#xff09; 可直接在搜…...

Unity射击游戏开发教程:(12)使用后处理

后处理 后期处理是向您的游戏场景添加一个或多个滤镜,确实可以为您的游戏提供精美的外观。在本文中,我们将讨论如何在 Unity 中设置后处理系统,从那里您可以探索和试验 Unity 提供的所有过滤器。 首先,我们需要从包管理器添加后处理器堆栈。包管理器是 Unity 产品的集合,…...

python:机器学习特征优选

作者&#xff1a;CSDN _养乐多_ 在Python中进行机器学习特征选择的方法有很多种。以下是一些常用的方法&#xff1a; 过滤法&#xff08;Filter Methods&#xff09;&#xff1a;通过统计方法或者相关性分析来评估每个特征的重要性&#xff0c;然后选择最相关的特征。常用的…...

花一个月时间为 vue3 重制了 vue-styled-components

花一个月时间为 vue3 重制了 vue-styled-components 前言 styled-components 在 React 是一个超级热门的 css in js 工具库。其实 styled-components 也有 Vue 版本&#xff08;vue-styled-components&#xff09;&#xff0c;可惜的是只支持 Vue2&#xff0c;并且该项目已有…...

API接口调用|京东API接口|淘宝API接口

什么是电商API接口&#xff1a; 电商API接口是电商服务平台对外提供的一种接口服务&#xff0c;允许第三方开发者通过编程方式与电商系统进行数据交互和功能调用。 这些接口提供了一种标准化的方法来获取、更新或处理电商平台上的商品信息、订单状态、用户数据、支付信息、物流…...

pgsql和mysql比较

pgsql相对于mysql的优势主要体现在以下几个方面&#xff1a; 稳定性和可靠性&#xff1a;PostgreSQL的稳定性极强&#xff0c;即使在崩溃、断电等灾难场景下也能表现出很好的抗打击能力。相比之下&#xff0c;很多MySQL用户都遇到过Server级的数据库丢失的情况。此外&#xff…...

【太赫兹偏振保持亚波长波导链路功率预算分析】

在进行太赫兹&#xff08;Terahertz&#xff0c;THz&#xff09;偏振保持亚波长波导链路的功率预算分析时&#xff0c;我们需要考虑多个因素&#xff0c;包括波导的传输损耗、耦合损耗、偏振保持性能、以及可能存在的其他系统损耗。以下是一个基本的分析框架&#xff1a; 传输…...

json-server的安装和使用

json-server介绍 json-server是可以把本地当做服务器&#xff0c;然后axios向本地区发送请求&#xff0c;并且不会出现跨域的问题&#xff0c;若是等不及后端数据&#xff0c;可以用这个模拟假数据 json-server安装及使用 【json-server网址】https://www.npmjs.com/package/…...

Unity射击游戏开发教程:(10)创建主界面

主界面开发 玩游戏时,主菜单是事后才想到要做的。实际上几乎每个游戏都有一个主界面。如果你点击打开游戏并立即开始游戏,你会感到非常惊讶。本文将讨论如何创建带有启动新游戏的交互式按钮的主界面/主菜单。 主菜单将是一个全新的场景。我们将添加一个 UI 图像元素,并在图像…...

Microsoft 365 for Mac v16.84 office365全套办公软件

Microsoft 365 for Mac是一款功能丰富的办公软件套件&#xff0c;为Mac用户提供了丰富的功能和工具&#xff0c;提高了工作效率和协作能力。Microsoft 365 for Mac是一款专为Mac用户设计的订阅式办公软件套件&#xff0c;旨在提高生产力和效率。 Microsoft 365 for Mac v16.84正…...

交易复盘-20240507

仅用于记录当天的市场情况&#xff0c;用于统计交易策略的适用情况&#xff0c;以便程序回测 短线核心&#xff1a;不参与任何级别的调整&#xff0c;采用龙空龙模式 一支股票 10%的时候可以操作&#xff0c; 90%的时间适合空仓等待 蔚蓝生物 (5)|[9:25]|[36187万]|4.86 百合花…...

面试题: malloc与new的区别

malloc, free是C语言中的库函数&#xff0c; new, delete是C中的运算符new自动计算分配内存的大小&#xff0c;malloc需要手动计算分配内存的大小new返回对象类型的指针&#xff0c;malloc返回的是void*类型&#xff0c;需要显式类型转换new分配失败抛出异常&#xff0c;malloc…...

欧鹏RHCE 第五次作业

unit5.DNS域名解析服务的部署及优化方案 1. (问答题) 1.配置2台服务器要求如下&#xff1a; a&#xff09;服务器1&#xff1a; 主机名&#xff1a;dns-master.timinglee.org ip地址&#xff1a; 172.25.254.100 配置好软件仓库 b&#xff09;服务器2&#xff1a; 主机名&…...

数仓分层——ODS、DW、ADS

一、什么是数仓分层 数据仓库分层是一种组织和管理数据仓库的结构化方法&#xff0c;它将数据仓库划分为不同的层次或级别&#xff0c;每个层次具有特定的功能和目的。这种分层方法有助于管理数据仓库中的数据流程、数据处理和数据访问&#xff0c;并提供一种清晰的结构来支持…...

计算机视觉——OpenCV Otsu阈值法原理及实现

算法简介 Otsu阈值法&#xff0c;也被称为大津算法&#xff0c;是一种在图像处理中广泛使用的自动阈值分割技术。这种方法由日本学者大津展之于1979年提出&#xff0c;旨在根据图像的灰度直方图来自动选择最佳全局阈值。Otsu阈值法的核心思想是最小化类内方差或最大化类间方差…...

个人IP打造孵化运营产业链商业计划书

【干货资料持续更新&#xff0c;以防走丢】 个人IP打造孵化运营产业链商业计划书 部分资料预览 资料部分是网络整理&#xff0c;仅供学习参考。 PPT共90页&#xff08;完整资料包含以下内容&#xff09; 目录 个人IP运营方案&#xff1a; 1. 个人IP定位与构建 1.1 人格画像构…...

应用升级/灾备测试时使用guarantee 闪回点迅速回退

1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间&#xff0c; 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点&#xff0c;不需要开启数据库闪回。…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

pam_env.so模块配置解析

在PAM&#xff08;Pluggable Authentication Modules&#xff09;配置中&#xff0c; /etc/pam.d/su 文件相关配置含义如下&#xff1a; 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块&#xff0c;负责验证用户身份&am…...

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)

上一章用到了V2 的概念&#xff0c;其实 Fiori当中还有 V4&#xff0c;咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务)&#xff0c;代理中间件&#xff08;ui5-middleware-simpleproxy&#xff09;-CSDN博客…...

【7色560页】职场可视化逻辑图高级数据分析PPT模版

7种色调职场工作汇报PPT&#xff0c;橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版&#xff1a;职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...

MFC 抛体运动模拟:常见问题解决与界面美化

在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...

Go语言多线程问题

打印零与奇偶数&#xff08;leetcode 1116&#xff09; 方法1&#xff1a;使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...

关于uniapp展示PDF的解决方案

在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项&#xff1a; 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库&#xff1a; npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...

书籍“之“字形打印矩阵(8)0609

题目 给定一个矩阵matrix&#xff0c;按照"之"字形的方式打印这个矩阵&#xff0c;例如&#xff1a; 1 2 3 4 5 6 7 8 9 10 11 12 ”之“字形打印的结果为&#xff1a;1&#xff0c;…...

大数据治理的常见方式

大数据治理的常见方式 大数据治理是确保数据质量、安全性和可用性的系统性方法&#xff0c;以下是几种常见的治理方式&#xff1a; 1. 数据质量管理 核心方法&#xff1a; 数据校验&#xff1a;建立数据校验规则&#xff08;格式、范围、一致性等&#xff09;数据清洗&…...