第三章:重定向,管道符,环境变量

3.1 输入输出重定向

  1. 定义:输入重定向是指将文件导入命令中,输出重定向是指将原本显示到屏幕的信息输出问文件。相较于输入重定向,输出重定向使用的更多,下面重点介绍输出重定向

  2. 输出重定向用到的符号和作用如下所示

    符号 作用
    命令 > 文件 将标准输出重定向到一个文件中(同时清空文件中原有内容)
    命令 2> 文件 将错误输出重定向到一个文件中(同时清空文件中原有内容)
    命令 >> 文件 将标准输出重定向到一个文件中(在文件中原有内容后追加)
    命令 2>> 文件 将错误输出重定向到一个文件中(在文件中原有内容后追加)
    命令 &>> 文件 将标准和错误重定向到一个文件中(在文件中原有内容后追加)
  3. 示例

    1. # 在用户家目录下输入命令ls,并将输出到屏幕的内容写入到文件list中
      ls > list.txt

    2. # 错误重定向
      cd list.txt 2> cd list.txt

    3. # 标准输出重定向在文件中原有内容追加
      ls >> list.txt

3.2 管道符

  1. 命令格式:“命令1 | 命令2”

  2. 作用:把前一个命令原本要输入到屏幕的数据当作是后一个命令的标准输入

  3. 示例

    1. # 找出被限制登录的用户的数量
      grep "/sbin/nologin" /etc/passwd | wc -l

    2. # 翻页形式查看/etc目录下的列表
      ls -l /etc/ | more

    3. # 一句话完成密码重置操作
      echo "newpasswd" | passwd --stdin root

  4. 管道符不仅仅局限于两个命令的组合,可以有“命令1 | 命令2 | 命令3”

3.3 命令行通配符

  1. (*)表示匹配零个或多个字符,(?)表示匹配单个字符,中括号中添加字符([0-9] ,[a-z],[abc])表示匹配其中某个字符

  2. 以RHEL8中/dev目录做演示

    1. # 输出所有以tty开头的文件
      ls -l /dev/tty*

    2. # 输出结束符号在0-9范围的tty文件
      ls -l /dev/tty[0-9]

    3. # 输出只紧跟一个字符的tty文件
      ls -l /dev/tty?

3.4 常用的转义符

  1. 四个常用的转义符

    1. 反斜杠(\): 使得斜杠后面的一个变量变为单纯的字符串
    2. 单引号(''): 转义其中所有的变量为单纯的字符串
    3. 双引号(""): 保留其中的变量属性,不进行转义处理
    4. 反引号 (``): 把其中的命令执行后返回结果
  2. 示例:首先定义一个变量

    1. # 如果我们希望输出“Price is $5"
      # 使用转义符(\)
      echo "Price is \$$PRICE"

    2. # 如果需要某个命令的输出值,可以使用`命令`
      # 如,查看本机的Linux版本信息
      echo uname -a

3.5 重要的环境变量

  1. 环境变量定义:Linux变量名称一般都是大写的(约定俗成),我们可以通过变量名来提取对应的变量值

  2. 格式:"echo $变量名称"

  3. 常用的变量名称

    变量名称 作用
    HOME 用户的主目录
    SHELL 用户在使用的SHELL解释器名称
    MAIL 邮件的保存路径
    PATH 定义解释器搜索用户执行命令的路径
  4. 示例

Linux就该这么学:重定向,管道符,通配符,转义符,环境变量的更多相关文章

  1. Linux 就该这么学 CH03 管道符、重定向和环境变量

    0 概述 1 输入输出重定向 重定向技术有5种模式: 标准覆盖输出重定向 标准追加输出重定向 错误覆盖输出重定向 错误追加输出重定向 输入重定向 输入重定向是将文件导入到命令中. 输出重定向是将输入到 ...

  2. linux(4) vi编辑/删除、复制、粘贴 /bash shell 环境变量设置/数据流重定向 | 的用法

    一.vi文字处理器1.vi与vimvi:文字处理器vim:程序开发工具2.vi介绍三种模式:一般模式(vi刚进入的,不可编辑),编辑模式(按i后,左下方是insert)和命令行模式(按esc退出,:w ...

  3. Linux下安装tar.gz类型的jdk,并配置环境变量

    近期因要学习一门技术,必须在Linux下运行,故开始学习如何使用Linux. 在安装jdk时出现了困难,环境变量配置不成功,花了一天时间才搞定,特分享出来,供大家参考. Linux下安装jdk,步骤如 ...

  4. 在linux系统中通过fw_printenv查看和设置u-boot中的环境变量

    uboot下可以通过命令访问(printenv)和修改环境变量(setenv),但是如果需要在Linux系统下访问这些数据该怎么办呢?其实uboot早就帮我们想好了.  1.编译fw_printenv ...

  5. Linux目录终章,单用户模式修改密码、环境变量、第三方软件安装

    目录 今日内容概要 内容详细 解析映射文件 磁盘挂载文件 开机加载脚本 系统启动级别 使用单用户模式修改密码 变量加载文件 登录提示信息 第三方软件安装目录(编译安装目录) 系统日志目录 保存系统运行 ...

  6. Linux就该这么学——初识管道符

    初识管道命令符 管道命令符本质(就是一个“任意门”) 把前一个命令原本要输出到屏幕的标准正常数据当做是最后一个命令的标准输入 格式 : “命令A | 命令B | ...” 示例 : 1.找出被限制登录 ...

  7. linux中使用Crontab定时执行java的jar包无法使用环境变量的问题

    1.crontab简单使用 cmd 其实就是5个星星的事情,随便百度一下吧 5个时间标签用来标注执行的设定.比如每5分钟执行一次/5 * * * cmd 要特别注意 2.有些命令在命令行里执行很好,到 ...

  8. Linux | 通配符 & 转义符

    通配符 我们在查看文件的时候,可能会出现只记得开头几个字母的情况,并且相似名称的文件还非常多的情况.还有小编想要删除一些开头一样的文件,这种情况下都可以使用通配符号: # 查找vcs文件 ls /de ...

  9. 『忘了再学』Shell基础 — 23、其他环境变量配置文件

    目录 1.注销时生效的环境变量配置文件 2.其他配置文件 3.Shell登录信息相关文件 (1)/etc/issue文件说明 (2)/etc/issue.net文件说明 (3)/etc/motd文件说 ...

  10. Linux命令之env:显示当前用户的环境变量

    Linux系统里的env命令可以显示当前用户的环境变量,还可以用来在指定环境变量下执行其他命令.下面来比较一下set,env和export命令的异同:set命令显示当前shell的变量,包括当前用户的 ...

随机推荐

  1. js 使用socket-io发送文件

    更多 前端 import { Component, OnInit, ViewChild, ElementRef } from '@angular/core'; import { MediaDevice ...

  2. Datahero inc:区块链方案如何在现有食品溯源系统里实现落地?

    在食品行业,区块链溯源平台的应用,主要是指围绕"从农田到餐桌"的安全管理理念,综合运用区块链技术.大数据技术和二维码技术等前沿技术,具有产品生产企业管理. 产品生产档案 (农药/防 ...

  3. 前端监控SDK开发分享

    目录 前言 收集哪些数据 性能 错误 辅助信息 小结 客户端SDK(探针)相关原理和API Web 微信小程序 编写测试用例 单元测试 流程测试 提供Web环境的方式 Mock Web API的方式 ...

  4. redis的两种持久化的机制,你真的了解么?

    redis提供了两种持久化的机制 RDB和AOF机制 RDB(redis Database):RDB保存某一个时间点之前的快照数据. AOF(Append-Only File):指所有的命令行记录以r ...

  5. (十) 数据库查询处理之排序(sorting)

    1. 为什么我们需要对数据排序 可以支持对于重复元素的清除(支持DISTINCT) 可以支持GROUP BY 操作 对于关系运算中的一些运算能够得到高效的实现 2. 引入外部排序算法 对于不能全部放在 ...

  6. call、apply和bind的实现

    call方法 基础版, 只能修改指向,不能传参 Function.prototype.myCall = function(context) { // 获取调用者,这里为bar context.fn = ...

  7. 类关系与uml图示表示

    1. 关联(Association).聚合(Aggregation).组合(Composition)区别 association: 两者之间存在某种关联即可,很弱的关系,如student and co ...

  8. MVVM中的vm双向监听和mvc的缺点

    `MVVM`模型: - 即Model,模型,包括数据和一些基本操作 - 即View,视图,页面渲染结果- 即View-Model,模型与视图间的双向操作(无需开发人员干涉) `MVVM`中的`VM`要 ...

  9. 带你认识webpack

    一.webpack是什么 webpack是一种前端资源构建工具,一个静态模块打包器(module bundler).在webpack看来,前端的所有资源文件(js/json/css/img/less/ ...

  10. Redis集群简介及部署

    1简介 在 Redis 3.0 之前,使用 哨兵(sentinel)机制来监控各个节点之间的状态.Redis Cluster 是 Redis 的 分布式解决方案,在 3.0 版本正式推出,有效地解决了 ...