Linux就该这么学:重定向,管道符,通配符,转义符,环境变量
第三章:重定向,管道符,环境变量
3.1 输入输出重定向
定义:输入重定向是指将文件导入命令中,输出重定向是指将原本显示到屏幕的信息输出问文件。相较于输入重定向,输出重定向使用的更多,下面重点介绍输出重定向
输出重定向用到的符号和作用如下所示
符号 作用 命令 > 文件 将标准输出重定向到一个文件中(同时清空文件中原有内容) 命令 2> 文件 将错误输出重定向到一个文件中(同时清空文件中原有内容) 命令 >> 文件 将标准输出重定向到一个文件中(在文件中原有内容后追加) 命令 2>> 文件 将错误输出重定向到一个文件中(在文件中原有内容后追加) 命令 &>> 文件 将标准和错误重定向到一个文件中(在文件中原有内容后追加) 示例
# 在用户家目录下输入命令ls,并将输出到屏幕的内容写入到文件list中
ls > list.txt

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

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

3.2 管道符
命令格式:“命令1 | 命令2”
作用:把前一个命令原本要输入到屏幕的数据当作是后一个命令的标准输入
示例
# 找出被限制登录的用户的数量
grep "/sbin/nologin" /etc/passwd | wc -l

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

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

管道符不仅仅局限于两个命令的组合,可以有“命令1 | 命令2 | 命令3”
3.3 命令行通配符
(*)表示匹配零个或多个字符,(?)表示匹配单个字符,中括号中添加字符([0-9] ,[a-z],[abc])表示匹配其中某个字符
以RHEL8中/dev目录做演示
# 输出所有以tty开头的文件
ls -l /dev/tty*

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

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

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

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

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

3.5 重要的环境变量
环境变量定义:Linux变量名称一般都是大写的(约定俗成),我们可以通过变量名来提取对应的变量值
格式:"echo $变量名称"
常用的变量名称
变量名称 作用 HOME 用户的主目录 SHELL 用户在使用的SHELL解释器名称 MAIL 邮件的保存路径 PATH 定义解释器搜索用户执行命令的路径 示例

Linux就该这么学:重定向,管道符,通配符,转义符,环境变量的更多相关文章
- Linux 就该这么学 CH03 管道符、重定向和环境变量
0 概述 1 输入输出重定向 重定向技术有5种模式: 标准覆盖输出重定向 标准追加输出重定向 错误覆盖输出重定向 错误追加输出重定向 输入重定向 输入重定向是将文件导入到命令中. 输出重定向是将输入到 ...
- linux(4) vi编辑/删除、复制、粘贴 /bash shell 环境变量设置/数据流重定向 | 的用法
一.vi文字处理器1.vi与vimvi:文字处理器vim:程序开发工具2.vi介绍三种模式:一般模式(vi刚进入的,不可编辑),编辑模式(按i后,左下方是insert)和命令行模式(按esc退出,:w ...
- Linux下安装tar.gz类型的jdk,并配置环境变量
近期因要学习一门技术,必须在Linux下运行,故开始学习如何使用Linux. 在安装jdk时出现了困难,环境变量配置不成功,花了一天时间才搞定,特分享出来,供大家参考. Linux下安装jdk,步骤如 ...
- 在linux系统中通过fw_printenv查看和设置u-boot中的环境变量
uboot下可以通过命令访问(printenv)和修改环境变量(setenv),但是如果需要在Linux系统下访问这些数据该怎么办呢?其实uboot早就帮我们想好了. 1.编译fw_printenv ...
- Linux目录终章,单用户模式修改密码、环境变量、第三方软件安装
目录 今日内容概要 内容详细 解析映射文件 磁盘挂载文件 开机加载脚本 系统启动级别 使用单用户模式修改密码 变量加载文件 登录提示信息 第三方软件安装目录(编译安装目录) 系统日志目录 保存系统运行 ...
- Linux就该这么学——初识管道符
初识管道命令符 管道命令符本质(就是一个“任意门”) 把前一个命令原本要输出到屏幕的标准正常数据当做是最后一个命令的标准输入 格式 : “命令A | 命令B | ...” 示例 : 1.找出被限制登录 ...
- linux中使用Crontab定时执行java的jar包无法使用环境变量的问题
1.crontab简单使用 cmd 其实就是5个星星的事情,随便百度一下吧 5个时间标签用来标注执行的设定.比如每5分钟执行一次/5 * * * cmd 要特别注意 2.有些命令在命令行里执行很好,到 ...
- Linux | 通配符 & 转义符
通配符 我们在查看文件的时候,可能会出现只记得开头几个字母的情况,并且相似名称的文件还非常多的情况.还有小编想要删除一些开头一样的文件,这种情况下都可以使用通配符号: # 查找vcs文件 ls /de ...
- 『忘了再学』Shell基础 — 23、其他环境变量配置文件
目录 1.注销时生效的环境变量配置文件 2.其他配置文件 3.Shell登录信息相关文件 (1)/etc/issue文件说明 (2)/etc/issue.net文件说明 (3)/etc/motd文件说 ...
- Linux命令之env:显示当前用户的环境变量
Linux系统里的env命令可以显示当前用户的环境变量,还可以用来在指定环境变量下执行其他命令.下面来比较一下set,env和export命令的异同:set命令显示当前shell的变量,包括当前用户的 ...
随机推荐
- NGK每日快讯」2021.1.27日NGK公链第85期官方快讯!
- spring扩展点整理
本文转载自spring扩展点整理 背景 Spring的强大和灵活性不用再强调了.而灵活性就是通过一系列的扩展点来实现的,这些扩展点给应用程序提供了参与Spring容器创建的过程,好多定制化的东西都需要 ...
- ASP.NET Core WebApi版本控制
前言: 在日常项目开发中,随着项目需求不断的累加.不断的迭代:项目服务接口需要向下兼容历史版本:前些时候就因为Api接口为做版本管理导致接口对低版本兼容处理不友好. 最近就像了解下如何实现WebApi ...
- Linux-基础命令学习
Linux终端 Linux存在两种终端模拟器,一种类MAC的Gnome和一种类Win的KDE 远程连接工具: xshell,putty,crt(网工) 如果在Linux下输入tty 1 wang@DE ...
- OLAP分析
OLAP分析 1 视频教程 视频教程 如果对资源下载.分析操作有疑问,直接跟着视频做一遍即可. 2 数据集合说明 FoodMart,其为一家食品连锁店经营产生的数据存放的数据库,包括销售数据.库存数据 ...
- nacos服务注册之服务器端Distro
一致性协议算法Distro阿里自己的创的算法吧,网上能找到的资料很少.Distro用于处理ephemeral类型数据 Distro协议算法看代码大体流程是: nacos启动首先从其他远程节点同步全部数 ...
- C++入门(1):计算机组成
系列文章尽在 | 公众号:lunvey 学习C++之前,我们有必要了解一下计算机的简单组成,毕竟C++是需要操作内存的一门语言.大家或许知道内存是什么,但是内存怎么读取和操作数据以及数据的表现形式会不 ...
- 【秒懂音视频开发】02_Windows开发环境搭建
音视频开发库的选择 每个主流平台基本都有自己的音视频开发库(API),用以处理音视频数据,比如: iOS:AVFoundation.AudioUnit等 Android:MediaPlayer.Med ...
- 一文帮你搞懂 Android 文件描述符
介绍文件描述符的概念以及工作原理,并通过源码了解 Android 中常见的 FD 泄漏. 一.什么是文件描述符? 文件描述符是在 Linux 文件系统的被使用,由于Android基 于Linux 系统 ...
- 【Azure 服务总线】Azure Service Bus中私信(DLQ - Dead Letter Queue)如何快速清理
在博文ServiceBus 队列中死信(DLQ - Dead Letter Queue)问题一文中,介绍了服务总线产生私信的原因及可以通过代码的方式来清楚私信队列中的消息,避免长期占用空间(因为私信中 ...